def parse_tier_data(tier, data): data = safe_decode_json(data, log_tag="tier %s" % tier) try: common.validate_tier_data(tier, data) except ValidationFailed as e: _log.error("Validation failed for tier data for tier %s: %r", tier, e) return None else: return data
def test_validate_tier_data(self): good_data = {"order": 10} common.validate_tier_data("abcd_-ef", good_data) with self.assertRaises(ValidationFailed): # Bad name common.validate_tier_data("", good_data) with self.assertRaises(ValidationFailed): # Bad name common.validate_tier_data("+|$", good_data) with self.assertRaises(ValidationFailed): # Bad order value common.validate_tier_data("abc", {"order": "10"}) with self.assertRaises(ValidationFailed): # Missing order. common.validate_tier_data("abc", {}) with self.assertRaises(ValidationFailed): # Non-dict. common.validate_tier_data("abc", "foo")
def test_validate_tier_data(self): good_data = {"order": 10} common.validate_tier_data("abcd_-ef", good_data) with self.assertRaises(ValidationFailed): # Bad name common.validate_tier_data("", good_data) with self.assertRaises(ValidationFailed): # Bad name common.validate_tier_data("+|$", good_data) with self.assertRaises(ValidationFailed): # Bad order value common.validate_tier_data("abc", {"order": "10"}) with self.assertRaises(ValidationFailed): # Non-dict. common.validate_tier_data("abc", "foo") # Missing order. tier = {} common.validate_tier_data("abc", tier) self.assertEqual(tier["order"], common.INFINITY) self.assertGreater(tier["order"], 999999999999999999999999999999999999) # "default" order. tier = {"order": "default"} common.validate_tier_data("abc", tier) self.assertEqual(tier["order"], common.INFINITY) self.assertGreater(tier["order"], 999999999999999999999999999999999999)