Exemple #1
0
    def test_static_requires(self):
        with self.assertRaises(dependency.MissingRequirementError):
            @dependency.requires('test-req')
            class TestClassA(object):
                pass

        with self.assertRaises(dependency.MissingRequirementError):
            @dependency.requires('test-req')
            def test_funcA():
                pass

        with dependency.provides('test-req'):
            @dependency.requires('test-req')
            class TestClassB(object):
                pass

            @dependency.requires('test-req')
            def test_funcB():
                pass
Exemple #2
0
    def test_dynamic_requires(self):
        class TestClass(object):
            @dependency.requires('test-req', dynamic=True)
            def func(self):
                pass

        @dependency.requires('test-req', dynamic=True)
        def test_func():
            pass

        obj = TestClass()

        with dependency.provides('test-req'):
            obj.func()
            test_func()

        with self.assertRaises(dependency.MissingRequirementError):
            obj.func()

        with self.assertRaises(dependency.MissingRequirementError):
            test_func()
Exemple #3
0
    def test_multiple_provision(self):
        @dependency.provides('test-req-A')
        def funcA():
            pass

        with self.assertRaises(dependency.MissingRequirementError):
            @dependency.requires('test-req-A', 'test-req-B')
            def funcB():
                pass

        with dependency.provides('test-req-A', 'test-req-B'):
            @dependency.requires('test-req-A', 'test-req-B')
            def funcC():
                pass

        @dependency.requires('test-req-A')
        def funcD():
            pass

        with self.assertRaises(dependency.MissingRequirementError):
            @dependency.requires('test-req-B')
            def funcE():
                pass
Exemple #4
0
    def test_mixed_requirements(self):
        @dependency.provides('test-req-A')
        def funcA():
            pass

        @dependency.provides('test-req-B')
        @dependency.requires('test-req-A')
        def funcB():
            pass

        @dependency.requires('test-req-A', 'test-req-B')
        def funcC():
            pass

        @dependency.requires('test-req-A', 'test-req-B')
        @dependency.requires('test-req-C', dynamic=True)
        def funcD():
            pass

        with self.assertRaises(dependency.MissingRequirementError):
            funcD()

        with dependency.provides('test-req-C'):
            funcD()
Exemple #5
0
    def test_context_provides(self):
        self.assertNotIn('test-req', dependency.Requirement.instances)

        with dependency.provides('test-req'):
            self.assertIn('test-req', dependency.Requirement.instances)