def setUp(self): profile = UserProfileFactory.create(user__username='******', user__password='******') user = profile.user user.groups.add(Group.objects.get(name=u"Référents communication")) self.client.login(username=user.username, password='******') self.content1 = TouristicContentFactory.create() structure = StructureFactory.create() self.content2 = TouristicContentFactory.create(structure=structure)
def setUp(self): self.content = TouristicContentFactory.create() cat = self.content.category cat.type1_label = 'Michelin' cat.save() self.category2 = TouristicContentCategoryFactory() self.login()
def test_public_document_pdf(self, mocked): content = TouristicContentFactory.create(published=True) url = '/api/en/touristiccontents/{pk}/slug.pdf'.format(pk=content.pk) mocked.return_value.status_code = 200 mocked.return_value.content = PNG_BLACK_PIXEL response = self.client.get(url) self.assertEqual(response.status_code, 200)
def setUp(self): self.content = TouristicContentFactory.create() cat = self.content.category cat.type1_label = 'Michelin' cat.save() self.category2 = TouristicContentCategoryFactory( label="Another category") self.login()
def setUpClass(cls): super(SyncMobileTreksTest, cls).setUpClass() cls.portal_a = TargetPortalFactory() cls.portal_b = TargetPortalFactory() picto_desk = get_dummy_uploaded_image() information_desk_type = InformationDeskTypeFactory.create( pictogram=picto_desk) cls.info_desk = InformationDeskFactory.create( type=information_desk_type) info_desk_no_picture = InformationDeskFactory.create(photo=None) cls.trek_1 = TrekWithPublishedPOIsFactory.create() cls.trek_1.information_desks.set((cls.info_desk, info_desk_no_picture)) cls.trek_2 = TrekWithPublishedPOIsFactory.create( portals=(cls.portal_a, )) cls.trek_3 = TrekWithPublishedPOIsFactory.create( portals=(cls.portal_b, )) cls.trek_4 = TrekFactory.create() OrderedTrekChild.objects.create(parent=cls.trek_1, child=cls.trek_4, order=1) cls.desk = InformationDeskFactory.create() cls.trek_4.information_desks.add(cls.desk) cls.attachment_1 = AttachmentFactory.create( content_object=cls.trek_1, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.trek_1, attachment_file=get_dummy_uploaded_image()) cls.poi_1 = cls.trek_1.published_pois.first() cls.attachment_poi_image_1 = AttachmentFactory.create( content_object=cls.poi_1, attachment_file=get_dummy_uploaded_image()) cls.attachment_poi_image_2 = AttachmentFactory.create( content_object=cls.poi_1, attachment_file=get_dummy_uploaded_image()) cls.attachment_poi_file = AttachmentFactory.create( content_object=cls.poi_1, attachment_file=get_dummy_uploaded_file()) cls.attachment_trek_image = AttachmentFactory.create( content_object=cls.trek_4, attachment_file=get_dummy_uploaded_image()) cls.touristic_content = TouristicContentFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) cls.touristic_event = TouristicEventFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) cls.attachment_content_1 = AttachmentFactory.create( content_object=cls.touristic_content, attachment_file=get_dummy_uploaded_image()) cls.attachment_event_1 = AttachmentFactory.create( content_object=cls.touristic_event, attachment_file=get_dummy_uploaded_image()) translation.deactivate()
def setUp(self): self.source_a = RecordSourceFactory() self.source_b = RecordSourceFactory() self.portal_a = TargetPortalFactory() self.portal_b = TargetPortalFactory() information_desks = InformationDeskFactory.create() self.trek_1 = TrekWithPublishedPOIsFactory.create( sources=(self.source_a, ), portals=(self.portal_b, ), published=True) self.trek_1.information_desks.add(information_desks) self.attachment_1 = AttachmentFactory.create( content_object=self.trek_1, attachment_file=get_dummy_uploaded_image()) self.trek_2 = TrekFactory.create(sources=(self.source_b, ), published=True) self.trek_3 = TrekFactory.create(portals=(self.portal_b, self.portal_a), published=True) self.trek_4 = TrekFactory.create(portals=(self.portal_a, ), published=True) self.poi_1 = trek_models.POI.objects.first() self.attachment_poi_image_1 = AttachmentFactory.create( content_object=self.poi_1, attachment_file=get_dummy_uploaded_image()) self.attachment_poi_image_2 = AttachmentFactory.create( content_object=self.poi_1, attachment_file=get_dummy_uploaded_image()) self.attachment_poi_file = AttachmentFactory.create( content_object=self.poi_1, attachment_file=get_dummy_uploaded_file()) infrastructure = InfrastructureFactory.create(no_path=True, name="INFRA_1") infrastructure.add_path(self.trek_1.paths.first(), start=0, end=0) signage = SignageFactory.create(no_path=True, name="SIGNA_1") signage.add_path(self.trek_1.paths.first(), start=0, end=0) SensitiveAreaFactory.create(published=True) self.touristic_content = TouristicContentFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) self.touristic_event = TouristicEventFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) self.attachment_touristic_content = AttachmentFactory.create( content_object=self.touristic_content, attachment_file=get_dummy_uploaded_image()) self.attachment_touristic_event = AttachmentFactory.create( content_object=self.touristic_event, attachment_file=get_dummy_uploaded_image())
def setUp(self): super().setUp() self.information_desks = InformationDeskFactory.create() self.trek = TrekWithPublishedPOIsFactory.create(published=True) if settings.TREKKING_TOPOLOGY_ENABLED: InfrastructureFactory.create(paths=[(self.trek.paths.first(), 0, 0) ], name="INFRA_1") SignageFactory.create(paths=[(self.trek.paths.first(), 0, 0)], name="SIGNA_1") else: InfrastructureFactory.create( geom='SRID=2154;POINT(700000 6600000)', name="INFRA_1") SignageFactory.create(geom='SRID=2154;POINT(700000 6600000)', name="SIGNA_1") area = SensitiveAreaFactory.create(published=True) area.species.practices.add( SportPracticeFactory.create(name='Terrestre')) area.save() self.touristic_content = TouristicContentFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) self.touristic_event = TouristicEventFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) self.attachment_touristic_content = AttachmentFactory.create( content_object=self.touristic_content, attachment_file=get_dummy_uploaded_image()) self.attachment_touristic_event = AttachmentFactory.create( content_object=self.touristic_event, attachment_file=get_dummy_uploaded_image()) self.touristic_content_without_attachment = TouristicContentFactory( geom='SRID=%s;POINT(700002 6600002)' % settings.SRID, published=True) self.touristic_event_without_attachment = TouristicEventFactory( geom='SRID=%s;POINT(700002 6600002)' % settings.SRID, published=True)
def setUp(self): translation.deactivate() self.contents = [] self.events = [] self.portals = [] self.portal_a = TargetPortalFactory() self.portal_b = TargetPortalFactory() self.source_a = RecordSourceFactory() self.source_b = RecordSourceFactory() self.content_1 = TouristicContentFactory.create(portals=(self.portal_a, self.portal_b), sources=(self.source_a, self.source_b)) self.content_2 = TouristicContentFactory.create(portals=(self.portal_a,), sources=(self.source_a, self.source_b)) self.event_1 = TouristicEventFactory.create(portals=(self.portal_a, self.portal_b), sources=(self.source_b, )) self.event_2 = TouristicEventFactory.create(portals=(self.portal_b,), sources=(self.source_a, self.source_b))
def test_external_public_document_pdf(self): content = TouristicContentFactory.create(published=True) Attachment.objects.create( filetype=FileType.objects.create(type="Topoguide"), content_object=content, creator=UserFactory.create(), attachment_file=SimpleUploadedFile('external.pdf', b'External PDF')) rmtree(settings.MEDIA_ROOT) url = '/api/en/touristiccontents/{pk}/slug.pdf'.format(pk=content.pk) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertEqual( response['X-Accel-Redirect'], '/media_secure/paperclip/tourism_touristiccontent/{}/external.pdf'. format(content.pk))
def test_overriden_document(self): content = TouristicContentFactory.create(published=True) with open(content.get_map_image_path(), 'w') as f: f.write('***' * 1000) url = '/api/en/touristiccontents/{pk}/slug.odt'.format(pk=content.pk) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertTrue(len(response.content) > 1000) AttachmentFactory.create(obj=content, title="docprint", attachment_file=get_dummy_uploaded_document(size=100)) url = '/api/en/touristiccontents/{pk}/slug.odt'.format(pk=content.pk) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertTrue(len(response.content) < 1000)
def setUpClass(cls): super(SyncRandoTestCase, cls).setUpClass() cls.trek = TrekWithPublishedPOIsFactory.create(published=True) cls.information_desks = InformationDeskFactory.create() cls.trek.information_desks.add(cls.information_desks) cls.attachment = AttachmentFactory.create( content_object=cls.trek, attachment_file=get_dummy_uploaded_image()) cls.source_a = RecordSourceFactory() cls.source_b = RecordSourceFactory() cls.portal_a = TargetPortalFactory() cls.portal_b = TargetPortalFactory() cls.trek_fr = TrekFactory.create(published_fr=True, sources=(cls.source_b, )) cls.trek_sb = TrekFactory.create(sources=(cls.source_b, ), published=True) cls.trek_sb_pa = TrekFactory.create(sources=(cls.source_b, ), portals=(cls.portal_a, ), published=True) cls.touristic_content = TouristicContentFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) cls.touristic_event = TouristicEventFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) cls.attachment_touristic_content = AttachmentFactory.create( content_object=cls.touristic_content, attachment_file=get_dummy_uploaded_image()) cls.attachment_touristic_event = AttachmentFactory.create( content_object=cls.touristic_event, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.touristic_content, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.touristic_event, attachment_file=get_dummy_uploaded_image()) cls.poi = trek_models.POI.objects.first() cls.attachment_poi_image = AttachmentFactory.create( content_object=cls.poi, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.poi, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.poi, attachment_file=get_dummy_uploaded_file())
def test_overriden_document(self): content = TouristicContentFactory.create(published=True) with open(content.get_map_image_path(), 'w') as f: f.write('***' * 1000) url = '/api/en/touristiccontents/{pk}/slug.odt'.format(pk=content.pk) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertTrue(len(response.content) > 1000) AttachmentFactory.create( obj=content, title="docprint", attachment_file=get_dummy_uploaded_document(size=100)) url = '/api/en/touristiccontents/{pk}/slug.odt'.format(pk=content.pk) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertTrue(len(response.content) < 1000)
def setUpClass(cls): super(SyncRandoTestCase, cls).setUpClass() cls.source = RecordSourceFactory() cls.portal = TargetPortalFactory() cls.information_desks = InformationDeskFactory.create() cls.touristic_content = TouristicContentFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) cls.touristic_event = TouristicEventFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) cls.attachment_touristic_content = AttachmentFactory.create(content_object=cls.touristic_content, attachment_file=get_dummy_uploaded_image()) cls.attachment_touristic_event = AttachmentFactory.create(content_object=cls.touristic_event, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.touristic_content, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.touristic_event, attachment_file=get_dummy_uploaded_image())
def test_sync_portal_source(self, stdout, mock_prepare_event, mock_prepare_content): def side_effect_sync_event(lang, event): self.assertEqual(event, self.touristic_event_p_s) def side_effect_sync_content(lang, content): self.assertEqual(content, self.touristic_content_p_s) self.touristic_content_p_s = TouristicContentFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, sources=(self.source,), portals=(self.portal,), published=True) self.touristic_event_p_s = TouristicEventFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, sources=(self.source,), portals=(self.portal,), published=True) command = FakeSyncCommand(portal=self.portal.name, source=[self.source.name]) synchro = SyncRando(command) with patch('geotrek.tourism.helpers_sync.SyncRando.sync_event', side_effect=side_effect_sync_event): with patch('geotrek.tourism.helpers_sync.SyncRando.sync_content', side_effect=side_effect_sync_content): synchro.sync('en') self.assertTrue(os.path.exists(os.path.join('var', 'tmp_sync_rando', 'static', 'tourism', 'touristicevent.svg'))) self.assertTrue(os.path.exists(os.path.join('var', 'tmp_sync_rando', 'api', 'en', 'information_desks.geojson')))
def setUpClass(cls): super(SyncRandoTestCase, cls).setUpClass() cls.practice_dive = PracticeFactory.create(order=0) cls.dive = DiveFactory.create(practice=cls.practice_dive, published=True, geom='SRID=2154;POINT(700001 6600001)') cls.attachment_dive = AttachmentFactory.create(content_object=cls.dive, attachment_file=get_dummy_uploaded_image()) cls.poi_dive = POIFactory.create(name="dive_poi", published=True) AttachmentFactory.create(content_object=cls.poi_dive, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.poi_dive, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.poi_dive, attachment_file=get_dummy_uploaded_file()) cls.touristic_content = TouristicContentFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) cls.touristic_event = TouristicEventFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) cls.attachment_touristic_content = AttachmentFactory.create(content_object=cls.touristic_content, attachment_file=get_dummy_uploaded_image()) cls.attachment_touristic_event = AttachmentFactory.create(content_object=cls.touristic_event, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.touristic_content, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=cls.touristic_event, attachment_file=get_dummy_uploaded_image()) cls.source_a = RecordSourceFactory() cls.source_b = RecordSourceFactory() cls.portal_a = TargetPortalFactory() cls.portal_b = TargetPortalFactory() cls.dive_portal_source = DiveFactory.create(practice=cls.practice_dive, published=True, geom='SRID=2154;POINT(700002 6600002)', portals=(cls.portal_a,), sources=(cls.source_a,)) cls.dive_other_portal_source = DiveFactory.create(practice=cls.practice_dive, published=True, geom='SRID=2154;POINT(700002 6600002)', portals=(cls.portal_b,), sources=(cls.source_b,))
def test_not_published_document_pdf(self): content = TouristicContentFactory.create(published=False) url = '/api/en/touristiccontents/{pk}/slug.pdf'.format(pk=content.pk) response = self.client.get(url) self.assertEqual(response.status_code, 403)
def setUp(self): self.source_a = RecordSourceFactory() self.source_b = RecordSourceFactory() self.portal_a = TargetPortalFactory() self.portal_b = TargetPortalFactory() information_desks = InformationDeskFactory.create() self.practice_trek = PracticeTrekFactory.create(order=1) self.practice_trek_first = PracticeTrekFactory.create(order=0) self.trek_1 = TrekWithPublishedPOIsFactory.create(practice=self.practice_trek, sources=(self.source_a, ), portals=(self.portal_b,), published=True) self.trek_1.information_desks.add(information_desks) self.attachment_1 = AttachmentFactory.create(content_object=self.trek_1, attachment_file=get_dummy_uploaded_image()) self.trek_2 = TrekFactory.create(sources=(self.source_b,), published=True) self.trek_3 = TrekFactory.create(portals=(self.portal_b, self.portal_a), published=True) self.trek_4 = TrekFactory.create(practice=self.practice_trek, portals=(self.portal_a,), published=True) self.trek_5 = TrekFactory.create(practice=self.practice_trek_first, portals=(self.portal_a,), published=True, name="other") self.practice_dive = PracticeDiveFactory.create(order=0) self.dive_1 = DiveFactory.create(practice=self.practice_dive, sources=(self.source_a,), portals=(self.portal_b,), published=True, geom='SRID=2154;POINT(700001 6600001)') self.attachment_dive = AttachmentFactory.create(content_object=self.dive_1, attachment_file=get_dummy_uploaded_image()) self.dive_2 = DiveFactory.create(sources=(self.source_b,), published=True, geom='SRID=2154;LINESTRING (700000 6600000, 700100 6600100)') self.dive_3 = DiveFactory.create(portals=(self.portal_b, self.portal_a), published=True, geom='POLYGON((700000 6600000, 700000 6600100, ' '700100 6600100, 700100 6600000, 700000 6600000))') self.dive_4 = DiveFactory.create(practice=self.practice_dive, portals=(self.portal_a,), published=True) self.poi_1 = trek_models.POI.objects.first() self.poi_dive = POIFactory.create(name="dive_poi", published=True) self.attachment_poi_image_1 = AttachmentFactory.create(content_object=self.poi_1, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=self.poi_dive, attachment_file=get_dummy_uploaded_image()) self.attachment_poi_image_2 = AttachmentFactory.create(content_object=self.poi_1, attachment_file=get_dummy_uploaded_image()) AttachmentFactory.create(content_object=self.poi_dive, attachment_file=get_dummy_uploaded_file()) self.attachment_poi_file = AttachmentFactory.create(content_object=self.poi_1, attachment_file=get_dummy_uploaded_file()) if settings.TREKKING_TOPOLOGY_ENABLED: infrastructure = InfrastructureFactory.create(no_path=True, name="INFRA_1") infrastructure.add_path(self.trek_1.paths.first(), start=0, end=0) signage = SignageFactory.create(no_path=True, name="SIGNA_1") signage.add_path(self.trek_1.paths.first(), start=0, end=0) else: InfrastructureFactory.create(geom='SRID=2154;POINT(700000 6600000)', name="INFRA_1") SignageFactory.create(geom='SRID=2154;POINT(700000 6600000)', name="SIGNA_1") area = SensitiveAreaFactory.create(published=True) area.species.practices.add(SportPracticeFactory.create(name='Terrestre')) area.save() self.touristic_content = TouristicContentFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) self.touristic_event = TouristicEventFactory( geom='SRID=%s;POINT(700001 6600001)' % settings.SRID, published=True) self.attachment_touristic_content = AttachmentFactory.create(content_object=self.touristic_content, attachment_file=get_dummy_uploaded_image()) self.attachment_touristic_event = AttachmentFactory.create(content_object=self.touristic_event, attachment_file=get_dummy_uploaded_image())
def test_public_document_pdf(self, mocked): content = TouristicContentFactory.create(published=True) url = '/api/en/touristiccontents/{pk}/slug.pdf'.format(pk=content.pk) mocked.return_value.status_code = 200 response = self.client.get(url) self.assertEqual(response.status_code, 200)