def test_serve_api(self): def serve(app): self.assert_(isinstance(app, ApiWsgiApp)) self.serve = serve cmd = LunrServeCommand('api-server') cmd.run([self.config_file]) self.assert_(serve.called)
def test_unhandeled_exception_in_check_registration(self): def mock_request(*args, **kwargs): mock_request.called = True raise Exception('Something unexpected happened') with patch(base, 'make_api_request', mock_request): cmd = LunrServeCommand('storage-server') cmd.run([self.config_file]) # mock request was called self.assert_(mock_request.called) # app still started self.assert_(self.serve.called)
def test_serve_storage(self): def serve(app): self.assert_(isinstance(app, StorageWsgiApp)) self.serve = serve # force a quick exit on client registration def mock_request(*args, **kwargs): raise HTTPError('http://api:8080/v1.0/admin/nodes', 404, 'Not Found', {}, StringIO("{'reason': 'not found'}")) with patch(base, 'make_api_request', mock_request): cmd = LunrServeCommand('storage-server') cmd.run([self.config_file]) self.assertTrue(serve.called)
def test_simple_check_registration(self): responses = [ # listing [{ 'id': 'node1' }], # show { 'name': socket.gethostname(), 'volume_type_name': 'vtype', 'hostname': '127.0.0.1', 'port': 8081, 'storage_hostname': '127.0.0.1', 'storage_port': 3260, 'size': 1, 'status': 'ACTIVE', 'id': 'node1', 'cinder_host': '127.0.0.1', 'affinity_group': '', }, ] response_gen = iter(responses) def mock_request(*args, **kwargs): info = response_gen.next() return StringIO(dumps(info)) def serve(app): local_info = app.helper._local_info() node_info = responses[1] exceptions = base.get_registration_exceptions( local_info, node_info) self.assertFalse(exceptions) self.serve = serve with patch(base, 'make_api_request', mock_request): cmd = LunrServeCommand('storage-server') cmd.run([self.config_file]) self.assertTrue(serve.called)