Example #1
0
 def setUp(self):
     self.client = ValidatingClient()
     self.first_object = Object.objects.create(name='first one')
     self.second_object = Object.objects.create(name='second one')
     self.third_object = Object.objects.create(name='third one')
     self.fourth_object = Object.objects.create(name='fourth one')
     self.edit_1_url = reverse('object-edit', args=[self.first_object.pk])
     self.delete_1_url = reverse('object-delete',
                                 args=[self.first_object.pk])
     self.delete_2_url = reverse('object-delete',
                                 args=[self.second_object.pk])
Example #2
0
    def setUp(self):
        self.client = ValidatingClient()

        self.user = User.objects.create_user('test_user', '*****@*****.**', 'secret')
        self.user.save()

        self.team = Team(name='team')
        self.team.save()
        self.team.members.add(self.user)
        self.team.save()

        self.client = ValidatingClient()
Example #3
0
class HtmlValidation(TestCase):
    fixtures = [
        'products-all.yaml', 'customers-54730.yaml', 'quickpages.yaml',
        'home-all.yaml'
    ]

    def setUp(self):
        self.client = ValidatingClient()

    def test_main_page(self):
        response = self.client.get("https://eracks.com/")
        self.assertEqual(response.status_code, 200)

    def test_services_page(self):
        response = self.client.get("https://eracks.com/services/")
        self.assertEqual(response.status_code, 200)

    def test_contact_page(self):
        response = self.client.get("https://eracks.com/contact/")
        self.assertEqual(response.status_code, 200)

    def test_customers_page(self):
        response = self.client.get("https://eracks.com/customers/")
        self.assertEqual(response.status_code, 200)

    def test_cart_page(self):
        response = self.client.get("https://eracks.com/cart/")
        self.assertEqual(response.status_code, 200)

    def test_showroom_page(self):
        response = self.client.get("https://eracks.com/showroom/")
        self.assertEqual(response.status_code, 200)

    def test_partners_page(self):
        response = self.client.get("https://eracks.com/partners/")
        self.assertEqual(response.status_code, 200)

    def test_press_page(self):
        response = self.client.get("https://eracks.com/press/")
        self.assertEqual(response.status_code, 200)

    def test_corporate_page(self):
        response = self.client.get("https://eracks.com/corporate/")
        self.assertEqual(response.status_code, 200)

    #def test_product_premium(self):
    #    response = self.client.get("https://eracks.com/products/general-purpose/PREMIUM/")
    #    self.assertEqual(response.status_code, 200)

    def test_product_dmz(self):
        response = self.client.get(
            "https://eracks.com/products/firewall-servers/DMZ/")
        self.assertEqual(response.status_code, 200)
class Tests(TestCase):
    def setUp(self):
        super(Tests, self).setUp()
        self.client = ValidatingClient()

    def test_render_home_page(self):
        response = self.client.get('/')
        self.assertEqual(response.status_code, 200)

    def test_render_not_valid(self):
        response = self.client.get('/not/')
        self.assertEqual(response.status_code, 200)
Example #5
0
class HtmlValidation(TestCase):

    fixtures = ['products.yaml', 'quickpages.yaml', 'home.yaml']

    def setUp(self):
        self.client = ValidatingClient()

    def test_main_page(self):
        response = self.client.get("https://eracks.com/")
        self.assertEqual(response.status_code, 200)

    def test_services_page(self):
        response = self.client.get("https://eracks.com/services/")
        self.assertEqual(response.status_code, 200)

    def test_contact_page(self):
        response = self.client.get("https://eracks.com/contact/")
        self.assertEqual(response.status_code, 200)

    def test_customers_page(self):
        response = self.client.get("https://eracks.com/customers/")
        self.assertEqual(response.status_code, 200)

    def test_cart_page(self):
        response = self.client.get("https://eracks.com/cart/")
        self.assertEqual(response.status_code, 200)

    def test_showroom_page(self):
        response = self.client.get("https://eracks.com/showroom/")
        self.assertEqual(response.status_code, 200)

    def test_partners_page(self):
        response = self.client.get("https://eracks.com/partners/")
        self.assertEqual(response.status_code, 200)

    def test_press_page(self):
        response = self.client.get("https://eracks.com/press/")
        self.assertEqual(response.status_code, 200)

    def test_corporate_page(self):
       response = self.client.get("https://eracks.com/corporate/")
       self.assertEqual(response.status_code, 200)

    #def test_product_premium(self):
    #    response = self.client.get("https://eracks.com/products/general-purpose/PREMIUM/")
    #    self.assertEqual(response.status_code, 200)

    def test_product_dmz(self):
        response = self.client.get("https://eracks.com/products/firewall-servers/DMZ/")
        self.assertEqual(response.status_code, 200)
Example #6
0
class HomePageTests(TestCase):
    """UnitTests for the home page application view"""

    if django.VERSION[:2] >= (1, 7):
        # Django 1.7 requires an explicit setup() when running tests in PTVS
        @classmethod
        def setUpClass(cls):
            super(HomePageTests, cls).setUpClass()
            django.setup()

    def setUp(self):
        super(HomePageTests, self).setUp()
        self.client = ValidatingClient()

    def test_home_url_resolves_to_home_page_view(self):
        """Dummy one test! Just for experience"""
        found = resolve('/')
        self.assertEqual(found.func, home)

    def test_home_page_returns_correct_html(self):
        """Check that home page url returns valid HTML page
        html validator used - ValidatingClient
        (https://github.com/peterbe/django-html-validator)"""
        response = self.client.get('/')
        self.assertEqual(response.status_code, 200)

    def test_home_page_render_correct_template(self):
        request = HttpRequest()
        response = home(request)
        expected_html = render_to_string('app/index.html')
        self.assertEqual(response.content.decode(), expected_html)
