class EventsViewsTest(TestCase): "Events functional tests for api" username = "******" password = "******" prepared = False authentication_headers = { "CONTENT_TYPE": "application/json", "HTTP_AUTHORIZATION": "Basic YXBpX3Rlc3Q6YXBpX3Bhc3N3b3Jk" } content_type = 'application/json' def setUp(self): "Initial Setup" if not self.prepared: # Clean up first Object.objects.all().delete() # Create objects try: self.group = Group.objects.get(name='test') except Group.DoesNotExist: Group.objects.all().delete() self.group = Group(name='test') self.group.save() try: self.user = DjangoUser.objects.get(username=self.username) self.user.set_password(self.password) try: self.profile = self.user.get_profile() except Exception: User.objects.all().delete() self.user = DjangoUser(username=self.username, password='') self.user.set_password(self.password) self.user.save() except DjangoUser.DoesNotExist: User.objects.all().delete() self.user = DjangoUser(username=self.username, password='') self.user.set_password(self.password) self.user.save() try: perspective = Perspective.objects.get(name='default') except Perspective.DoesNotExist: Perspective.objects.all().delete() perspective = Perspective(name='default') perspective.set_default_user() perspective.save() ModuleSetting.set('default_perspective', perspective.id) self.event = Event(name='TestStatus', end=datetime.now()) self.event.set_default_user() self.event.save() self.client = Client() self.prepared = True def test_unauthenticated_access(self): "Test index page at /api/calendar/events" response = self.client.get('/api/calendar/events') # Redirects as unauthenticated self.assertEquals(response.status_code, 401) def test_get_events_list(self): """ Test index page api/infrastructure/types """ response = self.client.get(path=reverse('api_events'), **self.authentication_headers) self.assertEquals(response.status_code, 200) def test_get_field(self): response = self.client.get(path=reverse( 'api_events', kwargs={'object_ptr': self.event.id}), **self.authentication_headers) self.assertEquals(response.status_code, 200) def test_update_field(self): updates = { "name": "Api_name", "details": "Api details", "start": "2011-03-01 01:12:09", "end": "2011-03-09 13:05:09" } response = self.client.put(path=reverse( 'api_events', kwargs={'object_ptr': self.event.id}), content_type=self.content_type, data=json.dumps(updates), **self.authentication_headers) self.assertEquals(response.status_code, 200) data = json.loads(response.content) self.assertEquals(data['name'], updates['name']) self.assertEquals(data['details'], updates['details']) self.assertEquals(data['start'], updates['start']) self.assertEquals(data['end'], updates['end'])
class EventsViewsTest(TestCase): "Events functional tests for api" username = "******" password = "******" prepared = False authentication_headers = {"CONTENT_TYPE": "application/json", "HTTP_AUTHORIZATION": "Basic YXBpX3Rlc3Q6YXBpX3Bhc3N3b3Jk"} content_type = 'application/json' def setUp(self): "Initial Setup" if not self.prepared: # Clean up first Object.objects.all().delete() # Create objects try: self.group = Group.objects.get(name='test') except Group.DoesNotExist: Group.objects.all().delete() self.group = Group(name='test') self.group.save() try: self.user = DjangoUser.objects.get(username=self.username) self.user.set_password(self.password) try: self.profile = self.user.get_profile() except Exception: User.objects.all().delete() self.user = DjangoUser(username=self.username, password='') self.user.set_password(self.password) self.user.save() except DjangoUser.DoesNotExist: User.objects.all().delete() self.user = DjangoUser(username=self.username, password='') self.user.set_password(self.password) self.user.save() try: perspective = Perspective.objects.get(name='default') except Perspective.DoesNotExist: Perspective.objects.all().delete() perspective = Perspective(name='default') perspective.set_default_user() perspective.save() ModuleSetting.set('default_perspective', perspective.id) self.event = Event(name='TestStatus', end=datetime.now()) self.event.set_default_user() self.event.save() self.client = Client() self.prepared = True def test_unauthenticated_access(self): "Test index page at /api/calendar/events" response = self.client.get('/api/calendar/events') # Redirects as unauthenticated self.assertEquals(response.status_code, 401) def test_get_events_list(self): """ Test index page api/infrastructure/types """ response = self.client.get( path=reverse('api_events'), **self.authentication_headers) self.assertEquals(response.status_code, 200) def test_get_field(self): response = self.client.get(path=reverse( 'api_events', kwargs={'object_ptr': self.event.id}), **self.authentication_headers) self.assertEquals(response.status_code, 200) def test_update_field(self): updates = {"name": "Api_name", "details": "Api details", "start": "2011-03-01 01:12:09", "end": "2011-03-09 13:05:09"} response = self.client.put(path=reverse('api_events', kwargs={'object_ptr': self.event.id}), content_type=self.content_type, data=json.dumps(updates), **self.authentication_headers) self.assertEquals(response.status_code, 200) data = json.loads(response.content) self.assertEquals(data['name'], updates['name']) self.assertEquals(data['details'], updates['details']) self.assertEquals(data['start'], updates['start']) self.assertEquals(data['end'], updates['end'])
class EventsViewsTest(TestCase): "Events functional tests for views" username = "******" password = "******" prepared = False def setUp(self): "Initial Setup" if not self.prepared: # Clean up first Object.objects.all().delete() # Create objects self.group, created = Group.objects.get_or_create(name='test') duser, created = DjangoUser.objects.get_or_create( username=self.username) duser.set_password(self.password) duser.save() self.user, created = User.objects.get_or_create(user=duser) self.user.save() perspective, created = Perspective.objects.get_or_create( name='default') perspective.set_default_user() perspective.save() ModuleSetting.set('default_perspective', perspective.id) self.event = Event(name='TestStatus', end=datetime.now()) self.event.set_default_user() self.event.save() self.client = Client() self.prepared = True ###################################### # Testing views when user is logged in ###################################### def test_index(self): "Test index page with login at /calendar/index" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('events_index')) self.assertEquals(response.status_code, 200) def test_upcoming(self): "Test index page with login at /calendar/upcoming" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('events_upcoming')) self.assertEquals(response.status_code, 200) def test_month(self): "Test index page with login at /calendar/month" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('events_month')) self.assertEquals(response.status_code, 200) def test_week(self): "Test index page with login at /calendar/week" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('events_week')) self.assertEquals(response.status_code, 200) def test_day(self): "Test index page with login at /calendar/day" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('events_day')) self.assertEquals(response.status_code, 200) # Events def test_event_add(self): "Test index page with login at /calendar/event/view/<event_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('events_event_add')) self.assertEquals(response.status_code, 200) # form num_objects = Event.objects.count() self.assertEquals(Event.objects.count(), 1) post_data = {'name': 'TestStatus', 'end': datetime.now() } response = self.client.post(reverse('events_event_add'), post_data) # self.assertEquals(response.status_code, 302) # redirect somewhere #self.assertEquals(Event.objects.count(), num_objects + 1) def test_event_view(self): "Test index page with login at /calendar/event/view/<event_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('events_event_view', args=[self.event.id])) self.assertEquals(response.status_code, 200) def test_event_edit(self): "Test index page with login at /calendar/event/edit/<event_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('events_event_edit', args=[self.event.id])) self.assertEquals(response.status_code, 200) def test_event_delete(self): "Test index page with login at /calendar/event/delete/<event_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('events_event_delete', args=[self.event.id])) self.assertEquals(response.status_code, 200) ###################################### # Testing views when user is not logged in ###################################### def test_index_anonymous(self): "Test index page at /calendar/" response = self.client.get(reverse('events')) # Redirects as unauthenticated self.assertRedirects(response, reverse('user_login')) def test_index_out(self): "Testing /calendar/index" response = self.client.get(reverse('events_index')) self.assertRedirects(response, reverse('user_login')) def test_upcoming_out(self): "Testing /calendar/upcoming" response = self.client.get(reverse('events_upcoming')) self.assertRedirects(response, reverse('user_login')) def test_month_out(self): "Testing /calendar/month" response = self.client.get(reverse('events_month')) self.assertRedirects(response, reverse('user_login')) def test_week_out(self): "Testing /calendar/week" response = self.client.get(reverse('events_week')) self.assertRedirects(response, reverse('user_login')) def test_day_out(self): "Testing /calendar/day" response = self.client.get(reverse('events_day')) self.assertRedirects(response, reverse('user_login')) # Events def test_event_add_out(self): "Testing /calendar/event/view/<event_id>" response = self.client.get(reverse('events_event_add')) self.assertRedirects(response, reverse('user_login')) def test_event_view_out(self): "Testing /calendar/event/view/<event_id>" response = self.client.get( reverse('events_event_view', args=[self.event.id])) self.assertRedirects(response, reverse('user_login')) def test_event_edit_out(self): "Testing /calendar/event/edit/<event_id>" response = self.client.get( reverse('events_event_edit', args=[self.event.id])) self.assertRedirects(response, reverse('user_login')) def test_event_delete_out(self): "Testing /calendar/event/delete/<event_id>" response = self.client.get( reverse('events_event_delete', args=[self.event.id])) self.assertRedirects(response, reverse('user_login'))
class EventsViewsTest(TestCase): "Events functional tests for views" username = "******" password = "******" prepared = False def setUp(self): "Initial Setup" if not self.prepared: # Clean up first Object.objects.all().delete() # Create objects self.group, created = Group.objects.get_or_create(name='test') duser, created = DjangoUser.objects.get_or_create( username=self.username) duser.set_password(self.password) duser.save() self.user, created = User.objects.get_or_create(user=duser) self.user.save() perspective, created = Perspective.objects.get_or_create( name='default') perspective.set_default_user() perspective.save() ModuleSetting.set('default_perspective', perspective.id) self.event = Event(name='TestStatus', end=datetime.now()) self.event.set_default_user() self.event.save() self.client = Client() self.prepared = True ###################################### # Testing views when user is logged in ###################################### def test_index(self): "Test index page with login at /calendar/index" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('events_index')) self.assertEquals(response.status_code, 200) def test_upcoming(self): "Test index page with login at /calendar/upcoming" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('events_upcoming')) self.assertEquals(response.status_code, 200) def test_month(self): "Test index page with login at /calendar/month" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('events_month')) self.assertEquals(response.status_code, 200) def test_week(self): "Test index page with login at /calendar/week" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('events_week')) self.assertEquals(response.status_code, 200) def test_day(self): "Test index page with login at /calendar/day" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('events_day')) self.assertEquals(response.status_code, 200) # Events def test_event_add(self): "Test index page with login at /calendar/event/view/<event_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('events_event_add')) self.assertEquals(response.status_code, 200) # form num_objects = Event.objects.count() self.assertEquals(Event.objects.count(), 1) post_data = {'name': 'TestStatus', 'end': datetime.now()} response = self.client.post(reverse('events_event_add'), post_data) #self.assertEquals(response.status_code, 302) # redirect somewhere #self.assertEquals(Event.objects.count(), num_objects + 1) def test_event_view(self): "Test index page with login at /calendar/event/view/<event_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('events_event_view', args=[self.event.id])) self.assertEquals(response.status_code, 200) def test_event_edit(self): "Test index page with login at /calendar/event/edit/<event_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('events_event_edit', args=[self.event.id])) self.assertEquals(response.status_code, 200) def test_event_delete(self): "Test index page with login at /calendar/event/delete/<event_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('events_event_delete', args=[self.event.id])) self.assertEquals(response.status_code, 200) ###################################### # Testing views when user is not logged in ###################################### def test_index_anonymous(self): "Test index page at /calendar/" response = self.client.get(reverse('events')) # Redirects as unauthenticated self.assertRedirects(response, reverse('user_login')) def test_index_out(self): "Testing /calendar/index" response = self.client.get(reverse('events_index')) self.assertRedirects(response, reverse('user_login')) def test_upcoming_out(self): "Testing /calendar/upcoming" response = self.client.get(reverse('events_upcoming')) self.assertRedirects(response, reverse('user_login')) def test_month_out(self): "Testing /calendar/month" response = self.client.get(reverse('events_month')) self.assertRedirects(response, reverse('user_login')) def test_week_out(self): "Testing /calendar/week" response = self.client.get(reverse('events_week')) self.assertRedirects(response, reverse('user_login')) def test_day_out(self): "Testing /calendar/day" response = self.client.get(reverse('events_day')) self.assertRedirects(response, reverse('user_login')) # Events def test_event_add_out(self): "Testing /calendar/event/view/<event_id>" response = self.client.get(reverse('events_event_add')) self.assertRedirects(response, reverse('user_login')) def test_event_view_out(self): "Testing /calendar/event/view/<event_id>" response = self.client.get( reverse('events_event_view', args=[self.event.id])) self.assertRedirects(response, reverse('user_login')) def test_event_edit_out(self): "Testing /calendar/event/edit/<event_id>" response = self.client.get( reverse('events_event_edit', args=[self.event.id])) self.assertRedirects(response, reverse('user_login')) def test_event_delete_out(self): "Testing /calendar/event/delete/<event_id>" response = self.client.get( reverse('events_event_delete', args=[self.event.id])) self.assertRedirects(response, reverse('user_login'))