Beispiel #1
0
 def test_super_user_gets_all_talk_urls(self):
     create_user('super', superuser=True)
     self.client.login(username='******', password='******')
     self.assert_urls_accessible(self.talk_a)
     self.assert_urls_accessible(self.talk_s)
     self.assert_urls_accessible(self.talk_r)
     self.assert_missing_talk_urls_code(404)
Beispiel #2
0
 def test_update_submitted_superuser(self):
     create_user('super', superuser=True)
     self.check_talk_update(self.talk_s,
                            200,
                            auth={
                                'username': '******',
                                'password': '******',
                            })
Beispiel #3
0
 def test_view_consideration_has_view_all_perm(self):
     create_user('reviewer', perms=['view_all_talks'])
     self.check_talk_view(self.talk_u,
                          200,
                          auth={
                              'username': '******',
                              'password': '******',
                          })
Beispiel #4
0
 def test_view_provisional_has_view_all_perm(self):
     create_user('reviewer', perms=['view_all_talks'])
     self.check_talk_view(self.talk_p,
                          200,
                          auth={
                              'username': '******',
                              'password': '******',
                          })
Beispiel #5
0
 def test_view_notes_rejected_superuser(self):
     create_user('super', superuser=True)
     self.check_talk_view(self.talk_r,
                          True,
                          True,
                          auth={
                              'username': '******',
                              'password': '******',
                          })
Beispiel #6
0
 def test_view_notes_rejected_both_perms(self):
     create_user('editor', perms=['edit_private_notes', 'view_all_talks'])
     self.check_talk_view(self.talk_r,
                          True,
                          True,
                          auth={
                              'username': '******',
                              'password': '******',
                          })
Beispiel #7
0
 def test_view_notes_rejected_has_view_all_perm(self):
     create_user('reviewer', perms=['view_all_talks'])
     self.check_talk_view(self.talk_r,
                          True,
                          False,
                          auth={
                              'username': '******',
                              'password': '******',
                          })
Beispiel #8
0
 def test_user_with_view_all(self):
     """Test that users with the view_all permission see all talks."""
     create_user('reviewer', perms=['view_all_talks'])
     self.client.login(username='******', password='******')
     response = self.client.get('/talks/')
     self.assertEqual(response.status_code, 200)
     self.assertEqual(set(response.context['talk_list']),
                      set([self.talk_a, self.talk_r, self.talk_p,
                           self.talk_s, self.talk_u, self.talk_c]))
Beispiel #9
0
 def test_admin_user(self):
     """Test that admin users see all talks."""
     create_user('super', superuser=True)
     self.client.login(username='******', password='******')
     response = self.client.get('/talks/')
     self.assertEqual(response.status_code, 200)
     self.assertEqual(set(response.context['talk_list']),
                      set([self.talk_a, self.talk_r, self.talk_p,
                           self.talk_s, self.talk_u, self.talk_c]))
Beispiel #10
0
 def test_view_notes_accepted_has_edit_private_notes(self):
     create_user('editor', perms=['edit_private_notes'])
     self.check_talk_view(self.talk_a,
                          False,
                          True,
                          auth={
                              'username': '******',
                              'password': '******',
                          })
Beispiel #11
0
 def test_view_notes_rejected_has_edit_private_notes(self):
     # edit_private_notes doesn't imply view_all_talks
     create_user('editor', perms=['edit_private_notes'])
     self.check_talk_view(self.talk_r,
                          False,
                          False,
                          auth={
                              'username': '******',
                              'password': '******',
                          })
Beispiel #12
0
 def test_ordinary_users_get_accepted_talks(self):
     create_user('norm')
     self.client.login(username='******', password='******')
     response = self.client.get('/talks/api/talks/')
     self.assertEqual(response.data['count'], 1)
     self.assertEqual(response.data['results'][0]['title'], "Talk A")
     response = self.client.get('/talks/api/talks/%d/' %
                                self.talk_a.talk_id)
     self.assertEqual(response.data['title'], 'Talk A')
     response = self.client.get('/talks/api/talks/%d/' %
                                self.talk_r.talk_id)
     self.assertEqual(response.status_code, 404)
Beispiel #13
0
 def test_reviewer_all_talks(self):
     create_user('reviewer', perms=['view_all_talks'])
     self.client.login(username='******', password='******')
     response = self.client.get('/talks/api/talks/')
     self.assertEqual(response.data['count'], 3)
     self.assertEqual(response.data['results'][0]['title'], "Talk A")
     self.assertEqual(response.data['results'][1]['title'], "Talk R")
     self.assertEqual(response.data['results'][2]['title'], "Talk S")
     response = self.client.get('/talks/api/talks/%d/' %
                                self.talk_a.talk_id)
     self.assertEqual(response.data['title'], 'Talk A')
     response = self.client.get('/talks/api/talks/%d/' %
                                self.talk_r.talk_id)
     self.assertEqual(response.data['title'], 'Talk R')
