Пример #1
0
 def setUp(self):
     with patch.object(etcd.Client, 'machines') as mock_machines:
         mock_machines.__get__ = Mock(return_value=[
             'http://localhost:2379', 'http://localhost:4001'
         ])
         self.client = Client({'discovery_srv': 'test'})
         self.client.http.request = http_request
Пример #2
0
 def set_up(self):
     socket.getaddrinfo = socket_getaddrinfo
     requests.get = requests_get
     dns.resolver.query = dns_query
     with patch.object(etcd.Client, 'machines') as mock_machines:
         mock_machines.__get__ = Mock(return_value=['http://localhost:2379', 'http://localhost:4001'])
         self.client = Client({'discovery_srv': 'test'})
         self.client.http.request = http_request
Пример #3
0
class TestClient(unittest.TestCase):
    @patch('dns.resolver.query', dns_query)
    @patch('requests.get', requests_get)
    def setUp(self):
        with patch.object(etcd.Client, 'machines') as mock_machines:
            mock_machines.__get__ = Mock(return_value=[
                'http://localhost:2379', 'http://localhost:4001'
            ])
            self.client = Client({'discovery_srv': 'test'})
            self.client.http.request = http_request

    def test_api_execute(self):
        self.client._base_uri = 'http://localhost:4001'
        self.client._machines_cache = ['http://localhost:2379']
        self.client.api_execute('/', 'GET')
        self.client._update_machines_cache = False
        self.client._base_uri = 'http://localhost:4001'
        self.client._machines_cache = []
        self.assertRaises(etcd.EtcdConnectionFailed, self.client.api_execute,
                          '/', 'GET')
        self.assertTrue(self.client._update_machines_cache)

    def test_get_srv_record(self):
        self.assertEquals(self.client.get_srv_record('blabla'), [])
        self.assertEquals(self.client.get_srv_record('exception'), [])

    def test__result_from_response(self):
        response = MockResponse()
        response.content = 'TimeoutError'
        self.assertRaises(urllib3.exceptions.TimeoutError,
                          self.client._result_from_response, response)
        response.content = 'Exception'
        self.assertRaises(etcd.EtcdException,
                          self.client._result_from_response, response)
        response.content = b'{}'
        self.assertRaises(etcd.EtcdException,
                          self.client._result_from_response, response)

    def test__get_machines_cache_from_srv(self):
        self.client.get_srv_record = Mock(return_value=[('localhost', 2380)])
        self.client._get_machines_cache_from_srv('blabla')

    def test__get_machines_cache_from_dns(self):
        self.client._get_machines_cache_from_dns('error:2379')

    def test__load_machines_cache(self):
        self.client._config = {}
        self.assertRaises(Exception, self.client._load_machines_cache)
        self.client._config = {'discovery_srv': 'blabla'}
        self.assertRaises(etcd.EtcdException, self.client._load_machines_cache)
Пример #4
0
class TestClient(unittest.TestCase):
    @patch('dns.resolver.query', dns_query)
    @patch('requests.get', requests_get)
    def setUp(self):
        with patch.object(etcd.Client, 'machines') as mock_machines:
            mock_machines.__get__ = Mock(return_value=[
                'http://localhost:2379', 'http://localhost:4001'
            ])
            self.client = Client({'discovery_srv': 'test'})
            self.client.http.request = http_request
            self.client.http.request_encode_body = http_request

    def test_api_execute(self):
        self.client._base_uri = 'http://localhost:4001'
        self.client._machines_cache = ['http://localhost:2379']
        self.assertRaises(etcd.EtcdWatchTimedOut,
                          self.client.api_execute,
                          '/timeout',
                          'POST',
                          params={'wait': 'true'})
        self.client._update_machines_cache = False
        self.client.api_execute('/', 'POST', timeout=0)
        self.client._update_machines_cache = False
        self.client._base_uri = 'http://localhost:4001'
        self.client._machines_cache = []
        self.assertRaises(etcd.EtcdConnectionFailed, self.client.api_execute,
                          '/', 'GET')
        self.assertTrue(self.client._update_machines_cache)
        self.assertRaises(etcd.EtcdException, self.client.api_execute, '/',
                          'GET')
        self.assertRaises(etcd.EtcdException, self.client.api_execute, '/', '')
        self.assertRaises(ValueError, self.client.api_execute, '', '')

    def test_get_srv_record(self):
        self.assertEquals(self.client.get_srv_record('blabla'), [])
        self.assertEquals(self.client.get_srv_record('exception'), [])

    def test__get_machines_cache_from_srv(self):
        self.client.get_srv_record = Mock(return_value=[('localhost', 2380)])
        self.client._get_machines_cache_from_srv('blabla')

    def test__get_machines_cache_from_dns(self):
        self.client._get_machines_cache_from_dns('error:2379')

    def test__load_machines_cache(self):
        self.client._config = {}
        self.assertRaises(Exception, self.client._load_machines_cache)
        self.client._config = {'discovery_srv': 'blabla'}
        self.assertRaises(etcd.EtcdException, self.client._load_machines_cache)
