from unittest import mock import pytest import tests.utils from passerelle.apps.feeds.models import Feed FEED_EXAMPLE = """ Actualités de Strasbourg Actualités de Strasbourg 30 juin - 1er juillet : conditions de circulation et de stationnement Ville et Eurométropole de Strasbourg http://www.strasbourg.eu/fr/actualites/-/asset_publisher/lG7u/content/id/5722879 2017-06-29T17:19:05Z 2017-06-29T16:46:24Z <img src='http://media.strasbourg.eu/alfresco/d/d/workspace/SpacesStore/8a6e5fa7-a0be-4287-8034-eed14e86df39/Plan_Parlement.jpg' /><div>Dans le cadre de la cérémonie d'hommage à Helmut Kohl au Parlement européen, prenez connaissance du dispositif de sécurité mis en place avec notamment des restrictions de circulation et de stationnement le vendredi 30 juin et le samedi 1er juillet.</div> Ville et Eurométropole de Strasbourg 2017-06-29T16:46:24Z A noter cette semaine : circulation, travaux, services publics, événements Ville et Eurométropole de Strasbourg http://www.strasbourg.eu/fr/actualites/-/asset_publisher/lG7u/content/id/5715308 2017-06-29T12:37:41Z 2017-06-26T07:33:59Z <img src='http://media.strasbourg.eu/alfresco/d/d/workspace/SpacesStore/6f54e4f0-5c63-4b80-b2c2-df7afc7d213e/vue_de_Strasbourg.jpg' /><div>Informations utiles à savoir du 26 juin au 3 juillet 2017</div> Ville et Eurométropole de Strasbourg 2017-06-26T07:33:59Z """ @pytest.fixture def connector(db): return tests.utils.setup_access_rights(Feed.objects.create(slug='test', url='http://example.net/')) @mock.patch('passerelle.utils.Request.get') def test_feed(mocked_get, app, connector): mocked_get.return_value = tests.utils.FakedResponse(content=FEED_EXAMPLE, status=200) endpoint = tests.utils.generic_endpoint_url('feeds', 'json', slug=connector.slug) assert endpoint == '/feeds/test/json' resp = app.get(endpoint) assert resp.json['data']['feed']['title'] assert len(resp.json['data']['entries']) == 2