コード例 #1
0
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'])
コード例 #2
0
ファイル: tests.py プロジェクト: AlexLX2/treeio
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'])
コード例 #3
0
ファイル: tests.py プロジェクト: AlexLX2/treeio
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'))
コード例 #4
0
ファイル: tests.py プロジェクト: natasha-white/treeio-1
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'))