예제 #1
0
 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
예제 #2
0
 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
예제 #3
0
 def test_selector_resolves_to_nonexistent_service(self):
     ads = Ads(
         Project("test", "/test", [],
                 [ServiceSet("ab", frozenset(["a", "b"]))]))
     self.assertRaisesRegexp(BadSelectorException, "No service .* ab -> a",
                             ads.resolve, "ab")
     pass
예제 #4
0
 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
예제 #5
0
파일: test_cache.py 프로젝트: arramos84/ads
 def setUp(self):
     self.cachefile = ".ads_cache.yml"
     self.project_file = "/adsroot/adsroot.yml"
     self.profile_dir = "/profile"
     self.service_sets = [
         ServiceSet("service1", ["service1"]),
         ServiceSet("service1", ["service2"])
     ]
     self.map = {
         "adsroot": self.project_file,
         "service1": "/adsroot/service1/ads.yml",
         "service2": "/adsroot/service2/ads.yml"
     }
     self.read_data = "adsroot: /adsroot/adsroot.yml\n"\
                    + "service1: /adsroot/service1/ads.yml\n"\
                    + "service2: /adsroot/service2/ads.yml\n"
예제 #6
0
import unittest
from ads import Ads, Project, Service, ServiceSet, Profile, BadSelectorException

some_services = [
    Service("a", "/a"),
    Service("b", "/b"),
    Service("c", "/c"),
    Service("d", "/d")
]
a_and_b = ServiceSet("a-and-b", frozenset(["a", "b"]))
b_and_c = ServiceSet("b-and-c", frozenset(["b", "c"]))


class TestSelectors(unittest.TestCase):
    def test_selector_is_service_name(self):
        self.assertEqual(
            Ads(Project("test", "/test", some_services)).resolve("b"),
            frozenset(["b"]))

    def test_all_selector(self):
        self.assertEqual(
            Ads(Project("test", "/test", some_services)).resolve("all"),
            frozenset(["a", "b", "c", "d"]))

    def test_set_defined_in_project(self):
        self.assertEqual(
            Ads(Project("test", "/test", some_services,
                        [a_and_b])).resolve("a-and-b"), frozenset(["a", "b"]))

    def test_set_defined_in_profile(self):
        self.assertEqual(