Ejemplo n.º 1
0
    def test_criteria_cached(self):
        self.mock.StubOutWithMock(cache, 'get')
        cache.get('criteria:test_crit').AndReturn(self.crit)
        cache.get('criteria:test_crit:users')
        cache.get('criteria:test_crit:groups')
        self.mock.StubOutWithMock(utils, 'cache_criteria')
        utils.cache_criteria(instance=self.crit)  # users
        utils.cache_criteria(instance=self.crit)  # groups

        self.mock.ReplayAll()
        meets_criteria(self.request, 'test_crit')
        self.mock.VerifyAll()
Ejemplo n.º 2
0
    def test_referrer(self):
        self.crit.referrer = 'example.com,www.example.com'
        self.crit.save()
        self.request.META['HTTP_REFERER'] = 'http://example.com/blah'

        self.assertIs(
            meets_criteria(self.request, 'test_crit'), True)
Ejemplo n.º 3
0
    def test_authenticated_user(self):
        self.crit.authenticated = True
        self.crit.save()
        self.request.user = User.objects.create(username='******')

        self.assertIs(
            meets_criteria(self.request, 'test_crit'), True)
Ejemplo n.º 4
0
    def test_testing_cookie_off(self):
        self.crit.testing = True
        self.crit.save()
        self.request.COOKIES['dact_test_crit'] = 'False'

        self.assertIs(
            meets_criteria(self.request, 'test_crit'), False)
Ejemplo n.º 5
0
    def test_superuser(self):
        self.crit.superuser = True
        self.crit.save()
        self.request.user = User.objects.create(
            username='******', is_superuser=True)

        self.assertIs(
            meets_criteria(self.request, 'test_crit'), True)
Ejemplo n.º 6
0
    def test_testing_force_off(self):
        self.crit.testing = True
        self.crit.save()
        self.request = RequestFactory().get('', {'dact_test_crit': 0})

        self.assertIs(
            meets_criteria(self.request, 'test_crit'), False)
        self.assertIs(self.request.affected_tests['test_crit'], False)
Ejemplo n.º 7
0
    def test_query_args_exact_no_match(self):
        self.crit.query_args = {'foo': 'bar'}
        self.crit.save()
        request = RequestFactory().get('', {'foo': 'baz'})
        request.user = AnonymousUser()

        self.assertIs(
            meets_criteria(request, 'test_crit'), False)
Ejemplo n.º 8
0
    def test_query_args_any_for_key(self):
        self.crit.query_args = {'foo': '*'}
        self.crit.save()
        request = RequestFactory().get('', {'foo': 'bar'})
        request.user = AnonymousUser()

        self.assertIs(
            meets_criteria(request, 'test_crit'), True)
Ejemplo n.º 9
0
    def test_query_args_not_in_list(self):
        self.crit.query_args = {'foo': ['bar', 'baz']}
        self.crit.save()
        request = RequestFactory().get('', {'foo': 'boz'})
        request.user = AnonymousUser()

        self.assertIs(
            meets_criteria(request, 'test_crit'), False)
Ejemplo n.º 10
0
    def test_entry_url(self):
        self.crit.entry_url = '/test.html'
        self.crit.save()
        self.request.path = '/test.html'
        self.request.META['HTTP_REFERER'] = 'http://example.com/blah'
        self.request.META['HTTP_HOST'] = 'testserver.com'

        self.assertIs(
            meets_criteria(self.request, 'test_crit'), True)
Ejemplo n.º 11
0
    def test_entry_url_nonentry_domain(self):
        with self.settings(AFFECTED_NONENTRY_DOMAINS=['example.com']):
            self.crit.entry_url = '/test.html'
            self.crit.save()
            self.request.path = '/test.html'
            self.request.META['HTTP_REFERER'] = 'http://example.com/blah'
            self.request.META['HTTP_HOST'] = 'testserver.com'

            self.assertIs(
                meets_criteria(self.request, 'test_crit'), False)
