コード例 #1
0
ファイル: tests.py プロジェクト: natasha-white/treeio-1
    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
コード例 #2
0
ファイル: tests.py プロジェクト: AlexLX2/treeio
    def test_model_event(self):
        "Test Event model"
        event = Event(name="Test", end=datetime.now())
        event.save()
        self.assertNotEquals(event.id, None)

        event.delete()
コード例 #3
0
    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
コード例 #4
0
ファイル: tests.py プロジェクト: AlexLX2/treeio
    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
コード例 #5
0
ファイル: views.py プロジェクト: hbcbh1999/treeio
def event_add(request, date=None, hour=12, response_format="html"):
    "Event add form"

    if request.POST:
        if not "cancel" in request.POST:
            event = Event()
            form = EventForm(request.user.get_profile(), date, hour, request.POST, instance=event)
            if form.is_valid():
                event = form.save()
                event.set_user_from_request(request)
                return HttpResponseRedirect(reverse("events_event_view", args=[event.id]))
        else:
            return HttpResponseRedirect(reverse("events"))
    else:
        form = EventForm(request.user.get_profile(), date, hour)

    return render_to_response(
        "events/event_add", {"form": form}, context_instance=RequestContext(request), response_format=response_format
    )
コード例 #6
0
ファイル: tests.py プロジェクト: natasha-white/treeio-1
    def test_model_event(self):
        "Test Event model"
        event = Event(name="Test", end=datetime.now())
        event.save()
        self.assertNotEquals(event.id, None)

        event.delete()
コード例 #7
0
ファイル: views.py プロジェクト: vovkd/treeio
def event_add(request, date=None, hour=12, response_format='html'):
    "Event add form"

    if request.POST:
        if not 'cancel' in request.POST:
            event = Event()
            form = EventForm(request.user.get_profile(),
                             date,
                             hour,
                             request.POST,
                             instance=event)
            if form.is_valid():
                event = form.save()
                event.set_user_from_request(request)
                return HttpResponseRedirect(
                    reverse('events_event_view', args=[event.id]))
        else:
            return HttpResponseRedirect(reverse('events'))
    else:
        form = EventForm(request.user.get_profile(), date, hour)

    return render_to_response('events/event_add', {'form': form},
                              context_instance=RequestContext(request),
                              response_format=response_format)
コード例 #8
0
ファイル: tests.py プロジェクト: AlexLX2/treeio
    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
コード例 #9
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'])
コード例 #10
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'))
コード例 #11
0
ファイル: integration.py プロジェクト: 3atmospheres/treeio
def _do_sync(data, user):
    "Run updates"
    
    resource_id = data.info.application.id.raw
    
    for item in data.result:
        item_id = None
        if 'id' in item.raw:
            item_id = item.id.raw
        dups = _find_duplicates(resource_id, item, user)
        if dups:
            for event in dups:
                try:
                    event.add_nuvius_resource(resource_id, item_id)
                    event.name = item.title.raw
                    if item.date:
                        idate = item.date[0]
                        event.start = datetime(*idate.start.raw[:6])
                        event.end = datetime(*idate.end.raw[:6])
                    event.auto_notify = False
                    event.save()
                except:
                    pass
        else:
            try:
                event = Event()
                event.add_nuvius_resource(resource_id, item_id)
                event.name = item.title.raw
                if item.date:
                    idate = item.date[0]
                    event.start = datetime(*idate.start.raw[:6])
                    event.end = datetime(*idate.end.raw[:6])
                event.auto_notify = False
                event.set_user(user)
                event.save()
            except:
                pass
            
    _clean_missing(resource_id, data.result, user)
コード例 #12
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'])
コード例 #13
0
ファイル: integration.py プロジェクト: vovkd/treeio
def _do_sync(data, user):
    "Run updates"

    resource_id = data.info.application.id.raw

    for item in data.result:
        item_id = None
        if 'id' in item.raw:
            item_id = item.id.raw
        dups = _find_duplicates(resource_id, item, user)
        if dups:
            for event in dups:
                try:
                    event.add_nuvius_resource(resource_id, item_id)
                    event.name = item.title.raw
                    if item.date:
                        idate = item.date[0]
                        event.start = datetime(*idate.start.raw[:6])
                        event.end = datetime(*idate.end.raw[:6])
                    event.auto_notify = False
                    event.save()
                except:
                    pass
        else:
            try:
                event = Event()
                event.add_nuvius_resource(resource_id, item_id)
                event.name = item.title.raw
                if item.date:
                    idate = item.date[0]
                    event.start = datetime(*idate.start.raw[:6])
                    event.end = datetime(*idate.end.raw[:6])
                event.auto_notify = False
                event.set_user(user)
                event.save()
            except:
                pass

    _clean_missing(resource_id, data.result, user)
コード例 #14
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'))