class TestValidHTML(TestCase):
    def setUp(self):
        super(TestValidHTML, self).setUp()
        self.client = ValidatingClient()

    def test_landing_page_html(self):
        response = self.client.get('/')
        self.assertEquals(response.status_code, 200)
class TestValidHTML(TestCase):
  def setUp(self):
    super(TestValidHTML, self).setUp()
    self.client = ValidatingClient()

  def test_landing_page_html(self):
    response = self.client.get('/')
    self.assertEquals(response.status_code, 200)
Example #9
0
class CheckSettings(TestCase):
    def setUp(self):
        self.client = ValidatingClient()

        self.user = User.objects.create_user('test_user', '*****@*****.**', 'secret')
        self.user.save()
        self.client.login(username='******', password='******')

    def test_updating_settings(self):
        response = self.client.get('/accounts/settings/')
        self.assertEqual(response.status_code, 200)

        data = response.context['form'].initial
        data['status'] = 'Bac+1'
        data['organisation'] = 'organisation'

        response = self.client.post('/accounts/settings/', data)
Example #10
0
class CheckSignUp(TestCase):
    def setUp(self):
        self.client = ValidatingClient()

    def test_signup(self):
        with self.settings(CONTEST_BEGIN_DATE=one_day_after(),
                           CONTEST_END_DATE=two_days_after()):
            response = self.client.get('/accounts/signup/')
            self.assertEqual(response.status_code, 200)

            data = response.context['form'].initial
            data['username'] = '******'
            data['password'] = '******'
            data['password_confirm'] = 'password'
            data['email'] = '*****@*****.**'
            data['status'] = 'Bac+1'
            data['organisation'] = 'organisation'

            response = self.client.post('/accounts/signup/', data)
Example #11
0
    def setUp(self):

        super(PaijiTests, self).setUp()

        modules.autodiscover()

        self.client = ValidatingClient()

        self.alice = User.objects.create_user(
            'ermentrude',
            password='******',
        )

        self.sigefroid = User.objects.create_user(
            'sigefroid',
            password='******',
            sidebar_left=[name for name, _ in modules.blocks.items()],
            topbar=[u'garfield-comic'],
            sidebar_right=None,
        )
Example #12
0
class CheckTeamCreation(TestCase):
    def setUp(self):
        self.client = ValidatingClient()

        self.user = User.objects.create_user('test_user', '*****@*****.**', 'secret')
        self.user.save()
        self.client.login(username='******', password='******')

    def tearDown(self):
        self.user.delete()

    def test_logged_user_team_create(self):
        with self.settings(CONTEST_BEGIN_DATE=one_day_after(),
                           CONTEST_END_DATE=two_days_after()):
            response = self.client.get(reverse('team_create'), follow=True)
            self.assertEqual(response.status_code, 200)

            data = response.context['form'].initial
            data['name'] = 'team'

            response = self.client.post(reverse('team_create'), data)
Example #13
0
    def setUp(self):
        self.client = ValidatingClient()

        self.user = User.objects.create_user('test_user', '*****@*****.**', 'secret')
        self.user.save()
        self.client.login(username='******', password='******')

        self.user0 = User.objects.create_user('test_user0', '*****@*****.**', 'secret')
        self.user0.save()

        self.team = Team(name='team')
        self.team.save()
        self.team.members.add(self.user0)
        self.team.save()
Example #14
0
 def setUp(self):
     self.client = ValidatingClient()
     self.first_object = Object.objects.create(name='first one')
     self.second_object = Object.objects.create(name='second one')
     self.third_object = Object.objects.create(name='third one')
     self.fourth_object = Object.objects.create(name='fourth one')
     self.edit_1_url = reverse(
         'object-edit',
         args=[self.first_object.pk]
     )
     self.delete_1_url = reverse(
         'object-delete',
         args=[self.first_object.pk]
     )
     self.delete_2_url = reverse(
         'object-delete',
         args=[self.second_object.pk]
     )
Example #15
0
    def setUp(self):
        update_icons_db()
        self.icon = MessageIcon.objects.get(name="photo.gif")
        self.icon0 = MessageIcon.objects.get(name="1a.gif")
        self.icon1 = MessageIcon.objects.get(name="union-jack.png")
        self.client = ValidatingClient()
        self.iseult = User.objects.create_user(
            username='******',
            email='*****@*****.**',
            password='******',
        )
        self.cesar = User.objects.create_user(
            username='******',
            email='*****@*****.**',
            password='******',
        )

        self._post_first_message()
