Projet

Général

Profil

0001-lille-urban-card-add-card-status-endpoint-36047.patch

Frédéric Péters, 11 septembre 2019 16:59

Télécharger (2,71 ko)

Voir les différences:

Subject: [PATCH] lille urban card: add card status endpoint (#36047)

 passerelle/contrib/lille_urban_card/models.py | 13 +++++++++++++
 tests/test_lille_urban_card.py                | 14 ++++++++++++++
 2 files changed, 27 insertions(+)
passerelle/contrib/lille_urban_card/models.py
127 127
            self.logger.error('error requesting card (%r)', response['erreur'])
128 128
            raise APIError(response['erreur'])
129 129
        return {'data': response}  # {"n_demande_clu":10000005}
130

  
131
    @endpoint(perm='can_access',
132
              description=_('Get status of card request'),
133
              parameters={
134
                  'n_demande_clu': {
135
                      'description': _('Request number'),
136
                  }
137
              })
138
    def card_status(self, request, n_demande_clu):
139
        response = self.requests.get(
140
                urljoin(self.base_url, '/clu/ws/statutDemande?n_demande_clu=%s' % n_demande_clu),
141
                auth=HttpBearerAuth(self.get_token())).json()
142
        return {'data': response}
tests/test_lille_urban_card.py
32 32
            'request': json.loads(request.body),  # for tests
33 33
        }
34 34
        return {'content': json.dumps(content), 'status_code': 200}
35
    if url.path == '/clu/ws/statutDemande':
36
        content = {
37
            "n_demande_clu": '...',
38
            "statut": "200",
39
            "statut_desc": "CARTE_PRODUITE_EXPEDIEE",
40
            "date": "2019-01-01 00:00:00",
41
        }
42
        return {'content': json.dumps(content), 'status_code': 200}
35 43

  
36 44

  
37 45
@mock.patch('passerelle.utils.Request.post')
......
69 77
        assert request['telephone'] == '0102030405'
70 78
        assert request['services'] == [{'service': 'zoo', 'newsletter': 0}]
71 79
        assert resp.json['data']['n_demande_clu'] == 10000005
80

  
81
def test_card_status(app, connector):
82
    endpoint = utils.generic_endpoint_url('lille-urban-card', 'card_status', slug=connector.slug)
83
    with HTTMock(mocked_http):
84
        resp = app.get(endpoint + '?n_demande_clu=1234')
85
        assert resp.json['data']['statut_desc'] == 'CARTE_PRODUITE_EXPEDIEE'
72
-