Tests: set 'now' to a time when 'guichet' is open in 'test_openads_create_dossier' (to prevent failure when running test when 'guichet' is closed)
This commit is contained in:
parent
990f1fb7bc
commit
910fc8ad57
|
@ -473,10 +473,14 @@ def test_openads_create_dossier(atreal_openads, collectivite_1, collectivite_1_g
|
|||
atreal_openads.create_dossier(req, 'DIA', collectivite='not an integer')
|
||||
assert unicode(e.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
|
||||
now_open = datetime.datetime(2019, 8, 7, 14, 0, 0) # wednesday
|
||||
now_closed = datetime.datetime(2019, 8, 10, 16, 0, 0) # saturday
|
||||
|
||||
with pytest.raises(APIError) as e:
|
||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||
requests_post.return_value = fake_resp_bad
|
||||
atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id)
|
||||
atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now_open)
|
||||
assert unicode(e.value) == "HTTP error: 502"
|
||||
|
||||
# TODO update the code and return message when it will be
|
||||
|
@ -491,28 +495,27 @@ def test_openads_create_dossier(atreal_openads, collectivite_1, collectivite_1_g
|
|||
atreal_openads.create_dossier(req, 'DIA', collectivite=999)
|
||||
assert unicode(e.value) == "HTTP error: 404"
|
||||
|
||||
# guichet is open from Monday/8:30 to Friday/12:15, between 9:00 and 17:00
|
||||
now = datetime.datetime(2019, 8, 10, 16, 0, 0)
|
||||
jresp = atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now)
|
||||
jresp = atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now_closed)
|
||||
assert jresp is not None
|
||||
assert len(jresp) == 1
|
||||
assert 'message' in jresp
|
||||
assert jresp['message'] == u"Guichet closed for collectivite '%s'" % collectivite_1
|
||||
|
||||
now = '2019-08-10 16:00:00'
|
||||
jresp = atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now)
|
||||
now_str_fmt = '%Y-%m-%d %H:%M:%S'
|
||||
now_closed_str = now_closed.strftime(now_str_fmt)
|
||||
jresp = atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now_closed_str)
|
||||
assert jresp is not None
|
||||
assert len(jresp) == 1
|
||||
assert 'message' in jresp
|
||||
assert jresp['message'] == u"Guichet closed for collectivite '%s'" % collectivite_1
|
||||
|
||||
now = {'invalid': 'type'}
|
||||
now_invalid = {'invalid': 'type'}
|
||||
with pytest.raises(APIError) as e:
|
||||
jresp = atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now)
|
||||
jresp = atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now_invalid)
|
||||
assert unicode(e.value) == u"Invalid value of type '%s' for now argument of endpoint '%s' (must be: %s)" % (
|
||||
type(now),
|
||||
type(now_invalid),
|
||||
'create_dossier',
|
||||
"datetime or string formatted to '%s'" % '%Y-%m-%d %H:%M:%S')
|
||||
"datetime or string formatted to '%s'" % now_str_fmt)
|
||||
|
||||
fake_resp_json = {
|
||||
'numero_dossier' : FAKE_NUMERO_DOSSIER,
|
||||
|
@ -531,7 +534,7 @@ def test_openads_create_dossier(atreal_openads, collectivite_1, collectivite_1_g
|
|||
|
||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||
requests_post.return_value = fake_resp
|
||||
jresp = atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id)
|
||||
jresp = atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now_open)
|
||||
assert jresp['numero_dossier'] == fake_resp_json['numero_dossier']
|
||||
assert jresp['recepisse']['b64_content'] == fake_resp_json['files'][0]['b64_content']
|
||||
assert jresp['recepisse']['content_type'] == 'application/pdf'
|
||||
|
@ -542,7 +545,7 @@ def test_openads_create_dossier(atreal_openads, collectivite_1, collectivite_1_g
|
|||
with pytest.raises(APIError) as e:
|
||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||
requests_post.return_value = fake_resp
|
||||
atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id)
|
||||
atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now_open)
|
||||
assert unicode(e.value) == u"Expecting '%s' value in JSON response to be a %s (not a %s)" % (
|
||||
'numero_dossier', 'string', type({}))
|
||||
|
||||
|
@ -551,7 +554,7 @@ def test_openads_create_dossier(atreal_openads, collectivite_1, collectivite_1_g
|
|||
with pytest.raises(APIError) as e:
|
||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||
requests_post.return_value = fake_resp
|
||||
atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id)
|
||||
atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now_open)
|
||||
assert unicode(e.value) == u"Expecting 'numero_dossier' key in JSON response"
|
||||
|
||||
fake_resp_json['files'][0]['b64_content'] = 'invalid_;{[content}'
|
||||
|
@ -559,14 +562,14 @@ def test_openads_create_dossier(atreal_openads, collectivite_1, collectivite_1_g
|
|||
with pytest.raises(APIError) as e:
|
||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||
requests_post.return_value = fake_resp
|
||||
atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id)
|
||||
atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now_open)
|
||||
assert unicode(e.value) == u'Failed to decode recepisse content from base 64'
|
||||
|
||||
fake_resp._content = 'df[{gfd;g#vfd'
|
||||
with pytest.raises(APIError) as e:
|
||||
with mock.patch('passerelle.utils.Request.post') as requests_post:
|
||||
requests_post.return_value = fake_resp
|
||||
atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id)
|
||||
atreal_openads.create_dossier(req, 'DIA', collectivite_1.openADS_id, now=now_open)
|
||||
assert unicode(e.value) == u'No JSON content returned: %r' % fake_resp._content
|
||||
|
||||
job = Job.objects.filter(natural_id=FAKE_NUMERO_DOSSIER).last()
|
||||
|
|
Reference in New Issue