Example #16
0
class CheckRedirectionFromPrivatePages(TestCase):
    """Check if all private pages are properly redirected to public pages."""
    def setUp(self):
        self.client = ValidatingClient()

        self.user = User.objects.create_user('test_user', '*****@*****.**', 'secret')
        self.user.save()

        self.team = Team(name='team')
        self.team.save()
        self.team.members.add(self.user)
        self.team.save()

        self.client = ValidatingClient()

    def tearDown(self):
        self.team.delete()
        self.user.delete()

    def test_redirection_accounts_logout(self):
        response = self.client.get('/accounts/logout/', follow=True)
        self.assertRedirects(response, reverse('home'),
                             status_code=302, target_status_code=200)

    def test_redirection_accounts_settings(self):
        response = self.client.get('/accounts/settings/', follow=True)
        self.assertRedirects(response, '/accounts/login/?next=/accounts/settings/',
                             status_code=302, target_status_code=200)

    def test_redirection_accounts_password(self):
        response = self.client.get('/accounts/password/', follow=True)
        self.assertRedirects(response, '/accounts/password/reset/',
                             status_code=302, target_status_code=200)

    def test_redirection_accounts_delete(self):
        response = self.client.get('/accounts/delete/', follow=True)
        self.assertRedirects(response, reverse('home'),
                             status_code=302, target_status_code=200)

    def test_redirection_team_create(self):
        response = self.client.get(reverse('team_create'), follow=True)
        self.assertRedirects(response, '/accounts/login/?next=/team/create/',
                             status_code=302, target_status_code=200)

    def test_redirection_team_quit(self):
        response = self.client.get('/team/quit/1/', follow=True)
        self.assertRedirects(response, '/accounts/login/?next=/team/quit/1/',
                             status_code=302, target_status_code=200)
Example #17
0
    def setUp(self):
        self.now = timezone.now()

        self.client = ValidatingClient()

        self.user = User.objects.create_user('test_user', '*****@*****.**', 'secret')
        self.user.save()
        self.client.login(username='******', password='******')

        self.team = Team(name='team', is_active=True)
        self.team.save()
        self.team.members.add(self.user)
        self.team.save()

        self.user0 = User.objects.create_user('test_user0', '*****@*****.**', 'secret')
        self.user0.save()

        self.team0 = Team(name='team0', is_active=True)
        self.team0.save()
        self.team0.members.add(self.user0)
        self.team0.save()

        self.category = Category(name='category')
        self.category.save()

        self.challenge = Challenge(category=self.category,
                                   name='challenge', key='12345')
        self.challenge.save()

        self.validation = Validation(date=self.now,
                                     user=self.user,
                                     team=self.team,
                                     challenge=self.challenge)
        self.validation.save()

        self.validation0 = Validation(date=self.now,
                                     user=self.user0,
                                     team=self.team0,
                                     challenge=self.challenge)
        self.validation0.save()
Example #18
0
class CheckTeamJoin(TestCase):
    def setUp(self):
        self.client = ValidatingClient()

        self.user = User.objects.create_user('test_user', '*****@*****.**', 'secret')
        self.user.save()
        self.client.login(username='******', password='******')

        self.user0 = User.objects.create_user('test_user0', '*****@*****.**', 'secret')
        self.user0.save()

        self.team = Team(name='team')
        self.team.save()
        self.team.members.add(self.user0)
        self.team.save()

    def tearDown(self):
        self.user0.delete()
        self.user.delete()
        self.team.delete()

    def test_logged_user_team_join(self):
        with self.settings(CONTEST_BEGIN_DATE=one_day_after(),
                           CONTEST_END_DATE=two_days_after()):
            url = '/team/join/request/' + str(self.team.pk) + '/'

            response = self.client.get(url)
            response = self.client.post(url, {})

            self.assertRedirects(response, reverse('team_list'),
                                 status_code=302, target_status_code=200)

            # Trying to resubmit
            response = self.client.post(url, {})

            self.assertRedirects(response, reverse('team_list'),
                                 status_code=302, target_status_code=200)

            self.client.logout()
            self.client.login(username='******', password='******')

            fake_key = '1'
            url = '/team/join/accept/' + str(self.team.pk) + '/' + fake_key + '/'
            response = self.client.post(url, {})

            key = TeamJoinRequest.objects.get(pk=1).key
            url = '/team/join/accept/' + str(self.team.pk) + '/' + key + '/'
            response = self.client.post(url, {})