Beispiel #14
0
 def test_super_user_gets_everything(self):
     create_user('super', superuser=True)
     self.client.login(username='******', password='******')
     response = self.client.get('/talks/api/talks/')
     self.assertEqual(response.data['count'], 3)
     self.assertEqual(response.data['results'][0]['title'], "Talk A")
     self.assertEqual(response.data['results'][1]['title'], "Talk R")
     self.assertEqual(response.data['results'][2]['title'], "Talk S")
     response = self.client.get('/talks/api/talks/%d/' %
                                self.talk_a.talk_id)
     self.assertEqual(response.data['title'], 'Talk A')
     response = self.client.get('/talks/api/talks/%d/' %
                                self.talk_r.talk_id)
     self.assertEqual(response.data['title'], 'Talk R')
Beispiel #15
0
 def test_posts(self):
     email = "*****@*****.**"
     user = create_user('Joe', email=email)
     client = Client()
     post_data = {
         "ticket_type": "Test Type",
         "barcode": "54321",
         "email": "*****@*****.**"
     }
     with self.settings(WAFER_TICKETS_SECRET='testsecret'):
         # Check that the secret matters
         response = client.post('/tickets/zapier_guest_hook/',
                                json.dumps(post_data),
                                content_type="application/json",
                                HTTP_X_ZAPIER_SECRET='wrongsecret')
         self.assertEqual(response.status_code, 403)
         # Check that the ticket gets processed correctly with an
         # existing user
         response = client.post('/tickets/zapier_guest_hook/',
                                json.dumps(post_data),
                                content_type="application/json",
                                HTTP_X_ZAPIER_SECRET='testsecret')
         self.assertEqual(response.status_code, 200)
         ticket = Ticket.objects.get(barcode=54321)
         self.assertEqual(ticket.barcode, 54321)
         self.assertEqual(ticket.email, email)
         self.assertEqual(ticket.user, user)
         # Check duplicate post doesn't change anything
         response = client.post('/tickets/zapier_guest_hook/',
                                json.dumps(post_data),
                                content_type="application/json",
                                HTTP_X_ZAPIER_SECRET='testsecret')
         self.assertEqual(response.status_code, 200)
         ticket = Ticket.objects.get(barcode=54321)
         self.assertEqual(ticket.barcode, 54321)
         self.assertEqual(ticket.email, email)
         self.assertEqual(ticket.user, user)
         # Change email to one that doesn't exist
         post_data['email'] = '*****@*****.**'
         post_data['barcode'] = 65432
         response = client.post('/tickets/zapier_guest_hook/',
                                json.dumps(post_data),
                                content_type="application/json",
                                HTTP_X_ZAPIER_SECRET='testsecret')
         self.assertEqual(response.status_code, 200)
         ticket = Ticket.objects.get(barcode=65432)
         self.assertEqual(ticket.barcode, 65432)
         self.assertEqual(ticket.email, '*****@*****.**')
         self.assertEqual(ticket.user, None)
         # Test cancelation
         response = client.post('/tickets/zapier_cancel_hook/',
                                json.dumps(post_data),
                                content_type="application/json",
                                HTTP_X_ZAPIER_SECRET='testsecret')
         self.assertEqual(response.status_code, 200)
         # Check ticket has been deleted
         self.assertFalse(Ticket.objects.filter(barcode=65432).exists())
         # Check earlier ticket still exists
         self.assertEqual(Ticket.objects.filter(barcode=54321).count(), 1)
Beispiel #16
0
def create_talk(title, status, username):
    user = create_user(username)
    talk = Talk.objects.create(
        title=title, status=status, corresponding_author_id=user.id)
    talk.authors.add(user)
    talk.notes = "Some notes for talk %s" % title
    talk.private_notes = "Some private notes for talk %s" % title
    talk.save()
    return talk
Beispiel #17
0
 def test_simple_import_with_user(self):
     user = create_user("User Foo", email=self.user_email)
     import_ticket(12345, "Individual", self.user_email)
     ticket_type = TicketType.objects.get(name="Individual")
     ticket = Ticket.objects.get(barcode=12345)
     self.assertEqual(ticket.barcode, 12345)
     self.assertEqual(ticket.email, self.user_email)
     self.assertEqual(ticket.type, ticket_type)
     self.assertEqual(ticket.user, user)
Beispiel #18
0
 def test_create_talk(self):
     author = create_user("author")
     response = self.client.post('/talks/api/talks/', data={
         'talk_type': None, 'status': 'A', 'title': 'Talk Foo',
         'abstract': 'Concrete',
         'corresponding_author': author.id,
         'authors': [author.id],
     }, format='json')
     talk = Talk.objects.get()
     self.assertEqual(response.data, self.mk_result(talk))
Beispiel #19
0
 def setUp(self):
     create_user('super', superuser=True)
     self.client = SortedResultsClient(sort_key="url")
     self.client.login(username='******', password='******')
Beispiel #20
0
 def test_ordinary_users_get_no_talk_urls(self):
     create_user('norm')
     self.assert_urls_forbidden(self.talk_a)
     self.assert_urls_forbidden(self.talk_s)
     self.assert_urls_forbidden(self.talk_r)
     self.assert_missing_talk_urls_code(403)
Beispiel #21
0
 def setUp(self):
     create_user("super", superuser=True)
     self.client = SortedResultsClient(sort_key="barcode")
     self.client.login(username="******", password="******")