def test_builds_client_if_present_in_cache_but_stale(self): with patch('swaggerpy.client.time.time', side_effect=[2, 3]): client.factory = client.SwaggerClientFactory() client.factory.cache['foo'] = client.CachedClient('bar', 0, 1) with patch('swaggerpy.client.SwaggerClient') as mock: client.get_client('foo') mock.assert_called_once_with('foo')
def test_builds_client_if_present_in_cache_but_stale(self): with patch('swaggerpy.client.time.time', side_effect=[2, 3]): client.factory = client.SwaggerClientFactory() client.factory.cache['foo'] = client.CachedClient('bar', 0, 1) with patch('swaggerpy.client.SwaggerClient') as mock: client.get_client('foo') mock.assert_called_once_with('foo')
def test_cache_of_a_json_dict(self): client.get_client({'swaggerVersion': '1.2', 'apis': []}) self.assertTrue( repr(({ 'swaggerVersion': '1.2', 'apis': [] }, )) + "[]" in client.cache.cache)
def test_uses_the_cache_if_present_and_fresh(self): client.factory = client.SwaggerClientFactory() client.factory.cache['foo'] = client.CachedClient('bar', 2, 1) with patch('swaggerpy.client.SwaggerClient') as mock: with patch('swaggerpy.client.time.time', side_effect=[2]): client.get_client('foo') assert not mock.called
def test_uses_the_cache_if_present_and_fresh(self): client.factory = client.SwaggerClientFactory() client.factory.cache['foo'] = client.CachedClient('bar', 2, 1) with patch('swaggerpy.client.SwaggerClient') as mock: with patch('swaggerpy.client.time.time', side_effect=[2]): client.get_client('foo') assert not mock.called
def test_get_client_uses_instantiated_factory_second_time(self): with patch.object(SwaggerClientFactory, '__call__') as mock_method: mock_method.client.return_value = None client.factory = SwaggerClientFactory() prev_factory = client.factory client.get_client() self.assertTrue(prev_factory is client.factory)
def test_get_client_uses_instantiated_factory_second_time(self): with patch.object(SwaggerClientFactory, '__call__') as mock_method: mock_method.client.return_value = None client.factory = SwaggerClientFactory() prev_factory = client.factory client.get_client() self.assertTrue(prev_factory is client.factory)
def test_is_stale_returns_false_before_timeout(self): with patch('swaggerpy.client.SwaggerClient'): with patch('swaggerpy.client.time.time', side_effect=[1]): client.get_client('test', timeout=10) self.assertFalse(client.factory.cache['test'].is_stale(11))
def test_builds_client_if_not_present_in_cache(self): with patch('swaggerpy.client.SwaggerClient') as mock: with patch('swaggerpy.client.time.time', side_effect=[1]): client.get_client('foo') mock.assert_called_once_with('foo')
def test_is_stale_returns_false_before_timeout(self): with patch('swaggerpy.client.SwaggerClient'): with patch('swaggerpy.client.time.time', side_effect=[1]): client.get_client('test', timeout=10) self.assertFalse(client.factory.cache['test'].is_stale(11))
def test_is_stale_returns_true_after_timeout(self): with patch('swaggerpy.client.SwaggerClient'): with patch('swaggerpy.client.time.time', side_effect=[1]): client.get_client('test', timeout=10) self.assertTrue(client.factory.cache['test'].is_stale(12))
def test_serialization_of_json_dict(self): client.get_client({'swaggerVersion': '1.2', 'apis': []}) self.assertTrue({ 'swaggerVersion': '1.2', 'apis': [] } in map(json.loads, client.factory.cache.keys()))
def test_is_stale_returns_true_after_timeout(self): with patch('swaggerpy.client.SwaggerClient'): with patch('swaggerpy.client.time.time', side_effect=[1]): client.get_client('test', timeout=10) self.assertTrue(client.factory.cache['test'].is_stale(12))
def test_serialization_of_json_dict(self): client.get_client({'swaggerVersion': '1.2', 'apis': []}) self.assertTrue({'swaggerVersion': '1.2', 'apis': []} in map(json.loads, client.factory.cache.keys()))
def test_get_client_allows_json_dict(self): client_stub = client.get_client(self.resource_listing) self.assertTrue(isinstance(client_stub, client.SwaggerClient))
def test_get_client_instantiates_new_factory_if_not_set(self): with patch.object(SwaggerClientFactory, '__call__') as mock_method: mock_method.client.return_value = None client.get_client() self.assertTrue(client.factory is not None)
def test_cache_with_async_http_client(self, _): url = 'http://example.com/api-docs' swagger_client = client.get_client( url, http_client=AsynchronousHttpClient()) other = client.get_client(url, http_client=AsynchronousHttpClient()) assert swagger_client is other
def test_is_stale_returns_false_before_ttl(self): with patch('swaggerpy.client.SwaggerClient'): with patch('swaggerpy.client.time.time', side_effect=[1]): client.get_client('test', ttl=10) assert not client.cache.cache["('test',)[]"].is_stale(11)
def test_get_client_instantiates_new_factory_if_not_set(self): with patch.object(SwaggerClientFactory, '__call__') as mock_method: mock_method.client.return_value = None client.get_client() self.assertTrue(client.factory is not None)
def test_builds_client_if_not_present_in_cache(self): with patch('swaggerpy.client.SwaggerClient') as mock: with patch('swaggerpy.client.time.time', side_effect=[1]): client.get_client('foo') mock.assert_called_once_with('foo')
def test_get_client_allows_json_dict(self): client_stub = client.get_client(self.resource_listing) self.assertTrue(isinstance(client_stub, client.SwaggerClient))
def test_is_stale_returns_true_after_ttl(self): with patch('swaggerpy.client.SwaggerClient'): with patch('swaggerpy.client.time.time', side_effect=[1]): client.get_client('test', ttl=10) self.assertTrue(client.cache.cache["('test',){}"].is_stale(12))