Example #19
0
class UrlTests(TestCase):

    base_url = 'http://test.testserver.test'

    def get_path(self, url):
        return '/' + '/'.join(url.split('/')[3:])

    def setUp(self):
        self.client = ValidatingClient()
        self.first_object = Object.objects.create(name='first one')
        self.second_object = Object.objects.create(name='second one')
        self.third_object = Object.objects.create(name='third one')
        self.fourth_object = Object.objects.create(name='fourth one')
        self.edit_1_url = reverse(
            'object-edit',
            args=[self.first_object.pk]
        )
        self.delete_1_url = reverse(
            'object-delete',
            args=[self.first_object.pk]
        )
        self.delete_2_url = reverse(
            'object-delete',
            args=[self.second_object.pk]
        )

    def test_access(self):
        urls = (
            reverse('object-list'),
            reverse('object-add'),
         )
        for name in ('object-edit', 'object-delete'):
            for object in Object.objects.all():
                urls += (reverse(name, args=[object.pk]),)
        for url in urls:
            response = self.client.get(url)
            self.assertEqual(response.status_code, 200)

    def test_simple_post_edition_redirection(self):

        response = self.client.get(self.edit_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.edit_1_url,
            {
                'name': 'first new name',
                'next': self.base_url + reverse('object-list')
            }
        )

        # success url : the last visited page (home page)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(
            self.get_path(response['Location']),
            reverse('object-list')
        )

    def test_simple_post_deletion_redirection(self):

        response = self.client.get(self.delete_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.delete_1_url,
            {
                'next': self.base_url + reverse('object-list')
            }
        )

        # success url : the last visited page (home page)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(
            self.get_path(response['Location']),
            reverse('object-list')
        )

    def test_invalid_next_redirection(self):

        for next_arg in (
            self.base_url + reverse('object-list') + 'unknown_address',
            self.base_url + 'arpisiueasrsui',
            'rauisreiuaesrsr/ruie',
            ' ',
            '',
        ):
            response = self.client.get(self.edit_1_url)
            self.assertEqual(response.status_code, 200)

            response = self.client.post(
                self.edit_1_url,
                {
                    'name': 'new name, next = ',
                    'next': next_arg,
                }
            )

            # success url : the home page ("next" is not valid)
            self.assertEqual(response.status_code, 302)
            self.assertEqual(
                self.get_path(response['Location']),
                reverse('object-list')
            )

    def test_not_next_in_POST_redirection(self):

        response = self.client.get(self.edit_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.edit_1_url,
            {
                'name': 'new name, next = ',
            }
        )

        # success url : the home page (no "next" value)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(
            self.get_path(response['Location']),
            reverse('object-list')
        )

    def test_post_edition_good_redirection(self):

        response = self.client.get(self.edit_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.edit_1_url,
            {
                'name': 'first new name',
                'next': self.base_url + self.delete_2_url
            }
        )

        # success url : the last visited page (delete_2_url)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(
            self.get_path(response['Location']),
            self.delete_2_url,
        )

    def test_post_edition_good_redirection_without_baseurl(self):

        response = self.client.get(self.edit_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.edit_1_url,
            {
                'name': 'first new name',
                'next':  self.delete_2_url
            }
        )

        # success url : the last visited page (delete_2_url)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(
            self.get_path(response['Location']),
            self.delete_2_url,
        )

    def test_post_deletion_bad_redirection(self):

        response = self.client.get(self.delete_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.delete_1_url,
            {
                'next': self.base_url + self.edit_1_url
            }
        )

        # success url : not the last visited page (edit_1_url)
        # because this object does not exist any more,
        # but the index page
        self.assertEqual(response.status_code, 302)
        self.assertEqual(
            self.get_path(response['Location']),
            reverse('object-list')
        )

    def test_post_bad_edition_bad_redirection(self):

        response = self.client.get(
            self.edit_1_url,
        )
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.edit_1_url,
            {
                'name': '',  # invalid form
                'next': self.base_url + self.delete_2_url
            }
        )

        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.edit_1_url,
            {
                'name': 'my best value',  # correction
                'next': self.base_url + self.edit_1_url,
            }
        )

        self.assertEqual(response.status_code, 302)
        # we don't want to be redirected to the edit form
        self.assertEqual(
            self.get_path(response['Location']),
            reverse('object-list')
        )

    def test_post_bad_creation_bad_redirection(self):

        response = self.client.get(
            reverse('object-add')
        )
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            reverse('object-add'),
            {
                'name': '',  # invalid form
                'next': self.base_url + self.edit_1_url
            }
        )

        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            reverse('object-add'),
            {
                'name': 'my best value',  # correction
                'next': self.base_url + reverse('object-add')
            }
        )

        self.assertEqual(Object.objects.count(), 5)

        self.assertEqual(response.status_code, 302)
        # we don't want to be redirected to the creation form
        self.assertEqual(
            self.get_path(response['Location']),
            reverse('object-list')
        )
 def setUp(self):
     super(Tests, self).setUp()
     self.client = ValidatingClient()
Example #21
0
class MyTest(TestCase):

    def path(self, url):
        return url
        # return '/' + '/'.join(url.split('/')[3:])

    def setUp(self):
        update_icons_db()
        self.icon = MessageIcon.objects.get(name="photo.gif")
        self.icon0 = MessageIcon.objects.get(name="1a.gif")
        self.icon1 = MessageIcon.objects.get(name="union-jack.png")
        self.client = ValidatingClient()
        self.iseult = User.objects.create_user(
            username='******',
            email='*****@*****.**',
            password='******',
        )
        self.cesar = User.objects.create_user(
            username='******',
            email='*****@*****.**',
            password='******',
        )

        self._post_first_message()

    def access(self, name, code):
        response = self.client.get(reverse(name))
        self.assertEqual(response.status_code, code)

    def access_url(self, url, code):
        response = self.client.get(url)
        self.assertEqual(response.status_code, code)

    def _post_first_message(self):
        self.client.login(
            username='******',
            password='******',
        )
        response = self.client.post(
            reverse('forum:new'),
            {
                'icon': self.icon.pk,
                'title': 'test title ®®',
                'text': ''' tstra auileæ~ǜß®\œù©þðijþ’ù&æþiàn

                auieiiausrecpiu t'yx.lmmd
                =51476415678986451u4àuià,jl(è«épt,i.
                ''',
            }
        )
        self.assertEqual(response.status_code, 302)
        self.first_message = Message.objects.get(title='test title ®®')
        self.assertEqual(
            self.path(response['Location']),
            self.first_message.get_absolute_url(),
        )
        self.assertEqual(
            self.path(response['Location']),
            reverse(
                'forum:message',
                args=[self.first_message.pk]
            ) + '#forum-message',
        )
        self.access_url(self.first_message.get_absolute_url(), 200)
        self.client.logout()