Ejemplo n.º 12
0
    def test_device_type_active(self):
        self.crit.device_type = Criteria.MOBILE_DEVICE
        self.crit.save()

        self.mock.StubOutWithMock(utils, 'detect_device')
        utils.detect_device(self.request).AndReturn(Criteria.MOBILE_DEVICE)

        self.mock.ReplayAll()
        self.assertIs(
            meets_criteria(self.request, 'test_crit'), True)
        self.mock.VerifyAll()
Ejemplo n.º 13
0
    def test_percent_off(self):
        self.crit.percent = 50
        self.crit.save()
        self.mock.StubOutWithMock(random, 'uniform')
        random.uniform(0, 100).AndReturn(99)
        self.mock.StubOutWithMock(utils, 'set_persist_criteria')
        utils.set_persist_criteria(self.request, 'test_crit', False)

        self.mock.ReplayAll()
        self.assertIs(
            meets_criteria(self.request, 'test_crit'), False)
        self.mock.VerifyAll()
Ejemplo n.º 14
0
    def test_percent_cookie_off(self):
        self.crit.percent = 50
        self.crit.save()
        self.request.COOKIES['dac_test_crit'] = 'False'
        self.mock.StubOutWithMock(random, 'uniform')
        self.mock.StubOutWithMock(utils, 'set_persist_criteria')
        utils.set_persist_criteria(self.request, 'test_crit', False)

        self.mock.ReplayAll()
        self.assertIs(
            meets_criteria(self.request, 'test_crit'), False)
        self.mock.VerifyAll()
Ejemplo n.º 15
0
    def test_user_in_users(self):
        self.request.user = User.objects.create(
            username='******')
        self.crit.users.add(self.request.user)
        self.mock.StubOutWithMock(utils, 'cache_criteria')
        utils.cache_criteria(instance=self.crit)  # criteria
        utils.cache_criteria(instance=self.crit)  # users

        self.mock.ReplayAll()
        self.assertIs(
            meets_criteria(self.request, 'test_crit'), True)
        self.mock.VerifyAll()
Ejemplo n.º 16
0
    def test_user_in_cached_users(self):
        self.request.user = User.objects.create(
            username='******')
        self.crit.users.add(self.request.user)
        self.mock.StubOutWithMock(cache, 'get')
        cache.get('criteria:test_crit')
        cache.get('criteria:test_crit:users').AndReturn([self.request.user])
        self.mock.StubOutWithMock(utils, 'cache_criteria')
        utils.cache_criteria(instance=self.crit)  # criteria

        self.mock.ReplayAll()
        self.assertIs(
            meets_criteria(self.request, 'test_crit'), True)
        self.mock.VerifyAll()
Ejemplo n.º 17
0
    def test_meets_nothing(self):
        self.mock.StubOutWithMock(cache, 'get')
        cache.get('criteria:test_crit')
        cache.get('criteria:test_crit:users')
        cache.get('criteria:test_crit:groups')
        self.mock.StubOutWithMock(utils, 'cache_criteria')
        utils.cache_criteria(instance=self.crit)  # criteria
        utils.cache_criteria(instance=self.crit)  # users
        utils.cache_criteria(instance=self.crit)  # groups

        self.mock.ReplayAll()
        self.assertIs(
            meets_criteria(self.request, 'test_crit'), False)
        self.mock.VerifyAll()
Ejemplo n.º 18
0
 def test_criteria_doesnt_exist(self):
     self.assertIs(
         meets_criteria(self.request, 'fake_crit'), False)
Ejemplo n.º 19
0
    def test_on_for_everyone(self):
        self.crit.everyone = True
        self.crit.save()

        self.assertIs(
            meets_criteria(self.request, 'test_crit'), True)
Ejemplo n.º 20
0
    def test_off_for_everyone(self):
        self.crit.everyone = False
        self.crit.save()

        self.assertIs(
            meets_criteria(self.request, 'test_crit'), False)
Ejemplo n.º 21
0
    def test_persistent_cookie_off(self):
        self.crit.persistent = True
        self.crit.save()
        self.request.COOKIES['dac_test_crit'] = 'False'

        self.assertIs(meets_criteria(self.request, 'test_crit'), False)
Ejemplo n.º 22
0
    def test_nonauthenticated_user(self):
        self.crit.authenticated = True
        self.crit.save()

        self.assertIs(
            meets_criteria(self.request, 'test_crit'), False)