Commit d2518cc7 authored by Sergio Gimenez's avatar Sergio Gimenez
Browse files

fix: filter app instance results by app id

parent d9390a91
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -860,6 +860,8 @@ def get_app_instance(app_id=None, appId=None, x_correlator=None, xCorrelator=Non
        for instance in local_instances:
            normalized_instance = _normalize_local_app_instance(instance)
            if normalized_instance:
                if app_id and normalized_instance.get("appId") and normalized_instance.get("appId") != app_id:
                    continue
                instances.append(normalized_instance)

        feds = get_all_feds()
+26 −0
Original line number Diff line number Diff line
@@ -180,3 +180,29 @@ def test_get_app_instance_supports_openapi_query_param_names(mock_factory_class,
        "appInstanceId": "inst-1",
        "status": "ready",
    }]


@patch("edge_cloud_management_api.controllers.app_controllers.get_all_feds", return_value=[])
@patch("edge_cloud_management_api.controllers.app_controllers.SRMAPIClientFactory")
def test_get_app_instance_filters_local_results_by_app_id(mock_factory_class, _mock_get_all_feds):
    app = Flask(__name__)
    app.config["TESTING"] = True

    mock_client = MagicMock()
    mock_client.get_app_instances.return_value = {
        "appInstances": [
            {"appInstanceId": "inst-1", "appId": "app-1", "status": "ready"},
            {"appInstanceId": "inst-2", "appId": "app-2", "status": "failed"},
        ]
    }
    mock_factory_class.return_value.create_srm_api_client.return_value = mock_client

    with app.test_request_context():
        response, status_code = app_controllers.get_app_instance(app_id="app-1")

    assert status_code == 200
    assert response.get_json() == [{
        "appId": "app-1",
        "appInstanceId": "inst-1",
        "status": "ready",
    }]