Exemple #1
0
    def test_format_firefox_versions_returns_correct_string(self):
        experiment_1 = ExperimentFactory(firefox_min_version="57.0",
                                         firefox_max_version="")
        experiment_2 = ExperimentFactory(firefox_min_version="57.0",
                                         firefox_max_version="59.0")

        self.assertEqual(experiment_1.format_firefox_versions, "57.0")
        self.assertEqual(experiment_2.format_firefox_versions, "57.0 to 59.0")
Exemple #2
0
 def test_experiment_population_returns_correct_string(self):
     experiment = ExperimentFactory(
         population_percent="0.5",
         firefox_version="57.0",
         firefox_channel="Nightly",
     )
     self.assertEqual(experiment.population, "0.5% of Nightly Firefox 57.0")
 def test_serializer_outputs_expected_schema(self):
     experiment = ExperimentFactory()
     variant = ExperimentVariantFactory.create(experiment=experiment)
     serializer = ExperimentRecipeMessageVariantSerializer(variant)
     self.assertDictEqual(
         serializer.data,
         {"ratio": variant.ratio, "slug": variant.slug, "value": {}, "groups": []},
     )
 def test_serializer_outputs_expected_schema(self):
     experiment = ExperimentFactory(pref_type=Experiment.PREF_TYPE_STR)
     variant = ExperimentVariantFactory.create(experiment=experiment)
     serializer = ExperimentRecipeVariantSerializer(variant)
     self.assertDictEqual(
         serializer.data,
         {"ratio": variant.ratio, "slug": variant.slug, "value": variant.value},
     )
    def test_serializer_outputs_expected_int_val(self):
        experiment = ExperimentFactory(pref_type=Experiment.PREF_TYPE_INT)
        variant = ExperimentVariantFactory.create(experiment=experiment, value="28")
        serializer = ExperimentRecipeVariantSerializer(variant)

        self.assertEqual(type(serializer.data["value"]), int)
        self.assertEqual(
            serializer.data, {"ratio": variant.ratio, "slug": variant.slug, "value": 28}
        )
Exemple #6
0
 def test_experiment_population_returns_correct_string(self):
     experiment = ExperimentFactory(
         population_percent='0.5',
         firefox_version='57.0',
         firefox_channel='Nightly',
     )
     self.assertEqual(
         experiment.population,
         '0.5% of Firefox 57.0 Nightly'
     )
Exemple #7
0
    def test_serializer_outputs_expected_bool(self):
        experiment = ExperimentFactory(pref_type=Experiment.PREF_TYPE_BOOL)
        variant = ExperimentVariantFactory.create(
            experiment=experiment, value="true"
        )
        serializer = ExperimentRecipeVariantSerializer(variant)

        self.assertEqual(type(serializer.data["value"]), bool)
        self.assertEqual(
            serializer.data,
            {"ratio": variant.ratio, "slug": variant.slug, "value": True},
        )
 def test_serializer_outputs_expected_schema(self):
     experiment = ExperimentFactory()
     serializer = ExperimentRecipeMessageArgumentsSerializer(experiment)
     self.assertDictEqual(
         serializer.data,
         {
             "slug": experiment.recipe_slug,
             "experimentDocumentUrl": experiment.experiment_url,
             "userFacingName": experiment.name,
             "userFacingDescription": experiment.public_description,
             "branches": [
                 ExperimentRecipeMessageVariantSerializer(variant).data
                 for variant in experiment.variants.all()
             ],
         },
     )
 def test_serializer_outputs_expected_schema_with_json_str(self):
     experiment = ExperimentFactory(pref_type=Experiment.PREF_TYPE_JSON_STR)
     serializer = ExperimentRecipePrefArgumentsSerializer(experiment)
     self.assertDictEqual(
         serializer.data,
         {
             "preferenceBranchType": experiment.pref_branch,
             "slug": experiment.recipe_slug,
             "experimentDocumentUrl": experiment.experiment_url,
             "preferenceName": experiment.pref_name,
             "preferenceType": "string",
             "branches": [
                 ExperimentRecipeVariantSerializer(variant).data
                 for variant in experiment.variants.all()
             ],
         },
     )
Exemple #10
0
 def test_serializer_outputs_expected_schema(self):
     experiment = ExperimentFactory(pref_type=Experiment.PREF_TYPE_INT)
     serializer = ExperimentRecipePrefArgumentsSerializer(experiment)
     self.assertEqual(
         serializer.data,
         {
             "preferenceBranchType":
             experiment.pref_branch,
             "slug":
             experiment.normandy_slug,
             "experimentDocumentUrl":
             experiment.experiment_url,
             "preferenceName":
             experiment.pref_name,
             "preferenceType":
             experiment.pref_type,
             "branches": [
                 ExperimentRecipeVariantSerializer(variant).data
                 for variant in experiment.variants.all()
             ],
         },
     )
Exemple #11
0
 def test_is_branched_addon_returns_false_for_addon_and_lower_version(self):
     experiment = ExperimentFactory(
         type=Experiment.TYPE_ADDON, firefox_min_version="66.0"
     )
     self.assertFalse(experiment.is_branched_addon)
Exemple #12
0
 def test_is_branched_addon_returns_false_for_pref_type(self):
     experiment = ExperimentFactory()
     self.assertFalse(experiment.is_branched_addon)
Exemple #13
0
    def test_firefox_min_version_integer_returns_correct_integer(self):
        experiment = ExperimentFactory(
            firefox_min_version="57.0", firefox_max_version="59.0"
        )

        self.assertEqual(experiment.firefox_min_version_integer, 57)
Exemple #14
0
    def test_versions_integer_list_with_min_max_returns_correct_list(self):
        experiment = ExperimentFactory(
            firefox_min_version="57.0", firefox_max_version="59.0"
        )

        self.assertEqual(experiment.versions_integer_list, [57, 58, 59])
Exemple #15
0
 def test_is_multi_pref_returns_true_for_pref_and_greater_version(self):
     experiment = ExperimentFactory(
         type=Experiment.TYPE_PREF, firefox_min_version="70.0"
     )
     self.assertTrue(experiment.is_multi_pref)
Exemple #16
0
 def test_is_branched_addon_returns_true_for_addon_and_greater_version(self):
     experiment = ExperimentFactory(
         type=Experiment.TYPE_ADDON, firefox_min_version="70.0"
     )
     self.assertTrue(experiment.is_branched_addon)
Exemple #17
0
 def test_is_multi_pref_returns_false_for_pref_and_lower_version(self):
     experiment = ExperimentFactory(
         type=Experiment.TYPE_PREF, firefox_min_version="66.0"
     )
     self.assertFalse(experiment.is_multi_pref)
Exemple #18
0
 def test_is_multi_pref_returns_false_for_addon_type(self):
     experiment = ExperimentFactory(type=Experiment.TYPE_ADDON)
     self.assertFalse(experiment.is_multi_pref)