def test_default_selector_when_defined_in_profile(self): self.assertEqual( Ads(Project("test", "/test", some_services, []), Profile([], "c")) .resolve("default"), frozenset(["c"])) pass
def test_when_same_set_in_project_and_profile_the_latter_wins(self): self.assertEqual( Ads(Project("test", "/test", some_services, [a_and_b]), Profile([ServiceSet("a-and-b", frozenset(["a", "c"]))])) .resolve("a-and-b"), frozenset(["a", "c"])) pass
def test_recursive_selectors_across_project_and_profile(self): self.assertEqual( Ads(Project("test", "/test", some_services, [ServiceSet("team-foo", frozenset(["ab", "d"]))]), Profile([ServiceSet("ab", frozenset(["a", "b"]))])) .resolve("team-foo"), frozenset(["a", "b", "d"])) pass
def test_circular_selectors(self): ads = Ads(Project("test", "/test", some_services, [ServiceSet("foo", frozenset(["bar"]))]), Profile([ServiceSet("bar", frozenset(["foo"]))])) self.assertRaisesRegex( BadSelectorException, "foo -> bar -> foo", ads.resolve, "foo") self.assertRaisesRegex( BadSelectorException, "bar -> foo -> bar", ads.resolve, "bar") pass
def test_set_defined_in_profile(self): self.assertEqual( Ads(Project("test", "/test", some_services), Profile([b_and_c])).resolve("b-and-c"), frozenset(["b", "c"]))