diff --git a/netapp-samples/netapp-invoker-sample/netapp-invoker.py b/netapp-samples/netapp-invoker-sample/netapp-invoker.py index 3fd2d3d7e264f313b81025f4d107f1a151384da7..3288a348c5c09d36e6325ce007fd6445db52b318 100644 --- a/netapp-samples/netapp-invoker-sample/netapp-invoker.py +++ b/netapp-samples/netapp-invoker-sample/netapp-invoker.py @@ -1,10 +1,9 @@ import sys import os - -# Añadir el directorio del SDK al PYTHONPATH usando una ruta relativa -script_dir = os.path.dirname(os.path.abspath(__file__)) # Directorio actual del script -sdk_path = os.path.join(script_dir, '..', '..', 'sdk') # Subir dos niveles y apuntar a 'sdk' +# Add the SDK directory to PYTHONPATH using a relative path +script_dir = os.path.dirname(os.path.abspath(__file__)) # Current script directory +sdk_path = os.path.join(script_dir, '..', '..', 'sdk') # Go up two levels and point to 'sdk' sys.path.insert(0, sdk_path) from sdk import CAPIFInvokerConnector, ServiceDiscoverer capif_sdk_config_path = "/Users/dgs/Downloads/capif_sdk/invoker/config.json" @@ -17,11 +16,11 @@ if __name__ == "__main__": capif_connector.onboard_invoker() print("INVOKER ONBOARDING COMPLETED") - # Aquà ya tengo certificados, ahora puedo hacer discover (get token para un api o varios, según elijas) + # Now I have certificates, I can proceed with discovery (get token for an API or several, depending on your choice) - # Como developer yo ya sé a qué APIs quiero acceder + # As a developer, I already know which APIs I want to access # DISCOVER filter configureCmcAmfSet - # Without DISCOVER filter it is obtained the whole list of available APIs in CAPIF + # Without DISCOVER filter, the entire list of available APIs in CAPIF is obtained discoverer = ServiceDiscoverer(config_file=capif_sdk_config_path) diff --git a/netapp-samples/netapp-provider-sample/netapp-provider.py b/netapp-samples/netapp-provider-sample/netapp-provider.py index 377ba08f958b2ffe34ec0eedd7096527c63e9fb5..25e2cd7dd610dbc99239369434934616a1d487a9 100644 --- a/netapp-samples/netapp-provider-sample/netapp-provider.py +++ b/netapp-samples/netapp-provider-sample/netapp-provider.py @@ -3,35 +3,33 @@ import sys import os import json -# Añadir el directorio del SDK al PYTHONPATH usando una ruta relativa -script_dir = os.path.dirname(os.path.abspath(__file__)) # Directorio actual del script -sdk_path = os.path.join(script_dir, '..', '..', 'sdk') # Subir dos niveles y apuntar a 'sdk' +# Add the SDK directory to PYTHONPATH using a relative path +script_dir = os.path.dirname(os.path.abspath(__file__)) # Current script directory +sdk_path = os.path.join(script_dir, '..', '..', 'sdk') # Go up two levels and point to 'sdk' sys.path.insert(0, sdk_path) - # capif_sdk_config_path = "/Users/dgs/Downloads/capif_sdk/invoker/config.json" - capif_sdk_config_path = "./capif-sdk-config-sample.json" if __name__ == "__main__": try: - # Inicialización del conector + # Initialize the connector capif_connector = CAPIFProviderConnector(config_file=capif_sdk_config_path) capif_connector.onboard_provider() print("PROVIDER ONBOARDING COMPLETED") - # Obtención de los AEFs ids y APFs ids para publicar una API + # Retrieve AEFs ids and APFs ids to publish an API with open(capif_sdk_config_path, 'r') as file: config = json.load(file) provider_folder = config.get('provider_folder') username_folder = config.get('capif_username') if not provider_folder: - raise ValueError("El valor 'provider_folder' no está definido en el archivo de configuración.") + raise ValueError("'provider_folder' value is not defined in the configuration file.") detailspath = os.path.join(provider_folder, username_folder, "capif_provider_details.json") if not os.path.exists(detailspath): - raise FileNotFoundError(f"No se encontró el archivo {detailspath}") + raise FileNotFoundError(f"The file {detailspath} was not found") with open(detailspath, 'r') as file: details = json.load(file) @@ -41,17 +39,17 @@ if __name__ == "__main__": AEF2 = details.get('AEF-2_api_prov_func_id') if not APF or not AEF1 or not AEF2: - raise ValueError("No se encontraron todos los valores necesarios en 'Capif_provider_details.json'") + raise ValueError("Not all required values were found in 'Capif_provider_details.json'") - # Actualización del archivo de configuración + # Update the configuration file config['publish_req']['publisher_apf_id'] = APF config['publish_req']['publisher_aefs_ids'] = [AEF1, AEF2] with open(capif_sdk_config_path, 'w') as file: - json.dump(config, file, indent=4) # Guarda el JSON con formato + json.dump(config, file, indent=4) # Save JSON with formatting - print("Archivo de configuración actualizado correctamente.") - # Volver a actualizar el constructor con los parametros nuevos de configuración + print("Configuration file updated successfully.") + # Reinitialize the connector with the updated configuration capif_connector = CAPIFProviderConnector(config_file=capif_sdk_config_path) capif_connector.publish_services() @@ -59,6 +57,6 @@ if __name__ == "__main__": except FileNotFoundError as e: print(f"Error: {e}") except json.JSONDecodeError as e: - print(f"Error al leer el archivo JSON: {e}") + print(f"Error reading the JSON file: {e}") except Exception as e: - print(f"Error inesperado: {e}") + print(f"Unexpected error: {e}") \ No newline at end of file diff --git a/test/test.py b/test/test.py index f6053a3f87eea98105ea90728b4c1745f8d5064e..40743644f477198aca967fb88d39f0cccd5726bb 100644 --- a/test/test.py +++ b/test/test.py @@ -2,46 +2,46 @@ import sys import os import json # flake8: noqa -# Añadir el directorio del SDK al PYTHONPATH usando una ruta relativa -script_dir = os.path.dirname(os.path.abspath(__file__)) # Directorio actual del script -sdk_path = os.path.join(script_dir, '..', 'sdk') # Subir dos niveles y apuntar a 'sdk' +# Add the SDK directory to PYTHONPATH using a relative path +script_dir = os.path.dirname(os.path.abspath(__file__)) # Current script directory +sdk_path = os.path.join(script_dir, '..', 'sdk') # Go up two levels and point to 'sdk' sys.path.insert(0, sdk_path) from sdk import CAPIFProviderConnector, CAPIFInvokerConnector, ServiceDiscoverer capif_sdk_config_path = "./capif-sdk-config-sample-test.json" -def preparation_for_update(APFs,AEFs,second_netapp_api): +def preparation_for_update(APFs, AEFs, second_netapp_api): with open(capif_sdk_config_path, 'r') as file: - config = json.load(file) - config['apfs']=APFs - config['aefs']=AEFs + config = json.load(file) + config['apfs'] = APFs + config['aefs'] = AEFs if second_netapp_api: - config['api_description_path']="./netapp-provider-api-spec-2.json" + config['api_description_path'] = "./netapp-provider-api-spec-2.json" else: - config['api_description_path']="./netapp-provider-api-spec-3.json" + config['api_description_path'] = "./netapp-provider-api-spec-3.json" with open(capif_sdk_config_path, 'w') as file: - json.dump(config, file, indent=4) + json.dump(config, file, indent=4) capif_provider_connector = CAPIFProviderConnector(config_file=capif_sdk_config_path) return capif_provider_connector -def ensure_update(Chosen_apf,Chosen_aefs,second_netapp_api): +def ensure_update(Chosen_apf, Chosen_aefs, second_netapp_api): if second_netapp_api: - # Obtención de los AEFs ids y APFs ids para publicar una API + # Get AEFs ids and APFs ids to publish an API with open(capif_sdk_config_path, 'r') as file: config = json.load(file) provider_folder = config.get('provider_folder') username_folder = config.get('capif_username') if not provider_folder: - raise ValueError("El valor 'provider_folder' no está definido en el archivo de configuración.") + raise ValueError("'provider_folder' value is not defined in the configuration file.") detailspath = os.path.join(provider_folder, username_folder, "capif_provider_details.json") if not os.path.exists(detailspath): - raise FileNotFoundError(f"No se encontró el archivo {detailspath}") + raise FileNotFoundError(f"File {detailspath} not found") with open(detailspath, 'r') as file: details = json.load(file) @@ -52,16 +52,16 @@ def ensure_update(Chosen_apf,Chosen_aefs,second_netapp_api): AEF3 = details.get(Chosen_aefs[2]) if not APF or not AEF1 or not AEF2: - raise ValueError("No se encontraron todos los valores necesarios en 'Capif_provider_details.json'") + raise ValueError("Not all necessary values were found in 'Capif_provider_details.json'") - # Actualización del archivo de configuración + # Update configuration file config['publish_req']['publisher_apf_id'] = APF - config['publish_req']['publisher_aefs_ids'] = [AEF1,AEF2,AEF3] + config['publish_req']['publisher_aefs_ids'] = [AEF1, AEF2, AEF3] with open(capif_sdk_config_path, 'w') as file: - json.dump(config, file, indent=4) # Guarda el JSON con formato + json.dump(config, file, indent=4) # Save the formatted JSON - print("Archivo de configuración actualizado correctamente.") + print("Configuration file updated successfully.") else: with open(capif_sdk_config_path, 'r') as file: config = json.load(file) @@ -69,11 +69,11 @@ def ensure_update(Chosen_apf,Chosen_aefs,second_netapp_api): provider_folder = config.get('provider_folder') username_folder = config.get('capif_username') if not provider_folder: - raise ValueError("El valor 'provider_folder' no está definido en el archivo de configuración.") + raise ValueError("'provider_folder' value is not defined in the configuration file.") detailspath = os.path.join(provider_folder, username_folder, "capif_provider_details.json") if not os.path.exists(detailspath): - raise FileNotFoundError(f"No se encontró el archivo {detailspath}") + raise FileNotFoundError(f"File {detailspath} not found") with open(detailspath, 'r') as file: details = json.load(file) @@ -83,16 +83,16 @@ def ensure_update(Chosen_apf,Chosen_aefs,second_netapp_api): AEF2 = details.get('AEF-2_api_prov_func_id') if not APF or not AEF1 or not AEF2: - raise ValueError("No se encontraron todos los valores necesarios en 'Capif_provider_details.json'") + raise ValueError("Not all necessary values were found in 'Capif_provider_details.json'") - # Actualización del archivo de configuración + # Update configuration file config['publish_req']['publisher_apf_id'] = APF config['publish_req']['publisher_aefs_ids'] = [AEF1, AEF2] with open(capif_sdk_config_path, 'w') as file: - json.dump(config, file, indent=4) # Guarda el JSON con formato + json.dump(config, file, indent=4) # Save the formatted JSON - print("Archivo de configuración actualizado correctamente.") + print("Configuration file updated successfully.") capif_provider_connector = CAPIFProviderConnector(config_file=capif_sdk_config_path) @@ -102,7 +102,7 @@ def ensure_update(Chosen_apf,Chosen_aefs,second_netapp_api): PublishedApis = os.path.join(provider_folder, username_folder, "Published-Apis.json") if not os.path.exists(PublishedApis): - raise FileNotFoundError(f"No se encontró el archivo {PublishedApis}") + raise FileNotFoundError(f"File {PublishedApis} not found") with open(PublishedApis, 'r') as file: PublishedApis = json.load(file) @@ -117,7 +117,7 @@ def ensure_update(Chosen_apf,Chosen_aefs,second_netapp_api): config['publish_req']['service_api_id'] = service_api_id with open(capif_sdk_config_path, 'w') as file: - json.dump(config, file, indent=4) # Guarda el JSON con formato + json.dump(config, file, indent=4) # Save the formatted JSON capif_provider_connector = CAPIFProviderConnector(config_file=capif_sdk_config_path) @@ -138,23 +138,23 @@ def ensure_update(Chosen_apf,Chosen_aefs,second_netapp_api): if __name__ == "__main__": try: - # Inicialización del conector + # Initialization of the connector capif_provider_connector = CAPIFProviderConnector(config_file=capif_sdk_config_path) capif_provider_connector.onboard_provider() print("PROVIDER ONBOARDING COMPLETED") - # Obtención de los AEFs ids y APFs ids para publicar una API + # Get AEFs ids and APFs ids to publish an API with open(capif_sdk_config_path, 'r') as file: config = json.load(file) provider_folder = config.get('provider_folder') username_folder = config.get('capif_username') if not provider_folder: - raise ValueError("El valor 'provider_folder' no está definido en el archivo de configuración.") + raise ValueError("'provider_folder' value is not defined in the configuration file.") detailspath = os.path.join(provider_folder, username_folder, "capif_provider_details.json") if not os.path.exists(detailspath): - raise FileNotFoundError(f"No se encontró el archivo {detailspath}") + raise FileNotFoundError(f"File {detailspath} not found") with open(detailspath, 'r') as file: details = json.load(file) @@ -164,17 +164,17 @@ if __name__ == "__main__": AEF2 = details.get('AEF-2_api_prov_func_id') if not APF or not AEF1 or not AEF2: - raise ValueError("No se encontraron todos los valores necesarios en 'Capif_provider_details.json'") + raise ValueError("Not all necessary values were found in 'Capif_provider_details.json'") - # Actualización del archivo de configuración + # Update configuration file config['publish_req']['publisher_apf_id'] = APF config['publish_req']['publisher_aefs_ids'] = [AEF1, AEF2] with open(capif_sdk_config_path, 'w') as file: - json.dump(config, file, indent=4) # Guarda el JSON con formato + json.dump(config, file, indent=4) # Save the formatted JSON - print("Archivo de configuración actualizado correctamente.") - # Volver a actualizar el constructor con los parametros nuevos de configuración + print("Configuration file updated successfully.") + # Update the constructor with new configuration parameters capif_provider_connector = CAPIFProviderConnector(config_file=capif_sdk_config_path) capif_provider_connector.publish_services() @@ -183,7 +183,7 @@ if __name__ == "__main__": PublishedApis = os.path.join(provider_folder, username_folder, "Published-Apis.json") if not os.path.exists(PublishedApis): - raise FileNotFoundError(f"No se encontró el archivo {PublishedApis}") + raise FileNotFoundError(f"File {PublishedApis} not found") with open(PublishedApis, 'r') as file: PublishedApis = json.load(file) @@ -195,7 +195,7 @@ if __name__ == "__main__": config['publish_req']['service_api_id'] = service_api_id with open(capif_sdk_config_path, 'w') as file: - json.dump(config, file, indent=4) # Guarda el JSON con formato + json.dump(config, file, indent=4) # Save the formatted JSON capif_provider_connector = CAPIFProviderConnector(config_file=capif_sdk_config_path) @@ -238,27 +238,27 @@ if __name__ == "__main__": print("PROVIDER UNPUBLISH SERVICE COMPLETED") - capif_provider_connector=preparation_for_update("2","4",True) + capif_provider_connector = preparation_for_update("2", "4", True) capif_provider_connector.update_provider() - Chosen_apf= "APF-2_api_prov_func_id" + Chosen_apf = "APF-2_api_prov_func_id" - Chosen_aefs= ["AEF-1_api_prov_func_id","AEF-3_api_prov_func_id","AEF-4_api_prov_func_id"] + Chosen_aefs = ["AEF-1_api_prov_func_id", "AEF-3_api_prov_func_id", "AEF-4_api_prov_func_id"] - ensure_update(Chosen_apf,Chosen_aefs,True) + ensure_update(Chosen_apf, Chosen_aefs, True) print("PROVIDER UPDATE ONE COMPLETED") - capif_provider_connector=preparation_for_update("1","2",False) + capif_provider_connector = preparation_for_update("1", "2", False) capif_provider_connector.update_provider() - Chosen_apf= "APF-1_api_prov_func_id" + Chosen_apf = "APF-1_api_prov_func_id" - Chosen_aefs= ["AEF-1_api_prov_func_id","AEF-2_api_prov_func_id"] + Chosen_aefs = ["AEF-1_api_prov_func_id", "AEF-2_api_prov_func_id"] - ensure_update(Chosen_apf,Chosen_aefs,False) + ensure_update(Chosen_apf, Chosen_aefs, False) print("PROVIDER UPDATE TWO COMPLETED") @@ -266,12 +266,11 @@ if __name__ == "__main__": print("PROVIDER OFFBOARDING COMPLETED") - print("ALL TEST PASSED CORRECTLY") + print("ALL TESTS PASSED CORRECTLY") except FileNotFoundError as e: print(f"Error: {e}") except json.JSONDecodeError as e: - print(f"Error al leer el archivo JSON: {e}") + print(f"Error reading the JSON file: {e}") except Exception as e: - print(f"Error inesperado: {e}") - + print(f"Unexpected error: {e}")