def testAnonymousUser(self):
        experiment = Experiment(name="enabled")
        experiment.save()
        experiment.state = Experiment.ENABLED_STATE
        experiment.save()
        for i in range(100):
            user = TestUser()
            in_test = Experiment.test("enabled", user)
            anonymous_id = user.get_anonymous_id()
            self.assertNotEqual(None, anonymous_id)
            in_control = Experiment.control("enabled", user)
            self.assertEqual(user.get_anonymous_id(), anonymous_id)
            self.assertNotEqual(in_test, in_control)
            self.assertEqual(in_test, Experiment.test("enabled", user))
            self.assertEqual(user.get_anonymous_id(), anonymous_id)
            self.assertEqual(in_control, Experiment.control("enabled", user))
            self.assertEqual(user.get_anonymous_id(), anonymous_id)

            if in_test:
                test_user = user
            if in_control:
                control_user = user

        self.assertTrue(test_user and control_user)

        user = TestUser()
        experiment = Experiment(name="disabled")
        experiment.save()
        self.assertFalse(Experiment.test("disabled", user))
        self.assertEqual(None, user.get_anonymous_id())
示例#2
0
    def testAnonymousUser(self):
        experiment = Experiment(name="enabled")
        experiment.save()
        experiment.state = Experiment.ENABLED_STATE
        experiment.save()
        for i in range(100):
            user = TestUser()
            in_test = Experiment.test("enabled", user)
            anonymous_id = user.get_anonymous_id()
            self.assertNotEquals(None, anonymous_id)
            in_control = Experiment.control("enabled", user)
            self.assertEquals(user.get_anonymous_id(), anonymous_id)
            self.assertNotEquals(in_test, in_control)
            self.assertEquals(in_test, Experiment.test("enabled", user))
            self.assertEquals(user.get_anonymous_id(), anonymous_id)
            self.assertEquals(in_control, Experiment.control("enabled", user))
            self.assertEquals(user.get_anonymous_id(), anonymous_id)

            if in_test:
                test_user = user
            if in_control:
                control_user = user

        self.assertTrue(test_user and control_user)

        user = TestUser()
        experiment = Experiment(name="disabled")
        experiment.save()
        self.assertFalse(Experiment.test("disabled", user))
        self.assertEquals(None, user.get_anonymous_id())
 def testBotExclusion(self):
     experiment = Experiment(name="bot_experiment")
     experiment.save()
     experiment.state = Experiment.ENABLED_STATE
     experiment.save()
     
     user = TestUser(verified_human=False)
     participants_count = Participant.objects.all().count()
     in_test = Experiment.test(experiment.name, user)
     self.assertEquals(None, user.get_anonymous_id())
     self.assertEquals(participants_count, Participant.objects.all().count())
     
     enrollments = user.get_added_enrollments()
     self.assertEquals(len(enrollments.keys()), 1)
     self.assertTrue(experiment.name in enrollments.keys())
示例#4
0
    def testBotExclusion(self):
        experiment = Experiment(name="bot_experiment")
        experiment.save()
        experiment.state = Experiment.ENABLED_STATE
        experiment.save()

        user = TestUser(verified_human=False)
        participants_count = Participant.objects.all().count()
        in_test = Experiment.test(experiment.name, user)
        self.assertEquals(None, user.get_anonymous_id())
        self.assertEquals(participants_count,
                          Participant.objects.all().count())

        enrollments = user.get_added_enrollments()
        self.assertEquals(len(enrollments.keys()), 1)
        self.assertTrue(experiment.name in enrollments.keys())