Example #1
0
 def test_get_exists(self):
     def serv():
         return "1-2-3"
     sl = ServiceLocator()
     sl.set('test-service', serv)
     val = sl.get('test-service')
     self.assertEqual(val, '1-2-3')
Example #2
0
 def test_set_double(self):
     def simple_service():
         return "text"
     def simple_service2():
         return "text"
     sl = ServiceLocator()
     with self.assertRaises(KeyError):
         sl.set('simple-service', simple_service)
         sl.set('simple-service', simple_service2)
Example #3
0
    def test_create_alias_name_reserved(self):
        sl = ServiceLocator()
        sl.set('serv', lambda: 'test')
        sl.create_alias('test', 'serv')

        with self.assertRaises(KeyError):
            sl.create_alias('test', 'serv')
        with self.assertRaises(KeyError):
            sl.create_alias('serv', 'test')
Example #4
0
    def test_set_alias_exist(self):
        def simple_service():
            return "text"
        def simple_service2():
            return "text"
        sl = ServiceLocator()

        sl.set('simple-service', simple_service)
        sl.create_alias('s-s', 'simple-service')

        with self.assertRaises(KeyError):
            sl.set('s-s', simple_service2)
Example #5
0
 def test_get_value_cache(self):
     def serv():
         self.stored_value = self.stored_value ** 2
         return self.stored_value
     sl = ServiceLocator()
     sl.set('test-service', serv)
     val = sl.get('test-service')
     self.assertEqual(val, 25)
     val2 = sl.get('test-service')
     self.assertEqual(val2, 25)
     val3 = sl.get('test-service')
     self.assertEqual(val3, 25)
Example #6
0
    def test_set_double_override(self):
        def simple_service():
            return "text"
        def simple_service2():
            return "text2"
        sl = ServiceLocator()

        sl.set('simple-service', simple_service)
        #shouldn't generate any error
        sl.set('simple-service', simple_service2, can_override=True)
        #simple-service should point to simple_service2 now
        self.assertEqual(sl.get('simple-service'), 'text2')
Example #7
0
 def test_has_alias_exists(self):
     sl = ServiceLocator()
     sl.set('simple-service', lambda: 26 )
     sl.create_alias('s-s', 'simple-service')
     self.assertTrue(sl.has('simple-service'))
Example #8
0
 def test_get_not_exists(self):
     sl = ServiceLocator()
     with self.assertRaises(KeyError):
         sl.get('non-exists-service')
Example #9
0
 def test_set_non_callable(self):
     sl = ServiceLocator()
     o = 123
     with self.assertRaises(ValueError):
         sl.set('wrong-service', o)
Example #10
0
 def test_create_alias_service_non_exists(self):
     sl = ServiceLocator()
     with self.assertRaises(KeyError):
         sl.create_alias('test', 'non-exists-service')
Example #11
0
 def test_set_with_values(self):
     def simple_service():
         return "text"
     sl = ServiceLocator()
     sl.set('simple-service', simple_service)
     self.assertTrue(sl.has('simple-service'))
Example #12
0
 def test_has_not_exists(self):
     sl = ServiceLocator()
     self.assertFalse(sl.has('test'))
Example #13
0
 def test_set_empty(self):
     sl = ServiceLocator()
     with self.assertRaises(NameError):
         sl.set('', lambda: "test")
Example #14
0
 def test_create_empty_alias(self):
     sl = ServiceLocator()
     with self.assertRaises(NameError):
         sl.create_alias('', '')
Example #15
0
 def test_has_service_exists(self):
     sl = ServiceLocator()
     sl.set('simple-service', lambda: 25 )
     self.assertTrue(sl.has('simple-service'))
Example #16
0
    def test_multiple_aliases_stack(self):
        sl = ServiceLocator()
        sl.set('service-1', lambda: "test-value")
        sl.create_alias('test', 'service-1')
        sl.create_alias('test2', 'test')
        sl.create_alias('checking', 'test2')
        sl.create_alias('para-pam', 'checking')
        sl.create_alias('pom-pom', 'test2')

        self.assertEqual(sl.get('test'),'test-value')
        self.assertEqual(sl.get('test2'),'test-value')
        self.assertEqual(sl.get('checking'),'test-value')
        self.assertEqual(sl.get('para-pam'),'test-value')
        self.assertEqual(sl.get('pom-pom'),'test-value')
        self.assertEqual(sl.get('service-1'),'test-value')
Example #17
0
 def test_create_alias(self):
     sl = ServiceLocator()
     sl.set('service-1', lambda: "test-value")
     sl.create_alias('test', 'service-1')
     self.assertEqual(sl.get('test'),'test-value')