Example #1
0
    def test_push_experiment_to_kinto_sends_experiment_data(self):
        tasks.push_experiment_to_kinto(self.experiment.id)

        self.mock_kinto_client.create_record.assert_called_with(
            data={"slug": self.experiment.slug},
            collection=settings.KINTO_COLLECTION,
            bucket=settings.KINTO_BUCKET,
            if_not_exists=True,
        )
Example #2
0
    def test_push_experiment_to_kinto_sends_experiment_data(self):
        tasks.push_experiment_to_kinto(self.experiment.id)

        data = ExperimentRapidRecipeSerializer(self.experiment).data

        self.assertTrue(
            ExperimentBucketRange.objects.filter(
                experiment=self.experiment).exists())

        bucketConfig = data["arguments"]["bucketConfig"].copy()
        bucketConfig.pop("start")
        bucketConfig.pop("namespace")

        designPreset = NIMBUS_DATA["ExperimentDesignPresets"]["empty_aa"][
            "preset"]["arguments"]["bucketConfig"]

        self.assertEqual(bucketConfig, designPreset)

        self.mock_kinto_client.create_record.assert_called_with(
            data=data,
            collection=settings.KINTO_COLLECTION,
            bucket=settings.KINTO_BUCKET,
            if_not_exists=True,
        )

        changed_values = {
            "recipe": {
                "new_value": data,
                "old_value": None,
                "display_name": "Recipe"
            }
        }

        self.assertTrue(
            ExperimentChangeLog.objects.filter(
                experiment=self.experiment,
                changed_by__email=settings.KINTO_DEFAULT_CHANGELOG_USER,
                changed_values=changed_values,
            ).exists())
Example #3
0
    def test_push_experiment_to_kinto_reraises_exception(self):
        self.mock_kinto_client.create_record.side_effect = Exception

        with self.assertRaises(Exception):
            tasks.push_experiment_to_kinto(self.experiment.id)