Example #22
0
    def setUp(self):

        self.client = ValidatingClient()

        self.brunehilde = User.objects.create_user(
            'brunehilde',
            password='******',
        )

        self.gontran = User.objects.create_user(
            'gontran',
            password='******',
        )

        self.president = models.PostType.objects.create(
            description='president', )

        self.director = models.PostType.objects.create(
            description='director', )

        self.normal_groups = models.GroupCategory.objects.create(
            name='normal groups', )

        self.logo = File(open(os.path.join(
            settings.BASE_DIR,
            'logo.gif',
        )))

        self.calendar = Calendar.objects.create(
            name='mybestcalendar',
            slug='mybestcalendarslug',
        )

        self.best_group = models.Group.objects.create(
            name='the best group',
            slug='slugbestgroup',
            category=self.normal_groups,
            createdOn=timezone.now(),
            deletedOn=None,
            logo=self.logo,
            newsfeed='mynewsurl',
            calendar=self.calendar,
        )

        self.my_bureau = models.Bureau.objects.create(
            createdDate=timezone.now(),
            endDate=None,
            group=self.best_group,
        )

        self.gontran_post = models.Post.objects.create(
            utilisateur=self.gontran,
            bureau=self.my_bureau,
            description='the best one',
            postType=self.president,
        )

        self.brunehilde_post = models.Post.objects.create(
            utilisateur=self.brunehilde,
            bureau=self.my_bureau,
            description='the best one too',
            postType=self.director,
        )

        self.first_message = models.Message.objects.create(
            author=self.brunehilde,
            pubDate=timezone.now(),
            title='Welcome my friends !',
            content="""Hello everybody !

                This is the first message published !

                Thank you !
                """,
            public=True,
            group=self.best_group,
            importance=0,
        )

        self.second_message = models.Message.objects.create(
            author=self.gontran,
            pubDate=timezone.now(),
            title='Welcome my old friends ! &®',
            content="""Hi everybody !

                http://www.perdu.com

                This is the second message published !

                Thank you !
                """,
            public=False,
            group=self.best_group,
            importance=1,
        )

        self.first_comment = models.Comment.objects.create(
            author=self.gontran,
            message=self.first_message,
            pubDate=timezone.now(),
            content='Well ! <a href="http://perdu.com">[lien]</a> good job !',
        )

        self.second_comment = models.Comment.objects.create(
            author=self.brunehilde,
            message=self.first_message,
            pubDate=timezone.now(),
            content='<br/> ftp://lgdubois.rez Thank you Gontran ! ®',
        )

        self.third_comment = models.Comment.objects.create(
            author=self.gontran,
            message=self.second_message,
            pubDate=timezone.now(),
            content='third one<<ul>> aura»«épcuui..,ac.ànqikuoc(',
        )
Example #23
0
class CheckLoggedUserPages(TestCase):
    """Check if a logged user can access to private and public pages."""
    def setUp(self):
        self.now = timezone.now()

        self.client = ValidatingClient()

        self.user = User.objects.create_user('test_user', '*****@*****.**', 'secret')
        self.user.save()
        self.client.login(username='******', password='******')

        self.team = Team(name='team', is_active=True)
        self.team.save()
        self.team.members.add(self.user)
        self.team.save()

        self.user0 = User.objects.create_user('test_user0', '*****@*****.**', 'secret')
        self.user0.save()

        self.team0 = Team(name='team0', is_active=True)
        self.team0.save()
        self.team0.members.add(self.user0)
        self.team0.save()

        self.category = Category(name='category')
        self.category.save()

        self.challenge = Challenge(category=self.category,
                                   name='challenge', key='12345')
        self.challenge.save()

        self.validation = Validation(date=self.now,
                                     user=self.user,
                                     team=self.team,
                                     challenge=self.challenge)
        self.validation.save()

        self.validation0 = Validation(date=self.now,
                                     user=self.user0,
                                     team=self.team0,
                                     challenge=self.challenge)
        self.validation0.save()

    def tearDown(self):
        self.validation0.delete()
        self.validation.delete()

        self.team0.delete()
        self.user0.delete()

        self.team.delete()
        self.user.delete()

        self.challenge.delete()
        self.category.delete()

    def test_logged_user_accounts_logout(self):
        response = self.client.get('/accounts/logout/')
        self.assertEqual(response.status_code, 200)

    def test_logged_user_accounts_settings(self):
        response = self.client.get('/accounts/settings/')
        self.assertEqual(response.status_code, 200)

    def test_logged_user_accounts_password(self):
        response = self.client.get('/accounts/password/')
        self.assertEqual(response.status_code, 200)

    def test_logged_user_accounts_delete(self):
        response = self.client.get('/accounts/delete/')
        self.assertEqual(response.status_code, 200)

    def test_logged_user_homepage(self):
        # Before contest
        with self.settings(CONTEST_BEGIN_DATE=one_day_after(),
                           CONTEST_END_DATE=two_days_after()):
            response = self.client.get(reverse('home'))
            self.assertEqual(response.status_code, 200)

        # During contest
        with self.settings(CONTEST_BEGIN_DATE=one_day_before(),
                           CONTEST_END_DATE=one_day_after()):
            response = self.client.get(reverse('home'))
            self.assertEqual(response.status_code, 200)

        # After contest
        with self.settings(CONTEST_BEGIN_DATE=two_days_before(),
                           CONTEST_END_DATE=one_day_before()):
            response = self.client.get(reverse('home'))
            self.assertEqual(response.status_code, 200)

    def test_logged_user_team_list(self):
        with self.settings(CONTEST_BEGIN_DATE=one_day_after(),
                           CONTEST_END_DATE=two_days_after()):
            self.team.delete()
            response = self.client.get(reverse('team_list'))
            self.assertEqual(response.status_code, 200)
            self.team.save()

        with self.settings(CONTEST_BEGIN_DATE=one_day_before(),
                           CONTEST_END_DATE=one_day_after()):
            response = self.client.get(reverse('team_list'))
            self.assertEqual(response.status_code, 200)

    def test_logged_user_team_create_with_a_team(self):
        response = self.client.get(reverse('team_create'), follow=True)
        self.assertRedirects(response, '/?next=/team/create/',
                             status_code=302, target_status_code=200)

    def test_logged_user_team_quit(self):
        response = self.client.get('/team/quit/1/')
        self.assertEqual(response.status_code, 200)

    def test_logged_user_non_existing_team_quit(self):
        response = self.client.get('/team/quit/10/')
        self.assertEqual(response.status_code, 404)

    def test_logged_user_contestant_list(self):
        response = self.client.get(reverse('contestant_list'))
        self.assertEqual(response.status_code, 200)

    def test_logged_user_challenge_list(self):
        response = self.client.get(reverse('challenges'))
        self.assertEqual(response.status_code, 200)

    def test_logged_user_ranking_list(self):
        response = self.client.get(reverse('ranking'))
        self.assertEqual(response.status_code, 200)

    def test_logged_user_rules(self):
        response = self.client.get(reverse('rules'))
        self.assertEqual(response.status_code, 200)

    def test_logged_user_about(self):
        response = self.client.get(reverse('about'))
        self.assertEqual(response.status_code, 200)
