Loading tests/network/test_create_traffic_influence.py +82 −8 Original line number Diff line number Diff line # # -*- coding: utf-8 -*- import time import pytest from sunrise6g_opensdk.common.sdk import Sdk as sdkclient from sunrise6g_opensdk.network.core.common import CoreHttpError from sunrise6g_opensdk.network.core.network_interface import NetworkManagementInterface from tests.network.test_cases import test_cases @pytest.fixture(scope="module", name="network_client") def instantiate_network_client(request): """Fixture to create and share a network client across tests""" client_specs = request.param clients = sdkclient.create_clients_from(client_specs) return clients.get("network") test_cases = [("oai", "http://127.0.0.1/", "scs-oai")] def id_func(val): return val["network"]["client_name"] @pytest.mark.parametrize("client_name, base_url, scs_as_id", test_cases) def test_valid_input(client_name, base_url, scs_as_id): network_client = sdkclient.create_network_client(client_name, base_url, scs_as_id) @pytest.mark.parametrize( "network_client", test_cases, ids=id_func, indirect=True, ) def test_valid_input(network_client: NetworkManagementInterface): ti_session = { "device": { Loading @@ -22,9 +41,8 @@ def test_valid_input(client_name, base_url, scs_as_id): network_client._build_ti_subscription(ti_session) @pytest.mark.parametrize("client_name, base_url, scs_as_id", test_cases) def test_create_traffic_influence(client_name, base_url, scs_as_id): network_client = sdkclient.create_network_client(client_name, base_url, scs_as_id) @pytest.fixture(scope="module") def traffic_influence_id(network_client: NetworkManagementInterface): ti_session = { "device": { Loading @@ -35,4 +53,60 @@ def test_create_traffic_influence(client_name, base_url, scs_as_id): "appInstanceId": "172.21.18.3", "notificationUri": "https://endpoint.example.com/sink", } network_client.create_traffic_influence_resource(ti_session) try: response = network_client.create_traffic_influence_resource(ti_session) assert response is not None, "Response should not be None" assert isinstance(response, dict), "Response should be a dictionary" assert ( "trafficInfluenceID" in response ), "Response should contain 'trafficInfluenceID'" yield str(response["trafficInfluenceID"]) finally: pass @pytest.mark.parametrize( "network_client", test_cases, ids=id_func, indirect=True, ) def test_create_traffic_influence(traffic_influence_id): assert traffic_influence_id is not None @pytest.mark.parametrize("network_client", test_cases, ids=id_func, indirect=True) def test_timer_wait_5_seconds(network_client): time.sleep(5) @pytest.mark.parametrize("network_client", test_cases, ids=id_func, indirect=True) def test_put_traffic_influence_session( network_client: NetworkManagementInterface, traffic_influence_id ): try: ti_session = { "device": { "ipv4Address": { "publicAddress": "12.1.2.31", "privateAddress": "12.1.2.31", } }, "edgeCloudZoneId": "edge", "appId": "testSdk-ffff-aaaa-c0ffe", "appInstanceId": "172.21.18.5", "notificationUri": "https://endpoint.example.com/sink", } network_client.put_traffic_influence_resource(traffic_influence_id, ti_session) except CoreHttpError as e: pytest.fail(f"Failed to update traffic influence session: {e}") @pytest.mark.parametrize("network_client", test_cases, ids=id_func, indirect=True) def test_delete_traffic_influence_session( network_client: NetworkManagementInterface, traffic_influence_id ): try: network_client.delete_traffic_influence_resource(traffic_influence_id) except CoreHttpError as e: pytest.fail(f"Failed to delete traffic influence: {e}") Loading
tests/network/test_create_traffic_influence.py +82 −8 Original line number Diff line number Diff line # # -*- coding: utf-8 -*- import time import pytest from sunrise6g_opensdk.common.sdk import Sdk as sdkclient from sunrise6g_opensdk.network.core.common import CoreHttpError from sunrise6g_opensdk.network.core.network_interface import NetworkManagementInterface from tests.network.test_cases import test_cases @pytest.fixture(scope="module", name="network_client") def instantiate_network_client(request): """Fixture to create and share a network client across tests""" client_specs = request.param clients = sdkclient.create_clients_from(client_specs) return clients.get("network") test_cases = [("oai", "http://127.0.0.1/", "scs-oai")] def id_func(val): return val["network"]["client_name"] @pytest.mark.parametrize("client_name, base_url, scs_as_id", test_cases) def test_valid_input(client_name, base_url, scs_as_id): network_client = sdkclient.create_network_client(client_name, base_url, scs_as_id) @pytest.mark.parametrize( "network_client", test_cases, ids=id_func, indirect=True, ) def test_valid_input(network_client: NetworkManagementInterface): ti_session = { "device": { Loading @@ -22,9 +41,8 @@ def test_valid_input(client_name, base_url, scs_as_id): network_client._build_ti_subscription(ti_session) @pytest.mark.parametrize("client_name, base_url, scs_as_id", test_cases) def test_create_traffic_influence(client_name, base_url, scs_as_id): network_client = sdkclient.create_network_client(client_name, base_url, scs_as_id) @pytest.fixture(scope="module") def traffic_influence_id(network_client: NetworkManagementInterface): ti_session = { "device": { Loading @@ -35,4 +53,60 @@ def test_create_traffic_influence(client_name, base_url, scs_as_id): "appInstanceId": "172.21.18.3", "notificationUri": "https://endpoint.example.com/sink", } network_client.create_traffic_influence_resource(ti_session) try: response = network_client.create_traffic_influence_resource(ti_session) assert response is not None, "Response should not be None" assert isinstance(response, dict), "Response should be a dictionary" assert ( "trafficInfluenceID" in response ), "Response should contain 'trafficInfluenceID'" yield str(response["trafficInfluenceID"]) finally: pass @pytest.mark.parametrize( "network_client", test_cases, ids=id_func, indirect=True, ) def test_create_traffic_influence(traffic_influence_id): assert traffic_influence_id is not None @pytest.mark.parametrize("network_client", test_cases, ids=id_func, indirect=True) def test_timer_wait_5_seconds(network_client): time.sleep(5) @pytest.mark.parametrize("network_client", test_cases, ids=id_func, indirect=True) def test_put_traffic_influence_session( network_client: NetworkManagementInterface, traffic_influence_id ): try: ti_session = { "device": { "ipv4Address": { "publicAddress": "12.1.2.31", "privateAddress": "12.1.2.31", } }, "edgeCloudZoneId": "edge", "appId": "testSdk-ffff-aaaa-c0ffe", "appInstanceId": "172.21.18.5", "notificationUri": "https://endpoint.example.com/sink", } network_client.put_traffic_influence_resource(traffic_influence_id, ti_session) except CoreHttpError as e: pytest.fail(f"Failed to update traffic influence session: {e}") @pytest.mark.parametrize("network_client", test_cases, ids=id_func, indirect=True) def test_delete_traffic_influence_session( network_client: NetworkManagementInterface, traffic_influence_id ): try: network_client.delete_traffic_influence_resource(traffic_influence_id) except CoreHttpError as e: pytest.fail(f"Failed to delete traffic influence: {e}")