def setUp(self): 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 setUp(self): TouristicEventFactory.create_batch(30) TouristicEventFactory.create(name='toto') self.login() self.user.is_superuser = True self.user.save() self.logout()
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.event1 = TouristicEventFactory.create() structure = StructureFactory.create() self.event2 = TouristicEventFactory.create(structure=structure)
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.event1 = TouristicEventFactory.create() structure = StructureFactory.create() self.event2 = TouristicEventFactory.create(structure=structure)
def test_every_field_column_none(self): self.login_as_superuser() TouristicEventFactory.create() request = RequestFactory().get('/fake-path') request.user = self.superuser request.session = {} view = TestList.as_view() response = view(request) html = response.render() self.assertEqual(response.status_code, 200) self.assertTrue(b'Description' in html.content)
def test_time_since_year(self): date = make_aware(datetime.now() - timedelta(days=366), utc) object_event = TouristicEventFactory.create(begin_date=date) out = Template('{% load mapentity_tags %}' '{{ object.begin_date|timesince }}').render( Context({'object': object_event})) self.assertEqual('1 year ago', out)
def test_time_since_now(self): date = make_aware(datetime.now(), utc) object_event = TouristicEventFactory.create(begin_date=date) out = Template('{% load mapentity_tags %}' '{{ object.begin_date|timesince }}').render( Context({'object': object_event})) self.assertIn('just a few seconds ago', out)
def test_public_document_pdf(self, mocked): content = TouristicEventFactory.create(published=True) url = '/api/en/touristicevents/{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 test_field_verbose_name_field_does_not_exist(self): object_event = TouristicEventFactory.create() with self.assertRaisesRegex(FieldDoesNotExist, "TouristicEvent has no field named 'do_not_exist'"): Template( '{% load mapentity_tags %}' '{{ object|verbose:"do_not_exist" }}' ).render(Context({'object': object_event}))
def test_field_no_field_but_verbose_name_field(self): object_event = TouristicEventFactory.create() setattr(object_event, 'do_not_exist_verbose_name', "test") template = Template('{% load mapentity_tags %}' '{{ object|verbose:"do_not_exist" }}').render( Context({'object': object_event})) self.assertEqual(template, "test")
def setUp(self): User = get_user_model() self.object = TouristicEventFactory.create() user = User.objects.create_user('aah', '*****@*****.**', 'booh') user.is_superuser = True user.save() success = self.client.login(username=user.username, password='******') self.assertTrue(success)
def test_delete_view_logs_deletion(self): obj = TouristicEventFactory.create() self.client.post('/touristicevent/delete/{0}/'.format(obj.pk)) self.assertEqual(LogEntry.objects.count(), 1) entry = LogEntry.objects.get() self.assertEqual(entry.object_id, str(obj.pk)) self.assertEqual(entry.action_flag, DELETION) self.assertEqual(entry.user, self.user)
def test_latlngbound_object(self): object_event = TouristicEventFactory.create() out = Template('{% load mapentity_tags %}' '{{ object|latlngbounds }}').render( Context({'object': object_event})) self.assertEqual( '[[-5.983856309208756, -1.3630812101178977], ' '[-5.983856309208756, -1.3630812101178977]]', out)
def test_can_specify_field_to_be_used(self): obj = TouristicEventFactory.create(name='blah') out = Template( '{% load mapentity_tags %}' '{% valuelist items field="name" %}' ).render(Context({ 'items': [obj] })) self.assertIn("""title="blah">blah</a></li>""", out.strip())
def setUp(self): User = get_user_model() self.user = User.objects.create_user('howard', '*****@*****.**', 'booh') def user_perms(p): return {'paperclip.add_attachment': False}.get(p, True) self.user.has_perm = mock.MagicMock(side_effect=user_perms) self.object = TouristicEventFactory.create() call_command('update_geotrek_permissions', verbosity=0)
def test_latlngbound_object(self): object_event = TouristicEventFactory.create() out = Template( '{% load mapentity_tags %}' '{{ object|latlngbounds }}' ).render(Context({'object': object_event})) json_out = json.loads(out) self.assertAlmostEqual(json_out[0][0], -5.9838563092087576) self.assertAlmostEqual(json_out[0][1], -1.363081210117898) self.assertAlmostEqual(json_out[1][0], -5.9838563092087576) self.assertAlmostEqual(json_out[1][1], -1.363081210117898)
def test_can_delete_actions(self): sample_object = TouristicEventFactory.create() delete_url = sample_object.get_delete_url() form = DummyForm(instance=sample_object) self.assertTrue(form.can_delete) self.assertTrue(('<a class="btn btn-danger delete" href="%s">' % delete_url) in form.helper.layout[1][0].html) form = DummyForm(instance=sample_object, can_delete=False) self.assertFalse(form.can_delete) self.assertTrue('<a class="btn disabled delete" href="#">' in form.helper.layout[1][0].html)
def test_auto_login_happens_by_remote_addr(self): obj = TouristicEventFactory.create(published=False) middleware.AUTOLOGIN_IPS = ['1.2.3.4'] attachment = AttachmentFactory.create(content_object=obj) response = self.client.get("/media/%s" % attachment.attachment_file, REMOTE_ADDR='1.2.3.5') self.assertEqual(response.status_code, 403) with mock.patch('django.contrib.auth.models._user_has_perm', return_value=True): response = self.client.get("/media/%s" % attachment.attachment_file, REMOTE_ADDR='1.2.3.4') self.assertEqual(response.status_code, 200)
def setUp(self): app_settings['SENDFILE_HTTP_HEADER'] = 'X-Accel-Redirect' self.obj = TouristicEventFactory.create(published=False) """ if os.path.exists(settings.MEDIA_ROOT): self.tearDown() os.makedirs(os.path.join(settings.MEDIA_ROOT, 'paperclip/test_app_dummymodel/{}'.format(self.obj.pk))) self.file = os.path.join(settings.MEDIA_ROOT, 'paperclip/test_app_dummymodel/{}/file.pdf'.format(self.obj.pk)) self.url = '/media/paperclip/test_app_dummymodel/{}/file.pdf'.format(self.obj.pk) open(self.file, 'wb').write(b'*' * 300) """ self.attachment = AttachmentFactory.create(content_object=self.obj) self.url = "/media/%s" % self.attachment.attachment_file call_command('update_geotrek_permissions', verbosity=0)
def test_update_view_logs_change(self): obj = TouristicEventFactory.create() self.client.post('/touristicevent/edit/{0}/'.format(obj.pk), data={ 'structure': Structure.objects.first().pk, 'name_en': 'test', 'geom': '{"type": "Point", "coordinates": [0, 0]}', 'model': 'touristicevent', }) self.assertEqual(LogEntry.objects.count(), 1) entry = LogEntry.objects.get() self.assertEqual(entry.get_edited_object(), obj) self.assertEqual(entry.action_flag, CHANGE) self.assertEqual(entry.user, self.user)
def test_overriden_document(self): event = TouristicEventFactory.create(published=True) with open(event.get_map_image_path(), 'w') as f: f.write('***' * 1000) url = '/api/en/touristicevents/{pk}/slug.odt'.format(pk=event.pk) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertTrue(len(response.content) > 1000) AttachmentFactory.create(obj=event, title="docprint", attachment_file=get_dummy_uploaded_document(size=100)) url = '/api/en/touristicevents/{pk}/slug.odt'.format(pk=event.pk) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertTrue(len(response.content) < 1000)
def test_overriden_document(self): event = TouristicEventFactory.create(published=True) with open(event.get_map_image_path(), 'w') as f: f.write('***' * 1000) url = '/api/en/touristicevents/{pk}/slug.odt'.format(pk=event.pk) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertTrue(len(response.content) > 1000) AttachmentFactory.create( obj=event, title="docprint", attachment_file=get_dummy_uploaded_document(size=100)) url = '/api/en/touristicevents/{pk}/slug.odt'.format(pk=event.pk) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertTrue(len(response.content) < 1000)
def test_not_published_document_pdf(self): content = TouristicEventFactory.create(published=False) url = '/api/en/touristicevents/{pk}/slug.pdf'.format(pk=content.pk) response = self.client.get(url) self.assertEqual(response.status_code, 403)
def setUp(self): self.user = User.objects.create_superuser('test', '*****@*****.**', 'booh') self.request = HttpRequest() self.request.user = self.user self.obj = TouristicEventFactory.create()
def setUp(self): self.login() self.user.user_permissions.all().delete() # WTF ? self.object = TouristicEventFactory.create()
def setUp(self): self.login() self.user.is_superuser = True self.user.save() self.logout() self.object = TouristicEventFactory.create(name='dumber')
def test_public_document_pdf(self, mocked): content = TouristicEventFactory.create(published=True) url = '/api/en/touristicevents/{pk}/slug.pdf'.format(pk=content.pk) mocked.return_value.status_code = 200 response = self.client.get(url) self.assertEqual(response.status_code, 200)
def test_not_published_document_pdf(self): content = TouristicEventFactory.create(published=False) url = '/api/en/touristicevents/{pk}/slug.pdf'.format(pk=content.pk) response = self.client.get(url) self.assertEqual(response.status_code, 403)
def setUp(self): # TouristicEvent : end_date = datetime.today() TouristicEventFactory.create() self.qs = TouristicEvent.objects.all()
def setUp(self): # TouristicEvent : end_date = datetime.today() TouristicEventFactory.create() self.qs = TouristicEvent.objects.all()