adapt tests to python3 (#39533)
This commit is contained in:
parent
60d2884f8c
commit
351a1a6242
|
@ -33,6 +33,7 @@ import django_webtest
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
from django.core.files import File
|
from django.core.files import File
|
||||||
from django.http.request import HttpRequest, QueryDict
|
from django.http.request import HttpRequest, QueryDict
|
||||||
|
from django.utils.encoding import force_text
|
||||||
|
|
||||||
from atreal_openads.models import (
|
from atreal_openads.models import (
|
||||||
ForwardFile,
|
ForwardFile,
|
||||||
|
@ -115,11 +116,11 @@ def fake_conf():
|
||||||
'CONNECTOR_SLUG': 'atreal',
|
'CONNECTOR_SLUG': 'atreal',
|
||||||
'COLLECTIVITE': 79,
|
'COLLECTIVITE': 79,
|
||||||
'OPENADS_API_LOGIN': 'publik-passerelle',
|
'OPENADS_API_LOGIN': 'publik-passerelle',
|
||||||
'OPENADS_API_PASSWORD': base64.urlsafe_b64encode(os.urandom(20)),
|
'OPENADS_API_PASSWORD': force_text(base64.urlsafe_b64encode(os.urandom(20))),
|
||||||
'OPENADS_API_URL': 'http://openads.api/',
|
'OPENADS_API_URL': 'http://openads.api/',
|
||||||
|
|
||||||
'FAKE_COOKIE_CRSF': base64.urlsafe_b64encode(os.urandom(20)),
|
'FAKE_COOKIE_CRSF': force_text(base64.urlsafe_b64encode(os.urandom(20))),
|
||||||
'FAKE_NUMERO_DOSSIER': base64.urlsafe_b64encode(os.urandom(10)),
|
'FAKE_NUMERO_DOSSIER': force_text(base64.urlsafe_b64encode(os.urandom(10))),
|
||||||
|
|
||||||
'TESTS_DIR': os.path.dirname(__file__)
|
'TESTS_DIR': os.path.dirname(__file__)
|
||||||
}
|
}
|
||||||
|
@ -181,7 +182,7 @@ def forwardfile_1(fake_conf, db, atreal_openads, collectivite_1):
|
||||||
orig_filename=os.path.basename(fake_conf['TEST_FILE_CERFA_DIA']),
|
orig_filename=os.path.basename(fake_conf['TEST_FILE_CERFA_DIA']),
|
||||||
content_type='application/pdf',
|
content_type='application/pdf',
|
||||||
file_hash='ffdf456fdsvgb4bgfb6g4f5b',
|
file_hash='ffdf456fdsvgb4bgfb6g4f5b',
|
||||||
upload_file=File(open(fake_conf['TEST_FILE_CERFA_DIA'], 'r')),
|
upload_file=File(open(fake_conf['TEST_FILE_CERFA_DIA'], 'rb')),
|
||||||
upload_status='pending'
|
upload_status='pending'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -199,7 +200,7 @@ def forwardfile_2(fake_conf, connecteur=None, collectivite=None):
|
||||||
orig_filename=os.path.basename(fake_conf['TEST_FILE_CERFA_DIA']),
|
orig_filename=os.path.basename(fake_conf['TEST_FILE_CERFA_DIA']),
|
||||||
content_type='application/pdf',
|
content_type='application/pdf',
|
||||||
file_hash='ffdf456fdsvgb4bgfb6g4f5b',
|
file_hash='ffdf456fdsvgb4bgfb6g4f5b',
|
||||||
upload_file=File(open(fake_conf['TEST_FILE_CERFA_DIA'], 'r')),
|
upload_file=File(open(fake_conf['TEST_FILE_CERFA_DIA'], 'rb')),
|
||||||
upload_status='pending'
|
upload_status='pending'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ import datetime
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
import magic
|
import magic
|
||||||
import mock
|
import mock
|
||||||
|
@ -38,6 +39,7 @@ from django.http.response import JsonResponse
|
||||||
from django.core.files import File
|
from django.core.files import File
|
||||||
# from django.db.models.query import QuerySet
|
# from django.db.models.query import QuerySet
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
|
from django.utils.encoding import force_bytes, force_text
|
||||||
|
|
||||||
from passerelle.utils.jsonresponse import APIError
|
from passerelle.utils.jsonresponse import APIError
|
||||||
from passerelle.base.models import Job
|
from passerelle.base.models import Job
|
||||||
|
@ -54,6 +56,13 @@ from atreal_openads.models import (
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def force_encoded_string_output(text, default_enc='utf-8'):
|
||||||
|
"""Decorator function that return the result converted to str type."""
|
||||||
|
if sys.version_info.major < 3:
|
||||||
|
return text.encode(sys.stdout.encoding or default_enc)
|
||||||
|
return text
|
||||||
|
|
||||||
|
|
||||||
def build_forwardfile_from_path(connecteur, path, numero_dossier, type_fichier):
|
def build_forwardfile_from_path(connecteur, path, numero_dossier, type_fichier):
|
||||||
"""Convert a file path to a ForwardFile."""
|
"""Convert a file path to a ForwardFile."""
|
||||||
if path:
|
if path:
|
||||||
|
@ -65,9 +74,9 @@ def build_forwardfile_from_path(connecteur, path, numero_dossier, type_fichier):
|
||||||
fwd_file.type_fichier = type_fichier
|
fwd_file.type_fichier = type_fichier
|
||||||
fwd_file.orig_filename = os.path.basename(path)
|
fwd_file.orig_filename = os.path.basename(path)
|
||||||
fwd_file.content_type = magic.from_file(path, mime=True)
|
fwd_file.content_type = magic.from_file(path, mime=True)
|
||||||
with open(path, 'r') as file_pt:
|
with open(path, 'rb') as file_pt:
|
||||||
fwd_file.file_hash = get_file_digest(file_pt)
|
fwd_file.file_hash = get_file_digest(file_pt)
|
||||||
fwd_file.upload_file = File(open(path, 'r'))
|
fwd_file.upload_file = File(open(path, 'rb'))
|
||||||
fwd_file.upload_status = 'pending'
|
fwd_file.upload_status = 'pending'
|
||||||
return fwd_file
|
return fwd_file
|
||||||
return None
|
return None
|
||||||
|
@ -86,15 +95,15 @@ def test_forward_file(forwardfile_2, atreal_openads):
|
||||||
assert repr(forwardfile_2) == (
|
assert repr(forwardfile_2) == (
|
||||||
u'ForwardFile(id=%s,connecteur=%s,collectivite=%s'
|
u'ForwardFile(id=%s,connecteur=%s,collectivite=%s'
|
||||||
',demande=%s,dossier=%s,type=%s,filename=%s,status=%s)' % (
|
',demande=%s,dossier=%s,type=%s,filename=%s,status=%s)' % (
|
||||||
forwardfile_2.id, unicode(forwardfile_2.connecteur), None, # pylint: disable=no-member
|
forwardfile_2.id, force_text(forwardfile_2.connecteur), None, # pylint: disable=no-member
|
||||||
forwardfile_2.numero_demande, forwardfile_2.numero_dossier,
|
forwardfile_2.numero_demande, forwardfile_2.numero_dossier,
|
||||||
forwardfile_2.type_fichier, forwardfile_2.orig_filename, forwardfile_2.upload_status
|
forwardfile_2.type_fichier, forwardfile_2.orig_filename, forwardfile_2.upload_status
|
||||||
)
|
)
|
||||||
).encode('utf-8')
|
)
|
||||||
|
|
||||||
assert str(forwardfile_2) == '%s[%s]' % (trunc_str_values(forwardfile_2.orig_filename, 20),
|
assert str(forwardfile_2) == '%s[%s]' % (trunc_str_values(forwardfile_2.orig_filename, 20),
|
||||||
'Pending')
|
'Pending')
|
||||||
assert unicode(forwardfile_2) == u'%s[%s]' % (
|
assert force_text(forwardfile_2) == u'%s[%s]' % (
|
||||||
trunc_str_values(forwardfile_2.orig_filename, 20),
|
trunc_str_values(forwardfile_2.orig_filename, 20),
|
||||||
'Pending')
|
'Pending')
|
||||||
|
|
||||||
|
@ -119,7 +128,7 @@ def test_forward_file(forwardfile_2, atreal_openads):
|
||||||
|
|
||||||
with pytest.raises(ValueError) as exception:
|
with pytest.raises(ValueError) as exception:
|
||||||
forwardfile_2.upload_file.size # pylint: disable=pointless-statement
|
forwardfile_2.upload_file.size # pylint: disable=pointless-statement
|
||||||
assert unicode(exception.value) == "The 'upload_file' attribute has no file associated with it."
|
assert force_text(exception.value) == "The 'upload_file' attribute has no file associated with it."
|
||||||
assert forwardfile_2.size > 0
|
assert forwardfile_2.size > 0
|
||||||
assert forwardfile_2.file_hash == ('cc90a620982760fdee16a5b4fe1b5ac3'
|
assert forwardfile_2.file_hash == ('cc90a620982760fdee16a5b4fe1b5ac3'
|
||||||
'b4fe868fd02d2f70b27f1e46d283ea51')
|
'b4fe868fd02d2f70b27f1e46d283ea51')
|
||||||
|
@ -136,7 +145,7 @@ def test_forward_file(forwardfile_2, atreal_openads):
|
||||||
forwardfile_2.save()
|
forwardfile_2.save()
|
||||||
assert len(exception.value.messages) == 1
|
assert len(exception.value.messages) == 1
|
||||||
assert '__all__' in exception.value.message_dict
|
assert '__all__' in exception.value.message_dict
|
||||||
assert unicode(exception.value.message_dict['__all__'][0]) == (
|
assert force_text(exception.value.message_dict['__all__'][0]) == (
|
||||||
u"A %s cannot have all the following fields empty: %s." % (
|
u"A %s cannot have all the following fields empty: %s." % (
|
||||||
forwardfile_2.get_verbose_name(),
|
forwardfile_2.get_verbose_name(),
|
||||||
['file_hash', 'orig_filename', 'upload_file']))
|
['file_hash', 'orig_filename', 'upload_file']))
|
||||||
|
@ -150,16 +159,16 @@ def test_collectivite(collectivite_1, collectivite_1_guichet):
|
||||||
|
|
||||||
col = collectivite_1
|
col = collectivite_1
|
||||||
|
|
||||||
assert repr(col) == (
|
assert repr(col) == force_encoded_string_output(
|
||||||
u'Collectivite(id=%s,name=%s,connecteur=%s,openADS_id=%s,guichet=%s)' % (
|
u'Collectivite(id=%s,name=%s,connecteur=%s,openADS_id=%s,guichet=%s)' % (
|
||||||
1, unicode(col.name), unicode(col.connecteur), col.openADS_id,
|
1, force_text(col.name), force_text(col.connecteur), col.openADS_id,
|
||||||
unicode(col.guichet) if hasattr(col, 'guichet') else None
|
force_text(col.guichet) if hasattr(col, 'guichet') else None
|
||||||
)
|
)
|
||||||
).encode('utf-8')
|
)
|
||||||
|
|
||||||
assert str(col) == col.name.encode('utf-8')
|
assert str(col) == force_encoded_string_output(col.name)
|
||||||
|
|
||||||
assert unicode(col) == col.name
|
assert force_text(col) == col.name
|
||||||
|
|
||||||
class_fields = Collectivite.get_fields()
|
class_fields = Collectivite.get_fields()
|
||||||
assert len(class_fields) == 6
|
assert len(class_fields) == 6
|
||||||
|
@ -195,22 +204,22 @@ def test_guichet(collectivite_1_guichet):
|
||||||
|
|
||||||
guichet = collectivite_1_guichet
|
guichet = collectivite_1_guichet
|
||||||
|
|
||||||
assert repr(guichet) == (
|
assert repr(guichet) == force_encoded_string_output(
|
||||||
u'Guichet(id=%s,collectivite=%s,%s)' % (
|
u'Guichet(id=%s,collectivite=%s,%s)' % (
|
||||||
1, unicode(guichet.collectivite), unicode(guichet)
|
1, force_text(guichet.collectivite), force_text(guichet)
|
||||||
)
|
)
|
||||||
).encode('utf-8')
|
)
|
||||||
|
|
||||||
assert str(guichet) == u'Monday 08:30 -> Friday 12:15 [09:00/17:00]'.encode('utf-8')
|
assert str(guichet) == force_encoded_string_output(u'Monday 08:30 -> Friday 12:15 [09:00/17:00]')
|
||||||
|
|
||||||
assert unicode(guichet) == u'Monday 08:30 -> Friday 12:15 [09:00/17:00]'
|
assert force_text(guichet) == u'Monday 08:30 -> Friday 12:15 [09:00/17:00]'
|
||||||
|
|
||||||
params = guichet.get_url_params()
|
params = guichet.get_url_params()
|
||||||
assert params['collectivite'] == guichet.collectivite.id
|
assert params['collectivite'] == guichet.collectivite.id
|
||||||
|
|
||||||
with pytest.raises(Exception) as exception:
|
with pytest.raises(Exception) as exception:
|
||||||
guichet.get_list_url()
|
guichet.get_list_url()
|
||||||
assert unicode(exception.value) == u"Guichet:get_list_url() method should not be called"
|
assert force_text(exception.value) == u"Guichet:get_list_url() method should not be called"
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=unused-argument,redefined-outer-name
|
# pylint: disable=unused-argument,redefined-outer-name
|
||||||
|
@ -247,7 +256,7 @@ def test_guichet_is_open(collectivite_1_guichet): # pylint: disable=too-many-lo
|
||||||
|
|
||||||
with pytest.raises(TypeError) as exception:
|
with pytest.raises(TypeError) as exception:
|
||||||
guichet.is_open('invalid datetime')
|
guichet.is_open('invalid datetime')
|
||||||
assert unicode(exception.value) == u"is_open() expect a datetime object (not a %s)" % type('')
|
assert force_text(exception.value) == u"is_open() expect a datetime object (not a %s)" % type('')
|
||||||
|
|
||||||
assert not guichet.is_open(None)
|
assert not guichet.is_open(None)
|
||||||
|
|
||||||
|
@ -272,21 +281,21 @@ def test_get_files_from_payload(atreal_openads):
|
||||||
|
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
atreal_openads.get_files_from_payload({})
|
atreal_openads.get_files_from_payload({})
|
||||||
assert unicode(exception.value) == u"Expecting '%s' key in JSON %s" % ('files', title)
|
assert force_text(exception.value) == u"Expecting '%s' key in JSON %s" % ('files', title)
|
||||||
|
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
atreal_openads.get_files_from_payload({'files': 'invalid'})
|
atreal_openads.get_files_from_payload({'files': 'invalid'})
|
||||||
assert unicode(exception.value) == u"Expecting '%s' value in JSON %s to be a %s (not a %s)" % (
|
assert force_text(exception.value) == u"Expecting '%s' value in JSON %s to be a %s (not a %s)" % (
|
||||||
'files', title, 'list', type(''))
|
'files', title, 'list', type(''))
|
||||||
|
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
atreal_openads.get_files_from_payload({'files': {'i': 'invalid'}})
|
atreal_openads.get_files_from_payload({'files': {'i': 'invalid'}})
|
||||||
assert unicode(exception.value) == u"Expecting '%s' value in JSON %s to be a %s (not a %s)" % (
|
assert force_text(exception.value) == u"Expecting '%s' value in JSON %s to be a %s (not a %s)" % (
|
||||||
'files', title, 'list', type({}))
|
'files', title, 'list', type({}))
|
||||||
|
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
atreal_openads.get_files_from_payload({'files': []})
|
atreal_openads.get_files_from_payload({'files': []})
|
||||||
assert unicode(exception.value) == u"Expecting non-empty '%s' value in JSON %s" % (
|
assert force_text(exception.value) == u"Expecting non-empty '%s' value in JSON %s" % (
|
||||||
'files', title)
|
'files', title)
|
||||||
|
|
||||||
|
|
||||||
|
@ -303,7 +312,7 @@ def test_check_file_dict(fake_conf, atreal_openads):
|
||||||
}
|
}
|
||||||
|
|
||||||
d64 = {
|
d64 = {
|
||||||
'b64_content': get_file_data(fake_conf['TEST_FILE_CERFA_DIA'], b64=True),
|
'b64_content': force_text(get_file_data(fake_conf['TEST_FILE_CERFA_DIA'], b64=True)),
|
||||||
'filename': os.path.basename(fake_conf['TEST_FILE_CERFA_DIA']),
|
'filename': os.path.basename(fake_conf['TEST_FILE_CERFA_DIA']),
|
||||||
'content_type': 'application/pdf'
|
'content_type': 'application/pdf'
|
||||||
}
|
}
|
||||||
|
@ -314,26 +323,26 @@ def test_check_file_dict(fake_conf, atreal_openads):
|
||||||
dic['filename'] = {'a', 'filename'}
|
dic['filename'] = {'a', 'filename'}
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
atreal_openads.check_file_dict(dic, b64=False)
|
atreal_openads.check_file_dict(dic, b64=False)
|
||||||
assert unicode(exception.value) == (
|
assert force_text(exception.value) == (
|
||||||
u"Expecting '%s' value in JSON %s in file dict to be a %s (not a %s)" % (
|
u"Expecting '%s' value in JSON %s in file dict to be a %s (not a %s)" % (
|
||||||
'file.filename', title, 'string', type(dic['filename'])))
|
'file.filename', title, 'string', type(dic['filename'])))
|
||||||
|
|
||||||
dic['content'] = {'a', 'filename'}
|
dic['content'] = {'a', 'filename'}
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
atreal_openads.check_file_dict(dic, b64=False)
|
atreal_openads.check_file_dict(dic, b64=False)
|
||||||
assert unicode(exception.value) == (
|
assert force_text(exception.value) == (
|
||||||
u"Expecting '%s' value in JSON %s in file dict to be a %s (not a %s)" % (
|
u"Expecting '%s' value in JSON %s in file dict to be a %s (not a %s)" % (
|
||||||
'file.content', title, 'string', type(dic['content'])))
|
'file.content', title, 'string', type(dic['content'])))
|
||||||
|
|
||||||
del dic['content']
|
del dic['content']
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
atreal_openads.check_file_dict(dic, b64=False)
|
atreal_openads.check_file_dict(dic, b64=False)
|
||||||
assert unicode(exception.value) == u"Expecting 'file.%s' key in JSON %s" % ('content', title)
|
assert force_text(exception.value) == u"Expecting 'file.%s' key in JSON %s" % ('content', title)
|
||||||
|
|
||||||
del d64['b64_content']
|
del d64['b64_content']
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
atreal_openads.check_file_dict(dic, b64=True)
|
atreal_openads.check_file_dict(dic, b64=True)
|
||||||
assert unicode(exception.value) == (
|
assert force_text(exception.value) == (
|
||||||
u"Expecting 'file.%s' key in JSON %s" % ('b64_content', title))
|
u"Expecting 'file.%s' key in JSON %s" % ('b64_content', title))
|
||||||
|
|
||||||
|
|
||||||
|
@ -427,26 +436,26 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
|
|
||||||
# user attached files
|
# user attached files
|
||||||
"cerfa": {
|
"cerfa": {
|
||||||
"content": get_file_data(fake_conf['TEST_FILE_CERFA_DIA']),
|
"content": force_text(get_file_data(fake_conf['TEST_FILE_CERFA_DIA'])),
|
||||||
"content_type": "invalid/content type",
|
"content_type": "invalid/content type",
|
||||||
"field_id": "50",
|
"field_id": "50",
|
||||||
"filename": os.path.basename(fake_conf['TEST_FILE_CERFA_DIA'])
|
"filename": os.path.basename(fake_conf['TEST_FILE_CERFA_DIA'])
|
||||||
},
|
},
|
||||||
"annexe_1_type_raw": "plan",
|
"annexe_1_type_raw": "plan",
|
||||||
"annexe_1": {
|
"annexe_1": {
|
||||||
"content": get_file_data(fake_conf['TEST_FILE_PLAN_CADASTRAL']),
|
"content": force_text(get_file_data(fake_conf['TEST_FILE_PLAN_CADASTRAL'])),
|
||||||
"content_type": "application/pdf",
|
"content_type": "application/pdf",
|
||||||
"filename": os.path.basename(fake_conf['TEST_FILE_PLAN_CADASTRAL'])
|
"filename": os.path.basename(fake_conf['TEST_FILE_PLAN_CADASTRAL'])
|
||||||
},
|
},
|
||||||
"annexe_2_type_raw": "plan",
|
"annexe_2_type_raw": "plan",
|
||||||
"annexe_2": {
|
"annexe_2": {
|
||||||
"content": get_file_data(fake_conf['TEST_FILE_PLAN_CADASTRAL']),
|
"content": force_text(get_file_data(fake_conf['TEST_FILE_PLAN_CADASTRAL'])),
|
||||||
"content_type": "application/pdf",
|
"content_type": "application/pdf",
|
||||||
# "filename": 'plan_cad'
|
# "filename": 'plan_cad'
|
||||||
},
|
},
|
||||||
"annexe_3_type_raw": "pouvoir",
|
"annexe_3_type_raw": "pouvoir",
|
||||||
"annexe_3": {
|
"annexe_3": {
|
||||||
"content": get_file_data(fake_conf['TEST_FILE_CERFA_DIA']),
|
"content": force_text(get_file_data(fake_conf['TEST_FILE_CERFA_DIA'])),
|
||||||
"content_type": "application/pdf",
|
"content_type": "application/pdf",
|
||||||
"filename": 'mandat'
|
"filename": 'mandat'
|
||||||
},
|
},
|
||||||
|
@ -463,7 +472,7 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||||
requests_post.return_value = fake_resp_bad
|
requests_post.return_value = fake_resp_bad
|
||||||
atreal_openads.create_dossier(request_1, 'DIA', collectivite='not an integer')
|
atreal_openads.create_dossier(request_1, 'DIA', collectivite='not an integer')
|
||||||
assert unicode(exception.value) == "invalid literal for int() with base 10: 'not an integer'"
|
assert force_text(exception.value) == "invalid literal for int() with base 10: 'not an integer'"
|
||||||
|
|
||||||
# guichet is open from Monday/8:30 to Friday/12:15, between 9:00 and 17:00
|
# guichet is open from Monday/8:30 to Friday/12:15, between 9:00 and 17:00
|
||||||
now_open = datetime.datetime(2019, 8, 7, 14, 0, 0) # wednesday
|
now_open = datetime.datetime(2019, 8, 7, 14, 0, 0) # wednesday
|
||||||
|
@ -474,7 +483,7 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
requests_post.return_value = fake_resp_bad
|
requests_post.return_value = fake_resp_bad
|
||||||
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
||||||
now=now_open)
|
now=now_open)
|
||||||
assert unicode(exception.value) == "HTTP error: 502"
|
assert force_text(exception.value) == "HTTP error: 502"
|
||||||
|
|
||||||
# TODO update the code and return message when it will be
|
# TODO update the code and return message when it will be
|
||||||
# correctly implemented in the openADS.API side.
|
# correctly implemented in the openADS.API side.
|
||||||
|
@ -486,7 +495,7 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||||
requests_post.return_value = fake_resp_404
|
requests_post.return_value = fake_resp_404
|
||||||
atreal_openads.create_dossier(request_1, 'DIA', collectivite=999)
|
atreal_openads.create_dossier(request_1, 'DIA', collectivite=999)
|
||||||
assert unicode(exception.value) == "HTTP error: 404"
|
assert force_text(exception.value) == "HTTP error: 404"
|
||||||
|
|
||||||
jresp = atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
jresp = atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
||||||
now=now_closed)
|
now=now_closed)
|
||||||
|
@ -509,7 +518,7 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
jresp = atreal_openads.create_dossier(request_1, 'DIA',
|
jresp = atreal_openads.create_dossier(request_1, 'DIA',
|
||||||
collectivite=collectivite_1.openADS_id,
|
collectivite=collectivite_1.openADS_id,
|
||||||
now=now_invalid)
|
now=now_invalid)
|
||||||
assert unicode(exception.value) == (
|
assert force_text(exception.value) == (
|
||||||
u"Invalid value of type '%s' for now argument of endpoint '%s' (must be: %s)" % (
|
u"Invalid value of type '%s' for now argument of endpoint '%s' (must be: %s)" % (
|
||||||
type(now_invalid),
|
type(now_invalid),
|
||||||
'create_dossier',
|
'create_dossier',
|
||||||
|
@ -523,7 +532,7 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
requests_post.return_value = fake_resp_bad
|
requests_post.return_value = fake_resp_bad
|
||||||
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
||||||
now=now_open)
|
now=now_open)
|
||||||
assert unicode(exception.value) == (
|
assert force_text(exception.value) == (
|
||||||
u"Type '%s' for file '%s' is too long (%d chars, but max is %d)" % (
|
u"Type '%s' for file '%s' is too long (%d chars, but max is %d)" % (
|
||||||
fake_req_json['fields']['annexe_3_type_raw'],
|
fake_req_json['fields']['annexe_3_type_raw'],
|
||||||
'annexe_3',
|
'annexe_3',
|
||||||
|
@ -537,7 +546,7 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
requests_post.return_value = fake_resp_bad
|
requests_post.return_value = fake_resp_bad
|
||||||
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
||||||
now=now_open)
|
now=now_open)
|
||||||
assert unicode(exception.value) == u"No type field/value for file '%s'" % 'annexe_3'
|
assert force_text(exception.value) == u"No type field/value for file '%s'" % 'annexe_3'
|
||||||
|
|
||||||
fake_req_json['fields']['annexe_3_type_raw'] = annexe_3_type_bak
|
fake_req_json['fields']['annexe_3_type_raw'] = annexe_3_type_bak
|
||||||
request_1._body = json.dumps(fake_req_json) # pylint: disable=protected-access
|
request_1._body = json.dumps(fake_req_json) # pylint: disable=protected-access
|
||||||
|
@ -545,7 +554,7 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
fake_resp_json = {
|
fake_resp_json = {
|
||||||
'numero_dossier': fake_conf['FAKE_NUMERO_DOSSIER'],
|
'numero_dossier': fake_conf['FAKE_NUMERO_DOSSIER'],
|
||||||
'files': [{
|
'files': [{
|
||||||
'b64_content': get_file_data(fake_conf['TEST_FILE_CERFA_DIA']),
|
'b64_content': force_text(get_file_data(fake_conf['TEST_FILE_CERFA_DIA'])),
|
||||||
'content_type': 'text/plain',
|
'content_type': 'text/plain',
|
||||||
'filename': 'recepisse_depot_%s.pdf' % fake_conf['FAKE_NUMERO_DOSSIER'],
|
'filename': 'recepisse_depot_%s.pdf' % fake_conf['FAKE_NUMERO_DOSSIER'],
|
||||||
}]
|
}]
|
||||||
|
@ -555,7 +564,7 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
fake_resp.headers = {'Content-Type': 'application/json'}
|
fake_resp.headers = {'Content-Type': 'application/json'}
|
||||||
fake_resp.encoding = 'utf-8'
|
fake_resp.encoding = 'utf-8'
|
||||||
fake_resp.reason = 'OK'
|
fake_resp.reason = 'OK'
|
||||||
fake_resp._content = json.dumps(fake_resp_json) # pylint: disable=protected-access
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json)) # pylint: disable=protected-access
|
||||||
|
|
||||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||||
requests_post.return_value = fake_resp
|
requests_post.return_value = fake_resp
|
||||||
|
@ -568,42 +577,42 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
assert jresp['recepisse']['filename'] == fake_resp_json['files'][0]['filename']
|
assert jresp['recepisse']['filename'] == fake_resp_json['files'][0]['filename']
|
||||||
|
|
||||||
fake_resp_json['numero_dossier'] = {'a': 'invalid type'}
|
fake_resp_json['numero_dossier'] = {'a': 'invalid type'}
|
||||||
fake_resp._content = json.dumps(fake_resp_json) # pylint: disable=protected-access
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json)) # pylint: disable=protected-access
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||||
requests_post.return_value = fake_resp
|
requests_post.return_value = fake_resp
|
||||||
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
||||||
now=now_open)
|
now=now_open)
|
||||||
assert unicode(exception.value) == (
|
assert force_text(exception.value) == (
|
||||||
u"Expecting '%s' value in JSON response to be a %s (not a %s)" % (
|
u"Expecting '%s' value in JSON response to be a %s (not a %s)" % (
|
||||||
'numero_dossier', 'string', type({})))
|
'numero_dossier', 'string', type({})))
|
||||||
|
|
||||||
del fake_resp_json['numero_dossier']
|
del fake_resp_json['numero_dossier']
|
||||||
fake_resp._content = json.dumps(fake_resp_json) # pylint: disable=protected-access
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json)) # pylint: disable=protected-access
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||||
requests_post.return_value = fake_resp
|
requests_post.return_value = fake_resp
|
||||||
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
||||||
now=now_open)
|
now=now_open)
|
||||||
assert unicode(exception.value) == u"Expecting 'numero_dossier' key in JSON response"
|
assert force_text(exception.value) == u"Expecting 'numero_dossier' key in JSON response"
|
||||||
|
|
||||||
fake_resp_json['files'][0]['b64_content'] = 'invalid_;{[content}'
|
fake_resp_json['files'][0]['b64_content'] = 'invalid_;{[content}'
|
||||||
fake_resp._content = json.dumps(fake_resp_json) # pylint: disable=protected-access
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json)) # pylint: disable=protected-access
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||||
requests_post.return_value = fake_resp
|
requests_post.return_value = fake_resp
|
||||||
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
||||||
now=now_open)
|
now=now_open)
|
||||||
assert unicode(exception.value) == u'Failed to decode recepisse content from base 64'
|
assert force_text(exception.value) == u'Failed to decode recepisse content from base 64'
|
||||||
|
|
||||||
fake_resp._content = 'df[{gfd;g#vfd' # pylint: disable=protected-access
|
fake_resp._content = b'df[{gfd;g#vfd' # pylint: disable=protected-access
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||||
requests_post.return_value = fake_resp
|
requests_post.return_value = fake_resp
|
||||||
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
atreal_openads.create_dossier(request_1, 'DIA', collectivite=collectivite_1.openADS_id,
|
||||||
now=now_open)
|
now=now_open)
|
||||||
# pylint: disable=protected-access
|
# pylint: disable=protected-access
|
||||||
assert unicode(exception.value) == u'No JSON content returned: %r' % fake_resp._content
|
assert force_text(exception.value) == u'No JSON content returned: %r' % fake_resp._content
|
||||||
|
|
||||||
# pylint: disable=no-member
|
# pylint: disable=no-member
|
||||||
job = Job.objects.filter(natural_id=fake_conf['FAKE_NUMERO_DOSSIER']).last()
|
job = Job.objects.filter(natural_id=fake_conf['FAKE_NUMERO_DOSSIER']).last()
|
||||||
|
@ -631,7 +640,7 @@ def test_create_dossier(fake_conf, atreal_openads, collectivite_1, collectivite_
|
||||||
fake_resp.headers = {'Content-Type': 'application/json'}
|
fake_resp.headers = {'Content-Type': 'application/json'}
|
||||||
fake_resp.encoding = 'utf-8'
|
fake_resp.encoding = 'utf-8'
|
||||||
fake_resp.reason = 'OK'
|
fake_resp.reason = 'OK'
|
||||||
fake_resp._content = json.dumps(fake_resp_json)
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json))
|
||||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||||
requests_post.return_value = fake_resp
|
requests_post.return_value = fake_resp
|
||||||
atreal_openads.jobs()
|
atreal_openads.jobs()
|
||||||
|
@ -656,7 +665,7 @@ def test_get_dossier(fake_conf, atreal_openads):
|
||||||
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
||||||
requests_get.return_value = fake_resp_bad
|
requests_get.return_value = fake_resp_bad
|
||||||
atreal_openads.get_dossier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'])
|
atreal_openads.get_dossier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'])
|
||||||
assert unicode(exception.value) == "HTTP error: 502"
|
assert force_text(exception.value) == "HTTP error: 502"
|
||||||
|
|
||||||
fake_resp_json = {
|
fake_resp_json = {
|
||||||
'etat': u"Non préemption en cours",
|
'etat': u"Non préemption en cours",
|
||||||
|
@ -670,7 +679,7 @@ def test_get_dossier(fake_conf, atreal_openads):
|
||||||
fake_resp.headers = {'Content-Type': 'application/json'}
|
fake_resp.headers = {'Content-Type': 'application/json'}
|
||||||
fake_resp.encoding = 'utf-8'
|
fake_resp.encoding = 'utf-8'
|
||||||
fake_resp.reason = 'OK'
|
fake_resp.reason = 'OK'
|
||||||
fake_resp._content = json.dumps(fake_resp_json) # pylint: disable=protected-access
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json)) # pylint: disable=protected-access
|
||||||
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
||||||
requests_get.return_value = fake_resp
|
requests_get.return_value = fake_resp
|
||||||
jresp = atreal_openads.get_dossier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'])
|
jresp = atreal_openads.get_dossier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'])
|
||||||
|
@ -680,13 +689,13 @@ def test_get_dossier(fake_conf, atreal_openads):
|
||||||
assert jresp['decision'] == fake_resp_json['decision']
|
assert jresp['decision'] == fake_resp_json['decision']
|
||||||
assert jresp['date_limite_instruction'] == fake_resp_json['date_limite_instruction']
|
assert jresp['date_limite_instruction'] == fake_resp_json['date_limite_instruction']
|
||||||
|
|
||||||
fake_resp._content = 'df[{gfd;g#vfd' # pylint: disable=protected-access
|
fake_resp._content = b'df[{gfd;g#vfd' # pylint: disable=protected-access
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
||||||
requests_get.return_value = fake_resp
|
requests_get.return_value = fake_resp
|
||||||
atreal_openads.get_dossier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'])
|
atreal_openads.get_dossier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'])
|
||||||
# pylint: disable=protected-access
|
# pylint: disable=protected-access
|
||||||
assert unicode(exception.value) == u'No JSON content returned: %r' % fake_resp._content
|
assert force_text(exception.value) == u'No JSON content returned: %r' % fake_resp._content
|
||||||
|
|
||||||
fake_resp_json = {
|
fake_resp_json = {
|
||||||
'errors': [{
|
'errors': [{
|
||||||
|
@ -697,12 +706,12 @@ def test_get_dossier(fake_conf, atreal_openads):
|
||||||
}
|
}
|
||||||
fake_resp.status_code = 404
|
fake_resp.status_code = 404
|
||||||
fake_resp.reason = 'Resource not found'
|
fake_resp.reason = 'Resource not found'
|
||||||
fake_resp._content = json.dumps(fake_resp_json) # pylint: disable=protected-access
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json)) # pylint: disable=protected-access
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
||||||
requests_get.return_value = fake_resp
|
requests_get.return_value = fake_resp
|
||||||
atreal_openads.get_dossier(None, 'invalid_type', fake_conf['FAKE_NUMERO_DOSSIER'])
|
atreal_openads.get_dossier(None, 'invalid_type', fake_conf['FAKE_NUMERO_DOSSIER'])
|
||||||
assert unicode(exception.value) == (u"HTTP error: 404, [path] (Invalid Type) "
|
assert force_text(exception.value) == (u"HTTP error: 404, [path] (Invalid Type) "
|
||||||
"\"invalid_type\" is not one of DIA, PC, DP, AT, PD")
|
"\"invalid_type\" is not one of DIA, PC, DP, AT, PD")
|
||||||
|
|
||||||
|
|
||||||
|
@ -713,11 +722,11 @@ def test_get_fwd_files(fake_conf, atreal_openads):
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
atreal_openads.get_fwd_files(None, fake_conf['FAKE_NUMERO_DOSSIER'],
|
atreal_openads.get_fwd_files(None, fake_conf['FAKE_NUMERO_DOSSIER'],
|
||||||
fichier_id='not an integer')
|
fichier_id='not an integer')
|
||||||
assert unicode(exception.value) == u"fichier_id must be an integer"
|
assert force_text(exception.value) == u"fichier_id must be an integer"
|
||||||
|
|
||||||
with pytest.raises(Http404) as exception:
|
with pytest.raises(Http404) as exception:
|
||||||
atreal_openads.get_fwd_files(None, fake_conf['FAKE_NUMERO_DOSSIER'], fichier_id=18)
|
atreal_openads.get_fwd_files(None, fake_conf['FAKE_NUMERO_DOSSIER'], fichier_id=18)
|
||||||
assert unicode(exception.value) == (
|
assert force_text(exception.value) == (
|
||||||
u"No file matches 'numero_dossier=%s' and 'id=%s'." % (fake_conf['FAKE_NUMERO_DOSSIER'],
|
u"No file matches 'numero_dossier=%s' and 'id=%s'." % (fake_conf['FAKE_NUMERO_DOSSIER'],
|
||||||
18))
|
18))
|
||||||
|
|
||||||
|
@ -815,13 +824,13 @@ def test_get_courrier(fake_conf, atreal_openads):
|
||||||
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
||||||
requests_get.return_value = fake_resp_bad
|
requests_get.return_value = fake_resp_bad
|
||||||
atreal_openads.get_courrier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'], lettre_type)
|
atreal_openads.get_courrier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'], lettre_type)
|
||||||
assert unicode(exception.value) == "HTTP error: 502"
|
assert force_text(exception.value) == "HTTP error: 502"
|
||||||
|
|
||||||
fake_resp_json = {
|
fake_resp_json = {
|
||||||
'files': [{
|
'files': [{
|
||||||
'filename': "instruction_4.pdf",
|
'filename': "instruction_4.pdf",
|
||||||
'content_type': "text/plain",
|
'content_type': "text/plain",
|
||||||
'b64_content': get_file_data(fake_conf['TEST_FILE_CERFA_DIA'])
|
'b64_content': force_text(get_file_data(fake_conf['TEST_FILE_CERFA_DIA'], b64=True))
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
fake_resp = Response()
|
fake_resp = Response()
|
||||||
|
@ -829,7 +838,7 @@ def test_get_courrier(fake_conf, atreal_openads):
|
||||||
fake_resp.headers = {'Content-Type': 'application/json'}
|
fake_resp.headers = {'Content-Type': 'application/json'}
|
||||||
fake_resp.encoding = 'utf-8'
|
fake_resp.encoding = 'utf-8'
|
||||||
fake_resp.reason = 'OK'
|
fake_resp.reason = 'OK'
|
||||||
fake_resp._content = json.dumps(fake_resp_json) # pylint: disable=protected-access
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json)) # pylint: disable=protected-access
|
||||||
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
||||||
requests_get.return_value = fake_resp
|
requests_get.return_value = fake_resp
|
||||||
jresp = atreal_openads.get_courrier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'],
|
jresp = atreal_openads.get_courrier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'],
|
||||||
|
@ -839,20 +848,20 @@ def test_get_courrier(fake_conf, atreal_openads):
|
||||||
assert jresp['courrier']['b64_content'] == fake_resp_json['files'][0]['b64_content']
|
assert jresp['courrier']['b64_content'] == fake_resp_json['files'][0]['b64_content']
|
||||||
|
|
||||||
fake_resp_json['files'][0]['b64_content'] = 'invalid_;{[content}'
|
fake_resp_json['files'][0]['b64_content'] = 'invalid_;{[content}'
|
||||||
fake_resp._content = json.dumps(fake_resp_json) # pylint: disable=protected-access
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json)) # pylint: disable=protected-access
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
||||||
requests_get.return_value = fake_resp
|
requests_get.return_value = fake_resp
|
||||||
atreal_openads.get_courrier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'], lettre_type)
|
atreal_openads.get_courrier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'], lettre_type)
|
||||||
assert unicode(exception.value) == u'Failed to decode courrier content from base 64'
|
assert force_text(exception.value) == u'Failed to decode courrier content from base 64'
|
||||||
|
|
||||||
fake_resp._content = 'df[{gfd;g#vfd' # pylint: disable=protected-access
|
fake_resp._content = b'df[{gfd;g#vfd' # pylint: disable=protected-access
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
with mock.patch('passerelle.utils.Request.get') as requests_get:
|
||||||
requests_get.return_value = fake_resp
|
requests_get.return_value = fake_resp
|
||||||
atreal_openads.get_courrier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'], lettre_type)
|
atreal_openads.get_courrier(None, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'], lettre_type)
|
||||||
# pylint: disable=protected-access
|
# pylint: disable=protected-access
|
||||||
assert unicode(exception.value) == u'No JSON content returned: %r' % fake_resp._content
|
assert force_text(exception.value) == u'No JSON content returned: %r' % fake_resp._content
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=unused-argument,redefined-outer-name
|
# pylint: disable=unused-argument,redefined-outer-name
|
||||||
|
@ -873,7 +882,7 @@ def test_get_response_error(atreal_openads):
|
||||||
fake_resp.headers = {'Content-Type': 'application/json'}
|
fake_resp.headers = {'Content-Type': 'application/json'}
|
||||||
fake_resp.encoding = 'utf-8'
|
fake_resp.encoding = 'utf-8'
|
||||||
fake_resp.reason = 'Not Found'
|
fake_resp.reason = 'Not Found'
|
||||||
fake_resp._content = json.dumps(fake_resp_json) # pylint: disable=protected-access
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json)) # pylint: disable=protected-access
|
||||||
|
|
||||||
error_msg = atreal_openads.get_response_error(fake_resp)
|
error_msg = atreal_openads.get_response_error(fake_resp)
|
||||||
expected_msg = u'[%s] (%s) %s' % (
|
expected_msg = u'[%s] (%s) %s' % (
|
||||||
|
@ -883,10 +892,10 @@ def test_get_response_error(atreal_openads):
|
||||||
)
|
)
|
||||||
assert error_msg == u"HTTP error: %s, %s" % (fake_resp.status_code, ','.join([expected_msg]))
|
assert error_msg == u"HTTP error: %s, %s" % (fake_resp.status_code, ','.join([expected_msg]))
|
||||||
|
|
||||||
fake_resp._content = 'invalid_;{[content}' # pylint: disable=protected-access
|
fake_resp._content = b'invalid_;{[content}' # pylint: disable=protected-access
|
||||||
error_msg = atreal_openads.get_response_error(fake_resp)
|
error_msg = atreal_openads.get_response_error(fake_resp)
|
||||||
# pylint: disable=protected-access
|
# pylint: disable=protected-access
|
||||||
assert error_msg == u"HTTP error: %s, %s" % (fake_resp.status_code, fake_resp._content)
|
assert error_msg == u"HTTP error: %s, %s" % (fake_resp.status_code, fake_resp.text)
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=unused-argument,redefined-outer-name
|
# pylint: disable=unused-argument,redefined-outer-name
|
||||||
|
@ -899,18 +908,18 @@ def test_upload_user_files(fake_conf, atreal_openads, request_1):
|
||||||
with pytest.raises(ForwardFile.DoesNotExist) as exception: # pylint: disable=no-member
|
with pytest.raises(ForwardFile.DoesNotExist) as exception: # pylint: disable=no-member
|
||||||
atreal_openads.upload_user_files(request_1, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'],
|
atreal_openads.upload_user_files(request_1, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'],
|
||||||
file_ids=[999])
|
file_ids=[999])
|
||||||
assert unicode(exception.value) == u"The following ForwardFile IDs were not found: %s." % [999]
|
assert force_text(exception.value) == u"The following ForwardFile IDs were not found: %s." % [999]
|
||||||
|
|
||||||
with pytest.raises(ValueError) as exception:
|
with pytest.raises(ValueError) as exception:
|
||||||
atreal_openads.upload_user_files(request_1, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'],
|
atreal_openads.upload_user_files(request_1, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'],
|
||||||
file_ids='invalid string')
|
file_ids='invalid string')
|
||||||
assert unicode(exception.value) == (
|
assert force_text(exception.value) == (
|
||||||
u"invalid literal for int() with base 10: '%s'" % 'invalid string')
|
u"invalid literal for int() with base 10: '%s'" % 'invalid string')
|
||||||
|
|
||||||
with pytest.raises(TypeError) as exception:
|
with pytest.raises(TypeError) as exception:
|
||||||
atreal_openads.upload_user_files(request_1, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'],
|
atreal_openads.upload_user_files(request_1, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'],
|
||||||
file_ids={'invalid': 'type'})
|
file_ids={'invalid': 'type'})
|
||||||
assert unicode(exception.value) == (
|
assert force_text(exception.value) == (
|
||||||
u"Invalid 'file_ids' argument type '%s' (must be string or list)" % (
|
u"Invalid 'file_ids' argument type '%s' (must be string or list)" % (
|
||||||
type({'invalid': 'type'})))
|
type({'invalid': 'type'})))
|
||||||
|
|
||||||
|
@ -933,7 +942,7 @@ def test_upload_user_files(fake_conf, atreal_openads, request_1):
|
||||||
requests_post.return_value = fake_resp_bad
|
requests_post.return_value = fake_resp_bad
|
||||||
atreal_openads.upload_user_files(request_1, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'],
|
atreal_openads.upload_user_files(request_1, 'DIA', fake_conf['FAKE_NUMERO_DOSSIER'],
|
||||||
file_ids=str(file_id))
|
file_ids=str(file_id))
|
||||||
assert unicode(exception.value) == u'HTTP error: 502'
|
assert force_text(exception.value) == u'HTTP error: 502'
|
||||||
|
|
||||||
ffup = ForwardFile.objects.get(id=file_id) # pylint: disable=no-member
|
ffup = ForwardFile.objects.get(id=file_id) # pylint: disable=no-member
|
||||||
assert isinstance(ffup, ForwardFile)
|
assert isinstance(ffup, ForwardFile)
|
||||||
|
@ -952,7 +961,7 @@ def test_upload_user_files(fake_conf, atreal_openads, request_1):
|
||||||
fake_resp.encoding = 'utf-8'
|
fake_resp.encoding = 'utf-8'
|
||||||
fake_resp.reason = 'OK'
|
fake_resp.reason = 'OK'
|
||||||
|
|
||||||
fake_resp._content = 'invalid_;{[content}' # pylint: disable=protected-access
|
fake_resp._content = b'invalid_;{[content}' # pylint: disable=protected-access
|
||||||
with pytest.raises(APIError) as exception:
|
with pytest.raises(APIError) as exception:
|
||||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||||
requests_post.return_value = fake_resp
|
requests_post.return_value = fake_resp
|
||||||
|
@ -960,7 +969,7 @@ def test_upload_user_files(fake_conf, atreal_openads, request_1):
|
||||||
'DIA',
|
'DIA',
|
||||||
fake_conf['FAKE_NUMERO_DOSSIER'],
|
fake_conf['FAKE_NUMERO_DOSSIER'],
|
||||||
file_ids=[file_id])
|
file_ids=[file_id])
|
||||||
assert unicode(exception.value) == u'No JSON content returned: %r' % fake_resp.content
|
assert force_text(exception.value) == u'No JSON content returned: %r' % fake_resp.content
|
||||||
|
|
||||||
ffup = ForwardFile.objects.get(id=file_id) # pylint: disable=no-member
|
ffup = ForwardFile.objects.get(id=file_id) # pylint: disable=no-member
|
||||||
assert isinstance(ffup, ForwardFile)
|
assert isinstance(ffup, ForwardFile)
|
||||||
|
@ -979,7 +988,7 @@ def test_upload_user_files(fake_conf, atreal_openads, request_1):
|
||||||
ffup.save()
|
ffup.save()
|
||||||
|
|
||||||
fake_resp_json = "You want add some files on %s " % fake_conf['FAKE_NUMERO_DOSSIER']
|
fake_resp_json = "You want add some files on %s " % fake_conf['FAKE_NUMERO_DOSSIER']
|
||||||
fake_resp._content = json.dumps(fake_resp_json) # pylint: disable=protected-access
|
fake_resp._content = force_bytes(json.dumps(fake_resp_json)) # pylint: disable=protected-access
|
||||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||||
requests_post.return_value = fake_resp
|
requests_post.return_value = fake_resp
|
||||||
jresp = atreal_openads.upload_user_files(request_1, 'DIA',
|
jresp = atreal_openads.upload_user_files(request_1, 'DIA',
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
import base64
|
import base64
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
from django.utils.encoding import force_text
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from atreal_openads.utils import (
|
from atreal_openads.utils import (
|
||||||
|
@ -114,15 +115,15 @@ def test_get_file_data(fake_conf):
|
||||||
"""Test for function 'get_file_data()'."""
|
"""Test for function 'get_file_data()'."""
|
||||||
|
|
||||||
assert get_file_data(fake_conf['TEST_FILE_CERFA_DIA']) == base64.b64encode(
|
assert get_file_data(fake_conf['TEST_FILE_CERFA_DIA']) == base64.b64encode(
|
||||||
open(fake_conf['TEST_FILE_CERFA_DIA']).read())
|
open(fake_conf['TEST_FILE_CERFA_DIA'], 'rb').read())
|
||||||
assert get_file_data(fake_conf['TEST_FILE_CERFA_DIA'], b64=False) == open(
|
assert get_file_data(fake_conf['TEST_FILE_CERFA_DIA'], b64=False) == open(
|
||||||
fake_conf['TEST_FILE_CERFA_DIA']).read()
|
fake_conf['TEST_FILE_CERFA_DIA'], 'rb').read()
|
||||||
|
|
||||||
|
|
||||||
def test_get_file_digest(fake_conf):
|
def test_get_file_digest(fake_conf):
|
||||||
"""Test for function 'get_file_digest()'."""
|
"""Test for function 'get_file_digest()'."""
|
||||||
|
|
||||||
with open(fake_conf['TEST_FILE_CERFA_DIA']) as file_pt:
|
with open(fake_conf['TEST_FILE_CERFA_DIA'], 'rb') as file_pt:
|
||||||
assert get_file_digest(file_pt) == ('cc90a620982760fdee16a5b4fe1b5ac3'
|
assert get_file_digest(file_pt) == ('cc90a620982760fdee16a5b4fe1b5ac3'
|
||||||
'b4fe868fd02d2f70b27f1e46d283ea51')
|
'b4fe868fd02d2f70b27f1e46d283ea51')
|
||||||
|
|
||||||
|
@ -190,26 +191,26 @@ def test_dict_dumper():
|
||||||
|
|
||||||
dumped = DictDumper(dic, use_json_dumps=False)
|
dumped = DictDumper(dic, use_json_dumps=False)
|
||||||
assert repr(dumped) == (u'DictDumper(dic=%r,max_str_len=%r,use_json_dumps=%r)' % (
|
assert repr(dumped) == (u'DictDumper(dic=%r,max_str_len=%r,use_json_dumps=%r)' % (
|
||||||
dic, dumped.max_str_len, dumped.use_json_dumps)).encode('utf-8')
|
dic, dumped.max_str_len, dumped.use_json_dumps))
|
||||||
assert str(dumped) == '{}'
|
assert str(dumped) == '{}'
|
||||||
assert unicode(dumped) == u'{}'
|
assert force_text(dumped) == u'{}'
|
||||||
|
|
||||||
assert dic == dumped.dic
|
assert dic == dumped.dic
|
||||||
assert unicode(dic) == unicode(dumped)
|
assert force_text(dic) == force_text(dumped)
|
||||||
dumped = DictDumper(dic, 0, use_json_dumps=False)
|
dumped = DictDumper(dic, 0, use_json_dumps=False)
|
||||||
assert dic == dumped.dic
|
assert dic == dumped.dic
|
||||||
assert unicode(dic) == unicode(dumped)
|
assert force_text(dic) == force_text(dumped)
|
||||||
|
|
||||||
dic = {'a': '123456789'}
|
dic = {'a': '123456789'}
|
||||||
dumped = DictDumper(dic, 10, use_json_dumps=False)
|
dumped = DictDumper(dic, 10, use_json_dumps=False)
|
||||||
assert dic == dumped.dic
|
assert dic == dumped.dic
|
||||||
assert unicode(dic) == unicode(dumped)
|
assert force_text(dic) == force_text(dumped)
|
||||||
dumped = DictDumper(dic, 5, use_json_dumps=False)
|
dumped = DictDumper(dic, 5, use_json_dumps=False)
|
||||||
assert dic == dumped.dic
|
assert dic == dumped.dic
|
||||||
assert unicode(dumped) == unicode({'a': u'12345…'})
|
assert force_text(dumped) == force_text({'a': u'12345…'})
|
||||||
dumped = DictDumper(dic, 5, use_json_dumps=True)
|
dumped = DictDumper(dic, 5, use_json_dumps=True)
|
||||||
assert dic == dumped.dic
|
assert dic == dumped.dic
|
||||||
assert unicode(dumped) == u'{"a": "12345\\u2026"}'
|
assert force_text(dumped) == u'{"a": "12345\\u2026"}'
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=unused-argument,redefined-outer-name
|
# pylint: disable=unused-argument,redefined-outer-name
|
||||||
|
@ -246,10 +247,10 @@ def test_base_model(fake_conf, atreal_openads, collectivite_1, collectivite_1_gu
|
||||||
|
|
||||||
with pytest.raises(Exception) as exception:
|
with pytest.raises(Exception) as exception:
|
||||||
atreal_openads.get_list_url()
|
atreal_openads.get_list_url()
|
||||||
assert unicode(exception.value) == u"AtrealOpenads:get_list_url() method should not be called"
|
assert force_text(exception.value) == u"AtrealOpenads:get_list_url() method should not be called"
|
||||||
|
|
||||||
# TODO add more collectivite test cases
|
# TODO add more collectivite test cases
|
||||||
|
|
||||||
with pytest.raises(Exception) as exception:
|
with pytest.raises(Exception) as exception:
|
||||||
collectivite_1_guichet.get_list_url()
|
collectivite_1_guichet.get_list_url()
|
||||||
assert unicode(exception.value) == u"Guichet:get_list_url() method should not be called"
|
assert force_text(exception.value) == u"Guichet:get_list_url() method should not be called"
|
||||||
|
|
Reference in New Issue