def test_register_log_area_provider(self): """Test that the register backend can register log area providers. Approval criteria: - The register backend shall be able to register a log area provider. Test steps: 1. Register a log area provider with the register backend. 2. Verify that the log area provider was stored in the database. """ fake_database = FakeDatabase() etos = ETOS("testing_etos", "testing_etos", "testing_etos") jsontas = JsonTas() provider = { "log": { "id": "log_area_provider_test", "list": {"available": [], "possible": []}, } } provider_registry = ProviderRegistry(etos, jsontas, fake_database) self.logger.info( "STEP: Register a log area provider with the register backend." ) response = register(provider_registry, log_area_provider=provider) self.logger.info( "STEP: Verify that the log area provider was stored in the database." ) stored_provider = json.loads( fake_database.reader.hget( "EnvironmentProvider:LogAreaProviders", "log_area_provider_test" ) ) self.assertDictEqual(stored_provider, provider) self.assertTrue(response)
def on_post(self, request, response): """Register a new provider. :param request: Falcon request object. :type request: :obj:`falcon.request` :param response: Falcon response object. :type response: :obj:`falcon.response` """ etos = ETOS("ETOS Environment Provider", os.getenv("HOSTNAME"), "Environment Provider") jsontas = JsonTas() registry = ProviderRegistry(etos, jsontas, self.database()) registered = register( registry, iut_provider=get_iut_provider(request), log_area_provider=get_log_area_provider(request), execution_space_provider=get_execution_space_provider(request), ) if registered is False: raise falcon.HTTPBadRequest( "Missing parameters", "At least one of 'iut_provider', 'log_area_provider' " "& 'execution_space_provider' is a required parameter.", ) response.status = falcon.HTTP_204
def test_register_provider_none(self): """Test that the register backend return false if no provider is supplied. Approval criteria: - The register backend shall return False if no provider is supplied. Test steps: 1. Register no provider with the register backend. 2. Verify that the register backend return False. """ fake_database = FakeDatabase() etos = ETOS("testing_etos", "testing_etos", "testing_etos") jsontas = JsonTas() provider_registry = ProviderRegistry(etos, jsontas, fake_database) self.logger.info("STEP: Register no provider with the register backend.") response = register(provider_registry) self.logger.info("STEP: Verify that the register backend return False.") self.assertFalse(response)
def test_register_execution_space_provider(self): """Test that the register backend can register execution space providers. Approval criteria: - The register backend shall be able to register an execution space provider. Test steps: 1. Register an execution space provider with the register backend. 2. Verify that the execution space provider was stored in the database. """ fake_database = FakeDatabase() etos = ETOS("testing_etos", "testing_etos", "testing_etos") jsontas = JsonTas() provider = { "execution_space": { "id": "execution_space_provider_test", "list": {"available": [{"identifier": "123"}], "possible": []}, } } provider_registry = ProviderRegistry(etos, jsontas, fake_database) self.logger.info( "STEP: Register an execution space provider with the register backend." ) response = register(provider_registry, execution_space_provider=provider) self.logger.info( "STEP: Verify that the execution space provider was stored in the database." ) stored_provider = json.loads( fake_database.reader.hget( "EnvironmentProvider:ExecutionSpaceProviders", "execution_space_provider_test", ) ) self.assertDictEqual(stored_provider, provider) self.assertTrue(response)
def test_register_all_providers(self): """Test that the register backend can register all providers. Approval criteria: - The register backend shall be able to register all providers. Test steps: 1. Register one of each provider with the register backend. 2. Verify that the providers were stored in the database. """ fake_database = FakeDatabase() etos = ETOS("testing_etos", "testing_etos", "testing_etos") jsontas = JsonTas() test_iut_provider = { "iut": { "id": "iut_provider_test", "list": {"available": [], "possible": []}, } } test_execution_space_provider = { "execution_space": { "id": "execution_space_provider_test", "list": {"available": [{"identifier": "123"}], "possible": []}, } } test_log_area_provider = { "log": { "id": "log_area_provider_test", "list": {"available": [], "possible": []}, } } provider_registry = ProviderRegistry(etos, jsontas, fake_database) self.logger.info( "STEP: Register one of each provider with the register backend." ) response = register( provider_registry, iut_provider=test_iut_provider, log_area_provider=test_log_area_provider, execution_space_provider=test_execution_space_provider, ) self.logger.info("STEP: Verify that the providers were stored in the database.") stored_execution_space_provider = json.loads( fake_database.reader.hget( "EnvironmentProvider:ExecutionSpaceProviders", "execution_space_provider_test", ) ) self.assertDictEqual( stored_execution_space_provider, test_execution_space_provider, ) stored_log_area_provider = json.loads( fake_database.reader.hget( "EnvironmentProvider:LogAreaProviders", "log_area_provider_test" ) ) self.assertDictEqual(stored_log_area_provider, test_log_area_provider) stored_iut_provider = json.loads( fake_database.reader.hget( "EnvironmentProvider:IUTProviders", "iut_provider_test" ) ) self.assertDictEqual(stored_iut_provider, test_iut_provider) self.assertTrue(response)