Example #24
0
class PaijiTests(TestCase):

    def setUp(self):

        super(PaijiTests, self).setUp()

        modules.autodiscover()

        self.client = ValidatingClient()

        self.alice = User.objects.create_user(
            'ermentrude',
            password='******',
        )

        self.sigefroid = User.objects.create_user(
            'sigefroid',
            password='******',
            sidebar_left=[name for name, _ in modules.blocks.items()],
            topbar=[u'garfield-comic'],
            sidebar_right=None,
        )

    def test_lang_homepage(self):

        # without lang
        response = self.client.get('/')
        self.assertEqual(response.status_code, 302)

        # redirected to "/fr/" or ...
        response = self.client.get(response['Location'])
        self.assertEqual(response.status_code, 302)

        # redirected to "/fr/social/" or...
        response = self.client.get(response['Location'])
        self.assertEqual(response.status_code, 200)

        for code in dict(settings.LANGUAGES):
            response = self.client.get('/' + code + '/')
            self.assertEqual(response.status_code, 302)
            response = self.client.get(response['Location'])
            self.assertEqual(response.status_code, 200)

        response = self.client.get('/es/')
        self.assertEqual(response.status_code, 404)
        response = self.client.get('/ii/')
        self.assertEqual(response.status_code, 404)

    def test_user_homepage(self):

        self.client.login(
            username='******',
            password='******',
        )

        self.test_lang_homepage()

        self.client.logout()

        self.client.login(
            username='******',
            password='******',
        )

        self.test_lang_homepage()

    def test_account(self):

        self.client.logout()

        # account url without lang
        response = self.client.get(reverse('account'))
        self.assertEqual(response.status_code, 302)

        # sign-in url without lang
        response = self.client.get(response['Location'])
        self.assertEqual(response.status_code, 302)

        # sign-in url with lang
        response = self.client.get(response['Location'])
        self.assertEqual(response.status_code, 200)

        self.client.login(
            username='******',
            password='******',
        )

        response = self.client.get(reverse('account'))
        self.assertEqual(response.status_code, 200)
Example #25
0
    def setUp(self):
        self.client = ValidatingClient()

        self.user = User.objects.create_user('test_user', '*****@*****.**', 'secret')
        self.user.save()
        self.client.login(username='******', password='******')
Example #26
0
 def setUp(self):
     self.client = ValidatingClient()
