def test_foca_db(): """Ensure foca() returns a Connexion app instance; valid db field""" app = foca(VALID_DB_CONF) my_db = app.app.config['FOCA'].db.dbs['my-db'] my_coll = my_db.collections['my-col-1'] assert isinstance(my_db.client, Database) assert isinstance(my_coll.client, Collection) assert isinstance(app, App)
def main(): # create app object app = foca(os.path.join( os.path.dirname(__file__), "config.yaml", )) # register service info with app.app.app_context(): service_info = RegisterServiceInfo() service_info.set_service_info_from_config() # start app app.run(port=app.port)
#!/usr/bin/env python3 from pathlib import Path from foca.foca import foca if __name__ == '__main__': config = str(Path(__file__).resolve().parent / "config.yaml") app = foca("config.yaml") app.run(port=8080)
def test_foca_invalid_api(): """Test foca(); invalid api field (Invalid Connexion spec)""" temp_file = create_temporary_copy(API_CONF, PATH_SPECS_INVALID_OPENAPI) with pytest.raises(InvalidSpecification): foca(temp_file)
def test_foca_api(): """Ensure foca() returns a Connexion app instance; valid api field""" temp_file = create_temporary_copy(API_CONF, PATH_SPECS_2_YAML) app = foca(temp_file) assert isinstance(app, App) os.remove(temp_file)
def test_foca_jobs(): """Ensure foca() returns a Connexion app instance; valid jobs field""" app = foca(JOBS_CONF) assert isinstance(app, App)
def test_foca_invalid_jobs(): """Test foca(); invalid jobs field""" with pytest.raises(ValidationError): foca(INVALID_JOBS_CONF)
def test_foca_invalid_log(): """Test foca(); invalid log field""" with pytest.raises(ValidationError): foca(INVALID_LOG_CONF)
def test_foca_invalid_structure(): """Test foca(); invalid configuration file structure.""" with pytest.raises(YAMLError): foca(INVALID_CONF)
def test_foca_empty_conf(): """Ensure foca() require non-empty configuration parameters (if a field is present)""" with pytest.raises(ValidationError): foca(EMPTY_CONF)
def test_foca_output_defaults(): """Ensure foca() returns a Connexion app instance; defaults only.""" app = foca() assert isinstance(app, App)
def test_foca_invalid_db(): """Test foca(); invalid db field""" with pytest.raises(ValidationError): foca(INVALID_DB_CONF)