def test_default_randomness_no_doc(self): for randomness in [0, .5, 1]: toggle = DynamicallyPredictablyRandomToggle( 'dynamic_toggle_no_doc{}'.format(randomness), 'A toggle for testing', TAG_CUSTOM, [NAMESPACE_USER], default_randomness=randomness, ) self.assertEqual(randomness, toggle.randomness)
def test_default_randomness_doc_but_no_value(self): for randomness in [0, .5, 1]: toggle = DynamicallyPredictablyRandomToggle( 'dynamic_toggle_no_value{}'.format(randomness), 'A toggle for testing', TAG_CUSTOM, [NAMESPACE_USER], default_randomness=randomness, ) db_toggle = Toggle(slug=toggle.slug) db_toggle.save() self.addCleanup(db_toggle.delete) self.assertEqual(randomness, toggle.randomness)
def _run_toggle_overrride_test(self, input_override, expected_override, test_id, default_randomness=0): toggle = DynamicallyPredictablyRandomToggle( 'override_dynamic_toggle_{}'.format(test_id), 'A toggle for testing', TAG_CUSTOM, [NAMESPACE_USER], default_randomness=default_randomness, ) db_toggle = Toggle(slug=toggle.slug) setattr(db_toggle, DynamicallyPredictablyRandomToggle.RANDOMNESS_KEY, input_override) db_toggle.save() db_toggle = Toggle.get(toggle.slug) self.addCleanup(db_toggle.delete) self.assertEqual(expected_override, toggle.randomness)
NAMESPACE_USER, TAG_CUSTOM, DynamicallyPredictablyRandomToggle, StaticToggle, ) DASHBOARD_ICDS_REPORT = StaticToggle( 'dashboard_icds_reports', 'ICDS: Enable access to the dashboard reports for ICDS', TAG_CUSTOM, [NAMESPACE_DOMAIN], ) ICDS_DASHBOARD_SHOW_MOBILE_APK = DynamicallyPredictablyRandomToggle( 'icds_dashboard_show_mobile_apk', 'Show a "Mobile APK" download link on the ICDS Dashboard', TAG_CUSTOM, [NAMESPACE_USER], ) ICDS_DASHBOARD_TEMPORARY_DOWNTIME = StaticToggle( 'icds_dashboard_temporary_downtime', 'ICDS: Temporarily disable the ICDS dashboard by showing a downtime page. ' 'This can be cicurmvented by adding "?bypass-downtime=True" to the end of the url.', TAG_CUSTOM, [NAMESPACE_DOMAIN] ) ICDS_DISHA_API = StaticToggle( 'icds_disha_access', 'ICDS: Access DISHA API', TAG_CUSTOM,