Example #27
0
class CheckPublicPages(TestCase):
    """Check if all public pages are accessible to anonymous users."""
    def setUp(self):
        self.now = timezone.now()

        self.client = ValidatingClient()
        self.user = User.objects.create_user('test_user', '*****@*****.**', 'secret')
        self.user.save()

        self.team = Team(name='team', is_active=True)
        self.team.save()
        self.team.members.add(self.user)
        self.team.save()

        self.category = Category(name='category')
        self.category.save()

        self.challenge = Challenge(category=self.category,
                                   name='challenge', key='12345')
        self.challenge.save()

        self.validation = Validation(date=timezone.now(),
                                     user=self.user,
                                     team=self.team,
                                     challenge=self.challenge)
        self.validation.save()

    def tearDown(self):
        self.validation.delete()

        self.team.delete()
        self.user.delete()

        self.challenge.delete()
        self.category.delete()

    def test_public_homepage(self):
        # Before contest
        with self.settings(CONTEST_BEGIN_DATE=one_day_after(),
                           CONTEST_END_DATE=two_days_after()):
            response = self.client.get(reverse('home'))
            self.assertEqual(response.status_code, 200)

        # During contest
        with self.settings(CONTEST_BEGIN_DATE=one_day_before(),
                           CONTEST_END_DATE=one_day_after()):
            response = self.client.get(reverse('home'))
            self.assertEqual(response.status_code, 200)

        # After contest
        with self.settings(CONTEST_BEGIN_DATE=two_days_before(),
                           CONTEST_END_DATE=one_day_before()):
            response = self.client.get(reverse('home'))
            self.assertEqual(response.status_code, 200)

    def test_public_team_list_empty(self):
        self.team.delete()

        response = self.client.get(reverse('team_list'))
        self.assertEqual(response.status_code, 200)

        self.team.save()

    def test_public_team_list(self):
        response = self.client.get(reverse('team_list'))
        self.assertEqual(response.status_code, 200)

    def test_public_team_1(self):
        response = self.client.get('/team/1/')
        self.assertEqual(response.status_code, 200)

    def test_public_contestant_list_empty(self):
        with self.settings(CONTEST_BEGIN_DATE=one_day_before(),
                           CONTEST_END_DATE=one_day_after()):
            self.user.delete()

            response = self.client.get(reverse('contestant_list'))
            self.assertEqual(response.status_code, 200)

        self.user.save()

    def test_public_contestant_list(self):
        response = self.client.get(reverse('contestant_list'))
        self.assertEqual(response.status_code, 200)

    def test_public_contestant_1(self):
        response = self.client.get('/contestant/1/')
        self.assertEqual(response.status_code, 200)

    def test_public_challenge_list_empty(self):
        self.challenge.delete()

        # Before contest
        with self.settings(CONTEST_BEGIN_DATE=one_day_after(),
                           CONTEST_END_DATE=two_days_after()):
            response = self.client.get(reverse('challenges'))
            self.assertEqual(response.status_code, 200)

        # During contest
        with self.settings(CONTEST_BEGIN_DATE=one_day_before(),
                           CONTEST_END_DATE=one_day_after()):
            response = self.client.get(reverse('challenges'))
            self.assertEqual(response.status_code, 200)

        # After contest
        with self.settings(CONTEST_BEGIN_DATE=two_days_before(),
                           CONTEST_END_DATE=one_day_before()):
            response = self.client.get(reverse('challenges'))
            self.assertEqual(response.status_code, 200)

        self.challenge.save()

    def test_public_challenge_list(self):
        # Before contest
        with self.settings(CONTEST_BEGIN_DATE=one_day_after(),
                           CONTEST_END_DATE=two_days_after()):
            response = self.client.get(reverse('challenges'))
            self.assertEqual(response.status_code, 200)

        # During contest
        with self.settings(CONTEST_BEGIN_DATE=one_day_before(),
                           CONTEST_END_DATE=one_day_after()):
            response = self.client.get(reverse('challenges'))
            self.assertEqual(response.status_code, 200)

        # After contest
        with self.settings(CONTEST_BEGIN_DATE=two_days_before(),
                           CONTEST_END_DATE=one_day_before()):
            response = self.client.get(reverse('challenges'))
            self.assertEqual(response.status_code, 200)

    def test_public_ranking_list_empty(self):
        self.validation.delete()
        self.team.is_active = False
        self.team.save()

        response = self.client.get(reverse('ranking'))
        self.assertEqual(response.status_code, 200)

        self.team.is_active = True
        self.team.save()
        self.validation.save()

    def test_public_ranking_list(self):
        # Before contest
        with self.settings(CONTEST_BEGIN_DATE=one_day_after(),
                           CONTEST_END_DATE=two_days_after()):
            response = self.client.get(reverse('ranking'))
            self.assertEqual(response.status_code, 200)

        # During contest
        with self.settings(CONTEST_BEGIN_DATE=one_day_before(),
                           CONTEST_END_DATE=one_day_after()):
            response = self.client.get(reverse('ranking'))
            self.assertEqual(response.status_code, 200)

        # After contest
        with self.settings(CONTEST_BEGIN_DATE=two_days_before(),
                           CONTEST_END_DATE=one_day_before()):
            response = self.client.get(reverse('ranking'))
            self.assertEqual(response.status_code, 200)

    def test_public_rules(self):
        response = self.client.get(reverse('rules'))
        self.assertEqual(response.status_code, 200)

    def test_public_about(self):
        response = self.client.get(reverse('about'))
        self.assertEqual(response.status_code, 200)

    def test_public_login(self):
        response = self.client.get('/accounts/login/')
        self.assertEqual(response.status_code, 200)

    def test_public_account_signup(self):
        response = self.client.get('/accounts/signup/')
        self.assertEqual(response.status_code, 200)
Example #28
0
def test_views_post_and_redirect(url):
    c = ValidatingClient()
    User.objects.create_user('user00', '*****@*****.**', 'secret')
    response = c.post(url, {'username': '******', 'password': '******'})
    assert response.status_code == 302