Пример #5
0
class TestClient(unittest.TestCase):

    @patch('dns.resolver.query', dns_query)
    @patch('requests.get', requests_get)
    def setUp(self):
        with patch.object(etcd.Client, 'machines') as mock_machines:
            mock_machines.__get__ = Mock(return_value=['http://localhost:2379', 'http://localhost:4001'])
            self.client = Client({'discovery_srv': 'test'})
            self.client.http.request = http_request

    def test_api_execute(self):
        self.client._base_uri = 'http://localhost:4001'
        self.client._machines_cache = ['http://localhost:2379']
        self.client.api_execute('/', 'GET')
        self.client._update_machines_cache = False
        self.client._base_uri = 'http://localhost:4001'
        self.client._machines_cache = []
        self.assertRaises(etcd.EtcdConnectionFailed, self.client.api_execute, '/', 'GET')
        self.assertTrue(self.client._update_machines_cache)

    def test_get_srv_record(self):
        self.assertEquals(self.client.get_srv_record('blabla'), [])
        self.assertEquals(self.client.get_srv_record('exception'), [])

    def test__result_from_response(self):
        response = MockResponse()
        response.content = 'TimeoutError'
        self.assertRaises(urllib3.exceptions.TimeoutError, self.client._result_from_response, response)
        response.content = 'Exception'
        self.assertRaises(etcd.EtcdException, self.client._result_from_response, response)
        response.content = b'{}'
        self.assertRaises(etcd.EtcdException, self.client._result_from_response, response)

    def test__get_machines_cache_from_srv(self):
        self.client.get_srv_record = Mock(return_value=[('localhost', 2380)])
        self.client._get_machines_cache_from_srv('blabla')

    def test__get_machines_cache_from_dns(self):
        self.client._get_machines_cache_from_dns('error:2379')

    def test__load_machines_cache(self):
        self.client._config = {}
        self.assertRaises(Exception, self.client._load_machines_cache)
        self.client._config = {'discovery_srv': 'blabla'}
        self.assertRaises(etcd.EtcdException, self.client._load_machines_cache)
Пример #6
0
class TestClient(unittest.TestCase):

    def __init__(self, method_name='runTest'):
        self.setUp = self.set_up
        super(TestClient, self).__init__(method_name)

    def set_up(self):
        socket.getaddrinfo = socket_getaddrinfo
        requests.get = requests_get
        dns.resolver.query = dns_query
        with patch.object(etcd.Client, 'machines') as mock_machines:
            mock_machines.__get__ = Mock(return_value=['http://localhost:2379', 'http://localhost:4001'])
            self.client = Client({'discovery_srv': 'test'})
            self.client.http.request = http_request

    def test_api_execute(self):
        self.client._base_uri = 'http://localhost:4001'
        self.client._machines_cache = ['http://localhost:2379']
        self.client.api_execute('/', 'GET')

    def test_get_srv_record(self):
        self.assertEquals(self.client.get_srv_record('blabla'), [])
        self.assertEquals(self.client.get_srv_record('exception'), [])

    def test__result_from_response(self):
        response = MockResponse()
        response.content = 'TimeoutError'
        self.assertRaises(urllib3.exceptions.TimeoutError, self.client._result_from_response, response)
        response.content = 'Exception'
        self.assertRaises(etcd.EtcdException, self.client._result_from_response, response)
        response.content = b'{}'
        self.assertRaises(etcd.EtcdException, self.client._result_from_response, response)

    def test__get_machines_cache_from_srv(self):
        self.client.get_srv_record = lambda e: [('localhost', 2380)]
        self.client._get_machines_cache_from_srv('blabla')

    def test__get_machines_cache_from_dns(self):
        self.client._get_machines_cache_from_dns('ok:2379')

    def test__load_machines_cache(self):
        self.client._config = {}
        self.assertRaises(Exception, self.client._load_machines_cache)
        self.client._config = {'discovery_srv': 'blabla'}
        self.assertRaises(etcd.EtcdException, self.client._load_machines_cache)
Пример #7
0
class TestClient(unittest.TestCase):

    @patch('dns.resolver.query', dns_query)
    @patch('requests.get', requests_get)
    def setUp(self):
        with patch.object(etcd.Client, 'machines') as mock_machines:
            mock_machines.__get__ = Mock(return_value=['http://localhost:2379', 'http://localhost:4001'])
            self.client = Client({'discovery_srv': 'test'})
            self.client.http.request = http_request
            self.client.http.request_encode_body = http_request

    def test_api_execute(self):
        self.client._base_uri = 'http://localhost:4001'
        self.client._machines_cache = ['http://localhost:2379']
        self.assertRaises(etcd.EtcdWatchTimedOut, self.client.api_execute, '/timeout', 'POST', params={'wait': 'true'})
        self.client._update_machines_cache = False
        self.client.api_execute('/', 'POST', timeout=0)
        self.client._update_machines_cache = False
        self.client._base_uri = 'http://localhost:4001'
        self.client._machines_cache = []
        self.assertRaises(etcd.EtcdConnectionFailed, self.client.api_execute, '/', 'GET')
        self.assertTrue(self.client._update_machines_cache)
        self.assertRaises(etcd.EtcdException, self.client.api_execute, '/', 'GET')
        self.assertRaises(etcd.EtcdException, self.client.api_execute, '/', '')
        self.assertRaises(ValueError, self.client.api_execute, '', '')

    def test_get_srv_record(self):
        self.assertEquals(self.client.get_srv_record('blabla'), [])
        self.assertEquals(self.client.get_srv_record('exception'), [])

    def test__get_machines_cache_from_srv(self):
        self.client.get_srv_record = Mock(return_value=[('localhost', 2380)])
        self.client._get_machines_cache_from_srv('blabla')

    def test__get_machines_cache_from_dns(self):
        self.client._get_machines_cache_from_dns('error:2379')

    def test__load_machines_cache(self):
        self.client._config = {}
        self.assertRaises(Exception, self.client._load_machines_cache)
        self.client._config = {'discovery_srv': 'blabla'}
        self.assertRaises(etcd.EtcdException, self.client._load_machines_cache)
Пример #8
0
 def setUp(self):
     with patch.object(etcd.Client, 'machines') as mock_machines:
         mock_machines.__get__ = Mock(return_value=['http://localhost:2379', 'http://localhost:4001'])
         self.client = Client({'discovery_srv': 'test'})
         self.client.http.request = http_request