def test_merges_old_and_new_client_data(self): original_client_data = {"a": 1, "b": 2} updated_client_data = {"b": 3} meta = FeatureFlagStoreMeta(self.now, original_client_data) meta.update(client_data=updated_client_data) self.assertEqual( { "a": original_client_data["a"], "b": updated_client_data["b"] }, meta.client_data, )
def test_sets_conditions(self): conditions = [Condition(foo=1)] meta = FeatureFlagStoreMeta(self.now) meta.update(conditions=conditions) self.assertEqual(conditions, meta.conditions)
def test_updating_client_data_does_not_affect_created_date(self): updated_client_data = {self.txt(): self.txt()} meta = FeatureFlagStoreMeta(self.now, {}) meta.update(client_data=updated_client_data) self.assertEqual(self.now, meta.created_date)
def test_updating_created_date_does_not_affect_client_data(self): later = self.now + 1 meta = FeatureFlagStoreMeta(self.now, {}) meta.update(created_date=later) self.assertEqual({}, meta.client_data)
def test_updates_client_data(self): updated_client_data = {self.txt(): self.txt()} meta = FeatureFlagStoreMeta(self.now, {}) meta.update(client_data=updated_client_data) self.assertEqual(updated_client_data, meta.client_data)
def test_updates_created_date(self): later = self.now + 1 meta = FeatureFlagStoreMeta(self.now, {}) meta.update(created_date=later) self.assertEqual(later, meta.created_date)
def test_sets_bucketer(self): percentage_value = 0.1 bucketer = PercentageBucketer(percentage=Percentage(percentage_value)) meta = FeatureFlagStoreMeta(self.now) meta.update(bucketer=bucketer) self.assertEqual(percentage_value, meta.bucketer.percentage)
def test_replaces_conditions_entirely(self): conditions = [Condition(foo=1)] meta = FeatureFlagStoreMeta(self.now) meta.update(conditions=conditions) meta.update(conditions=conditions) self.assertEqual(conditions, meta.conditions)