Example #29
0
def logged_client():
    c = ValidatingClient()
    user = User.objects.create_user('user00', '*****@*****.**',
                                    'secret')
    c.force_login(user)
    return c
Example #30
0
 def setUp(self):
     self.client = ValidatingClient()
 def setUp(self):
   super(TestValidHTML, self).setUp()
   self.client = ValidatingClient()
Example #32
0
def test_login_incorrect(url):
    c = ValidatingClient()
    response = c.post(url, {'user': '******', 'password': '******'})
    assert response.status_code == 200
Example #33
0
class UrlTests(TestCase):

    base_url = 'http://test.testserver.test'

    def get_path(self, url):
        return '/' + '/'.join(url.split('/')[3:])

    def setUp(self):
        self.client = ValidatingClient()
        self.first_object = Object.objects.create(name='first one')
        self.second_object = Object.objects.create(name='second one')
        self.third_object = Object.objects.create(name='third one')
        self.fourth_object = Object.objects.create(name='fourth one')
        self.edit_1_url = reverse('object-edit', args=[self.first_object.pk])
        self.delete_1_url = reverse('object-delete',
                                    args=[self.first_object.pk])
        self.delete_2_url = reverse('object-delete',
                                    args=[self.second_object.pk])

    def test_access(self):
        urls = (
            reverse('object-list'),
            reverse('object-add'),
        )
        for name in ('object-edit', 'object-delete'):
            for object in Object.objects.all():
                urls += (reverse(name, args=[object.pk]), )
        for url in urls:
            response = self.client.get(url)
            self.assertEqual(response.status_code, 200)

    def test_simple_post_edition_redirection(self):

        response = self.client.get(self.edit_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.edit_1_url, {
                'name': 'first new name',
                'next': self.base_url + reverse('object-list')
            })

        # success url : the last visited page (home page)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(self.get_path(response['Location']),
                         reverse('object-list'))

    def test_simple_post_deletion_redirection(self):

        response = self.client.get(self.delete_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.delete_1_url,
            {'next': self.base_url + reverse('object-list')})

        # success url : the last visited page (home page)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(self.get_path(response['Location']),
                         reverse('object-list'))

    def test_invalid_next_redirection(self):

        for next_arg in (
                self.base_url + reverse('object-list') + 'unknown_address',
                self.base_url + 'arpisiueasrsui',
                'rauisreiuaesrsr/ruie',
                ' ',
                '',
        ):
            response = self.client.get(self.edit_1_url)
            self.assertEqual(response.status_code, 200)

            response = self.client.post(self.edit_1_url, {
                'name': 'new name, next = ',
                'next': next_arg,
            })

            # success url : the home page ("next" is not valid)
            self.assertEqual(response.status_code, 302)
            self.assertEqual(self.get_path(response['Location']),
                             reverse('object-list'))

    def test_not_next_in_POST_redirection(self):

        response = self.client.get(self.edit_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(self.edit_1_url, {
            'name': 'new name, next = ',
        })

        # success url : the home page (no "next" value)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(self.get_path(response['Location']),
                         reverse('object-list'))

    def test_post_edition_good_redirection(self):

        response = self.client.get(self.edit_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(self.edit_1_url, {
            'name': 'first new name',
            'next': self.base_url + self.delete_2_url
        })

        # success url : the last visited page (delete_2_url)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(
            self.get_path(response['Location']),
            self.delete_2_url,
        )

    def test_post_edition_good_redirection_without_baseurl(self):

        response = self.client.get(self.edit_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(self.edit_1_url, {
            'name': 'first new name',
            'next': self.delete_2_url
        })

        # success url : the last visited page (delete_2_url)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(
            self.get_path(response['Location']),
            self.delete_2_url,
        )

    def test_post_deletion_bad_redirection(self):

        response = self.client.get(self.delete_1_url)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(self.delete_1_url,
                                    {'next': self.base_url + self.edit_1_url})

        # success url : not the last visited page (edit_1_url)
        # because this object does not exist any more,
        # but the index page
        self.assertEqual(response.status_code, 302)
        self.assertEqual(self.get_path(response['Location']),
                         reverse('object-list'))

    def test_post_bad_edition_bad_redirection(self):

        response = self.client.get(self.edit_1_url, )
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.edit_1_url,
            {
                'name': '',  # invalid form
                'next': self.base_url + self.delete_2_url
            })

        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            self.edit_1_url,
            {
                'name': 'my best value',  # correction
                'next': self.base_url + self.edit_1_url,
            })

        self.assertEqual(response.status_code, 302)
        # we don't want to be redirected to the edit form
        self.assertEqual(self.get_path(response['Location']),
                         reverse('object-list'))

    def test_post_bad_creation_bad_redirection(self):

        response = self.client.get(reverse('object-add'))
        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            reverse('object-add'),
            {
                'name': '',  # invalid form
                'next': self.base_url + self.edit_1_url
            })

        self.assertEqual(response.status_code, 200)

        response = self.client.post(
            reverse('object-add'),
            {
                'name': 'my best value',  # correction
                'next': self.base_url + reverse('object-add')
            })

        self.assertEqual(Object.objects.count(), 5)

        self.assertEqual(response.status_code, 302)
        # we don't want to be redirected to the creation form
        self.assertEqual(self.get_path(response['Location']),
                         reverse('object-list'))