コード例 #1
0
    def test_cant_convert_twice(self):
        exp = Experiment('test-cant-convert-twice', ['1', '2'],
                         redis=self.app.redis)
        client = Client("eric", redis=self.app.redis)
        alt = exp.get_alternative(client)
        exp.convert(client)
        self.assertEqual(exp.total_conversions(), 1)

        exp.convert(client, dt=dateutil.parser.parse("2012-01-01"))
        self.assertEqual(exp.total_conversions(), 1)

        data = exp.objectify_by_period("day")
        altdata = [a for a in data["alternatives"]
                   if a["name"] == alt.name][0]["data"]
        total_participants = sum([d["participants"] for d in altdata])
        self.assertEqual(total_participants, 1)
        total_conversions = sum([d["conversions"] for d in altdata])
        self.assertEqual(data["has_winner"], False)
        self.assertEqual(total_conversions, 1)

        # Only retrieve the slim set.
        data = exp.objectify_by_period("day", slim=True)
        self.assertFalse(data.has_key("has_winner"))
        self.assertFalse(data.has_key("kpi"))
        self.assertFalse(data.has_key("kpis"))
        self.assertFalse(data.has_key("period"))
コード例 #2
0
 def test_find_existing_conversion(self):
     exp = Experiment('test-find-existing-conversion', ['1', '2'], redis=self.app.redis)
     client = Client("eric", redis=self.app.redis)
     alt = exp.get_alternative(client)
     exp.convert(client)
     alt2 = exp.existing_conversion(client)
     self.assertIsNotNone(alt2)
     self.assertTrue(alt.name == alt2.name)
     client2 = Client("zack", redis=self.app.redis)
     alt3 = exp.existing_conversion(client2)
     self.assertIsNone(alt3)
コード例 #3
0
ファイル: experiment_lua_test.py プロジェクト: yhat/sixpack
 def test_find_existing_conversion(self):
     exp = Experiment('test-find-existing-conversion', ['1', '2'],
                      redis=self.app.redis)
     client = Client("eric", redis=self.app.redis)
     alt = exp.get_alternative(client)
     exp.convert(client)
     alt2 = exp.existing_conversion(client)
     self.assertIsNotNone(alt2)
     self.assertTrue(alt.name == alt2.name)
     client2 = Client("zack", redis=self.app.redis)
     alt3 = exp.existing_conversion(client2)
     self.assertIsNone(alt3)
コード例 #4
0
ファイル: api_test.py プロジェクト: ricksaenz/sixpack
 def test_convert(self, mock_find):
     exp = Experiment("test", ["no", "yes"], winner=None)
     exp.convert = Mock(return_value=Alternative("yes", exp))
     mock_find.return_value = exp
     alternative = convert("test", "id1")
     self.assertEqual("yes", alternative.name)
     self.assertEqual("test", alternative.experiment.name)
コード例 #5
0
    def test_cant_convert_twice(self):
        exp = Experiment('test-cant-convert-twice', ['1', '2'], redis=self.app.redis)
        client = Client("eric", redis=self.app.redis)
        alt = exp.get_alternative(client)
        exp.convert(client)
        self.assertEqual(exp.total_conversions(), 1)

        exp.convert(client, dt=dateutil.parser.parse("2012-01-01"))
        self.assertEqual(exp.total_conversions(), 1)

        data = exp.objectify_by_period("day")
        altdata = [a for a in data["alternatives"] if a["name"] == alt.name][0]["data"]
        total_participants = sum([d["participants"] for d in altdata])
        self.assertEqual(total_participants, 1)
        total_conversions = sum([d["conversions"] for d in altdata])
        self.assertEqual(total_conversions, 1)
コード例 #6
0
ファイル: api_test.py プロジェクト: ricksaenz/sixpack
 def test_convert_with_kpi(self, mock_find):
     exp = Experiment("test", ["no", "yes"], winner=None)
     exp.convert = Mock(return_value=Alternative("yes", exp))
     mock_find.return_value = exp
     alternative = convert("test", "id1", kpi="goal1")
     # TODO: we're not really asserting anything about the KPI
     self.assertEqual("yes", alternative.name)
     self.assertEqual("test", alternative.experiment.name)
コード例 #7
0
    def test_cant_convert_twice(self):
        exp = Experiment('test-cant-convert-twice', ['1', '2'], self.app.redis)
        client = Client("eric", self.app.redis)
        alt = exp.get_alternative(client)
        exp.convert(client)
        self.assertEqual(exp.total_conversions(), 1)

        exp.convert(client, dt=dateutil.parser.parse("2012-01-01"))
        self.assertEqual(exp.total_conversions(), 1)

        data = exp.objectify_by_period("day")
        altdata = [a for a in data["alternatives"]
                   if a["name"] == alt.name][0]["data"]
        total_participants = sum([d["participants"] for d in altdata])
        self.assertEqual(total_participants, 1)
        total_conversions = sum([d["conversions"] for d in altdata])
        self.assertEqual(total_conversions, 1)
コード例 #8
0
    def test_cant_convert_twice(self):
        exp = Experiment('test-cant-convert-twice', ['1', '2'], redis=self.app.redis)
        client = Client("eric", redis=self.app.redis)
        alt = exp.get_alternative(client)
        exp.convert(client)
        self.assertEqual(exp.total_conversions(), 1)

        exp.convert(client, dt=dateutil.parser.parse("2012-01-01"))
        self.assertEqual(exp.total_conversions(), 1)

        data = exp.objectify_by_period("day")
        altdata = [a for a in data["alternatives"] if a["name"] == alt.name][0]["data"]
        total_participants = sum([d["participants"] for d in altdata])
        self.assertEqual(total_participants, 1)
        total_conversions = sum([d["conversions"] for d in altdata])
        self.assertEqual(data["has_winner"], False)
        self.assertEqual(total_conversions, 1)

        # Only retrieve the slim set.
        data = exp.objectify_by_period("day", slim=True)
        self.assertFalse(data.has_key("has_winner"))
        self.assertFalse(data.has_key("kpi"))
        self.assertFalse(data.has_key("kpis"))
        self.assertFalse(data.has_key("period"))
コード例 #9
0
 def test_convert(self):
     exp = Experiment('test-convert', ['1', '2'], redis=self.app.redis)
     client = Client("eric", redis=self.app.redis)
     exp.get_alternative(client)
     exp.convert(client)
     self.assertEqual(exp.total_conversions(), 1)
コード例 #10
0
ファイル: experiment_lua_test.py プロジェクト: yhat/sixpack
 def test_convert(self):
     exp = Experiment('test-convert', ['1', '2'], redis=self.app.redis)
     client = Client("eric", redis=self.app.redis)
     exp.get_alternative(client)
     exp.convert(client)
     self.assertEqual(exp.total_conversions(), 1)