Commit 12c14053 authored by Cesar Cajas's avatar Cesar Cajas
Browse files

hotfix/edgecloud-gsma-test-artefact: add gsma artefact payload to tests

parent 440a7b32
Loading
Loading
Loading
Loading
+86 −9
Original line number Diff line number Diff line
CONFIG = {
    "i2edge": {
        "ZONE_ID": "f0662bfe-1d90-5f59-a759-c755b3b69b93",
        "ARTEFACT_ID": "9c9143f0-f44f-49df-939e-1e8b891ba8f5",
        "ARTEFACT_NAME": "i2edgechart",
        "REPO_NAME": "github-cesar",
        "REPO_TYPE": "PUBLICREPO",
        "REPO_URL": "https://cesarcajas.github.io/helm-charts-examples/",
        "APP_ONBOARD_MANIFEST_GSMA": {
            "appId": "demo-app-id",
            "appProviderId": "Y89TSlxMPDKlXZz7rN6vU2y",
@@ -32,7 +27,7 @@ CONFIG = {
                    "serviceNameNB": "k8yyElSyJN4ctbNVqwodEQNUoGb2EzOEt4vQBjGnPii_5",
                    "serviceNameEW": "iDm08OZN",
                    "componentName": "HIEWqstajCmZJQmSFUj0kNHZ0xYvKWq720BKt8wjA41p",
                    "artefactId": "9c9143f0-f44f-49df-939e-1e8b891ba8f5",
                    "artefactId": "i2edgechart",
                }
            ],
            "appStatusCallbackLink": "string",
@@ -64,22 +59,104 @@ CONFIG = {
                    "serviceNameNB": "7CI_9d4lAK90vU4ASUkKxYdQjsv3y3IuwucISSQ6lG5_EMqeyVUHPIhwa5",
                    "serviceNameEW": "tPihoUFj30938Bu9blpsHkvsec1iA7gqZZRMpsx6o7aSSj5",
                    "componentName": "YCAhqPadfld8y68wJfTc6QNGguI41z",
                    "artefactId": "9c9143f0-f44f-49df-939e-1e8b891ba8f5",
                    "artefactId": "i2edgechart",
                },
                {
                    "serviceNameNB": "JCjR0Lc3J0sm2PcItECdbHXtpCLQCfq3B",
                    "serviceNameEW": "N8KBAdqT8L_sWOxeFZs3XYn6oykTTFHLiPKOS7kdYbw",
                    "componentName": "9aCfCEDe2Dv0Peg",
                    "artefactId": "9c9143f0-f44f-49df-939e-1e8b891ba8f5",
                    "artefactId": "i2edgechart",
                },
                {
                    "serviceNameNB": "RIfXlfU9cDeLnrOBYzz9LJGdAjwPRp_3Mjp0Wq_RDlQiAPyXm",
                    "serviceNameEW": "31y8sCwvvyNCXfwtLhwJw6hoblG7ZcFzEjyFdAnzq7M8cxiOtDik0",
                    "componentName": "3kTa4zKEX",
                    "artefactId": "9c9143f0-f44f-49df-939e-1e8b891ba8f5",
                    "artefactId": "i2edgechart",
                },
            ],
        },
        "ARTEFACT_GSMA": {
            "artefactId": "i2edgechart",
            "appProviderId": "string",
            "artefactName": "i2edgechart",
            "artefactVersionInfo": "string",
            "artefactDescription": "string",
            "artefactVirtType": "VM_TYPE",
            "artefactFileName": "string",
            "artefactFileFormat": "ZIP",
            "artefactDescriptorType": "HELM",
            "repoType": "PUBLICREPO",
            "artefactRepoLocation": {
                "repoURL": "https://cesarcajas.github.io/helm-charts-examples/",
                "userName": "string",
                "password": "string",
                "token": "string",
            },
            "artefactFile": "string",
            "componentSpec": [
                {
                    "componentName": "string",
                    "images": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"],
                    "numOfInstances": 0,
                    "restartPolicy": "RESTART_POLICY_ALWAYS",
                    "commandLineParams": {"command": ["string"], "commandArgs": ["string"]},
                    "exposedInterfaces": [
                        {
                            "interfaceId": "string",
                            "commProtocol": "TCP",
                            "commPort": 0,
                            "visibilityType": "VISIBILITY_EXTERNAL",
                            "network": "string",
                            "InterfaceName": "string",
                        }
                    ],
                    "computeResourceProfile": {
                        "cpuArchType": "ISA_X86_64",
                        "numCPU": {
                            "whole": {"value": 2},
                            "decimal": {"value": 0.5},
                            "millivcpu": {"value": "500m"},
                        },
                        "memory": 0,
                        "diskStorage": 0,
                        "gpu": [
                            {
                                "gpuVendorType": "GPU_PROVIDER_NVIDIA",
                                "gpuModeName": "string",
                                "gpuMemory": 0,
                                "numGPU": 0,
                            }
                        ],
                        "vpu": 0,
                        "fpga": 0,
                        "hugepages": [{"pageSize": "2MB", "number": 0}],
                        "cpuExclusivity": True,
                    },
                    "compEnvParams": [
                        {
                            "envVarName": "string",
                            "envValueType": "USER_DEFINED",
                            "envVarValue": "string",
                            "envVarSrc": "string",
                        }
                    ],
                    "deploymentConfig": {
                        "configType": "DOCKER_COMPOSE",
                        "contents": "string",
                    },
                    "persistentVolumes": [
                        {
                            "volumeSize": "10Gi",
                            "volumeMountPath": "string",
                            "volumeName": "string",
                            "ephemeralType": False,
                            "accessMode": "RW",
                            "sharingPolicy": "EXCLUSIVE",
                        }
                    ],
                }
            ],
        },
    },
    "aeros": {
        # PLACEHOLDER
+10 −13
Original line number Diff line number Diff line
@@ -58,6 +58,11 @@ def test_config_gsma_compliance(edgecloud_client):
    config = CONFIG[edgecloud_client.client_name]

    try:
        # Validate ARTEFACT is GSMA-compliant
        if "ARTEFACT_GSMA" in config:
            artefact_manifest = config["ARTEFACT_GSMA"]
            gsma_schemas.Artefact(**artefact_manifest)

        # Validate APP_ONBOARD_MANIFEST_GSMA is GSMA-compliant
        if "APP_ONBOARD_MANIFEST_GSMA" in config:
            app_manifest = config["APP_ONBOARD_MANIFEST_GSMA"]
@@ -161,17 +166,9 @@ def test_artefact_methods_gsma(edgecloud_client):
    config = CONFIG[edgecloud_client.client_name]
    if isinstance(edgecloud_client, I2EdgeClient):
        try:
            response = edgecloud_client.create_artefact(
                artefact_id=config["ARTEFACT_ID"],
                artefact_name=config["ARTEFACT_NAME"],
                repo_name=config["REPO_NAME"],
                repo_type=config["REPO_TYPE"],
                repo_url=config["REPO_URL"],
                password=None,
                token=None,
                user_name=None,
            )
            assert response.status_code == 201
            artefact_manifest = config["ARTEFACT_GSMA"]
            response = edgecloud_client.create_artefact_gsma(artefact_manifest)
            assert response.status_code == 200
        except EdgeCloudPlatformError as e:
            pytest.fail(f"Artefact creation failed: {e}")

@@ -179,7 +176,7 @@ def test_artefact_methods_gsma(edgecloud_client):
@pytest.mark.parametrize("edgecloud_client", test_cases, ids=id_func, indirect=True)
def test_get_artefact_gsma(edgecloud_client):
    config = CONFIG[edgecloud_client.client_name]
    expected_artefact_id = config["ARTEFACT_ID"]
    expected_artefact_id = config["ARTEFACT_GSMA"]["artefactId"]
    try:
        response = edgecloud_client.get_artefact_gsma(expected_artefact_id)
        assert isinstance(response, Response)
@@ -361,7 +358,7 @@ def test_delete_artefact_gsma(edgecloud_client):

    if isinstance(edgecloud_client, I2EdgeClient):
        try:
            response = edgecloud_client.delete_artefact_gsma(config["ARTEFACT_ID"])
            response = edgecloud_client.delete_artefact_gsma(config["ARTEFACT_GSMA"]["artefactId"])
            assert isinstance(response, Response)
            assert response.status_code == 200
        except EdgeCloudPlatformError as e: