Пример #1
0
 def test_remove_services(self):
     cluster = 'test'
     data = self.service_generator('espresso-machine', 10)
     syncer.load_services(cluster, data.keys(), data, syncer.dummy_lock)
     del data['espresso-machine0']
     syncer.remove_services(cluster, data.keys(), syncer.dummy_lock)
     s = service.Service(cluster, 'espresso-machine0')
     self.assertTrue(s.exists)
     for i in xrange(1, 10):
         servname = 'espresso-machine' + str(i)
         s = service.Service(cluster, servname)
         self.assertFalse(s.exists)
Пример #2
0
 def test_remove_services(self):
     cluster = 'test'
     data = self.service_generator('espresso-machine', 10)
     with temp_data(data) as basepath:
         sync = syncer.Syncer('/nonexistent', basepath)
         sync.load()
     data = self.service_generator('espresso-machine', 1)
     with temp_data(data) as basepath:
         sync = syncer.Syncer('/nonexistent', basepath)
         sync.load()
     s = service.Service(cluster, 'espresso-machine0')
     self.assertTrue(s.exists)
     for i in range(1, 10):
         servname = 'espresso-machine' + str(i)
         s = service.Service(cluster, servname)
         self.assertFalse(s.exists)
Пример #3
0
 def test_load_services(self):
     cluster = 'test'
     data = self.service_generator('espresso-machine', 10)
     syncer.load_services(cluster, data.keys(), data, syncer.dummy_lock)
     for i in xrange(10):
         servname = 'espresso-machine' + str(i)
         s = service.Service(cluster, servname)
         self.assertEquals(s.default_values,
                           data[servname]['default_values'])
Пример #4
0
def remove_services(cluster, servnames, lock):
    path = service.Service.dir(cluster)
    with lock(path):
        for servname in servnames:
            s = service.Service(cluster, servname)
            if s.exists:
                print "Removing service %s/%s" % (cluster, servname)
                _log.info("Removing service %s/%s", cluster, servname)
                s.delete()
Пример #5
0
 def test_tags(self):
     self._mock_read({
         "datacenters": ['a', 'b', 'c'],
         "default_values": {
             "pooled": "no"
         },
         "something_else": "some_value"
     })
     s = service.Service('cluster', 'foo')
     self.assertEquals(s.tags, {'cluster': 'cluster'})
Пример #6
0
 def test_new_service(self, mocker):
     """New service creation"""
     mocker.return_value = 'default_value'
     self._mock_read(None)
     n = service.Service('cluster', 'foo')
     # Test
     self.assertEquals(n.base_path(), 'services')
     self.assertEquals(n.key, 'services/cluster/foo')
     self.assertFalse(n.exists)
     self.assertEquals(n.datacenters, 'default_value')
     self.assertEquals(n.name, 'foo')
Пример #7
0
    def test_load_services(self):
        data = self.service_generator('espresso-machine', 10)
        with temp_data(data) as basepath:
            sync = syncer.Syncer('/nonexistent', basepath)
            sync.load()

        for i in range(10):
            servname = 'espresso-machine' + str(i)
            s = service.Service('test', servname)
            self.assertEqual(s.default_values,
                             data[servname]['default_values'])
Пример #8
0
 def test_read(self):
     """Test that reading fetches correctly the values"""
     self._mock_read({
         "datacenters": ['a', 'b', 'c'],
         "default_values": {
             "pooled": "no"
         },
         "something_else": "some_value"
     })
     s = service.Service('cluster', 'foo')
     self.assertEquals(s.datacenters, ['a', 'b', 'c'])
     self.assertEquals(s.default_values['pooled'], "no")
     self.assertEquals(s._schemaless['something_else'], 'some_value')
Пример #9
0
 def test_load_service(self):
     cluster = 'test'
     servname = 'espresso-machine'
     data = {
         'default_values': {
             "pooled": "yes",
             "weight": 0
         },
         'datacenters': ['kitchen_sink', 'sofa']
     }
     syncer.load_service(cluster, servname, data)
     s = service.Service(cluster, servname)
     self.assertEquals(s.default_values["pooled"], "yes")
     self.assertEquals(s.datacenters[0], 'kitchen_sink')
Пример #10
0
 def test_failed_validation(self):
     """Test bad validation"""
     self._mock_read({"datacenters": "maybe?", "default_values": 20})
     s = service.Service('cluster', 'foo')
     self.assertEquals(s.datacenters, [])
     self.assertEquals(s.default_values, {'pooled': "no", "weight": 0})
Пример #11
0
def load_service(cluster, servname, servdata):
    s = service.Service(cluster, servname)
    s._from_net(servdata)
    s.write()