diff --git a/gso/api/v1/__init__.py b/gso/api/v1/__init__.py index 5407a81644e5253922b40b2f110fcb9a50804ce3..4694b6c55ab142a01a45037e93827ed1a2ca439c 100644 --- a/gso/api/v1/__init__.py +++ b/gso/api/v1/__init__.py @@ -3,11 +3,9 @@ from fastapi import APIRouter from gso.api.v1.network import router as network_router -from gso.api.v1.processes import router as processes_router from gso.api.v1.subscriptions import router as subscriptions_router router = APIRouter() router.include_router(subscriptions_router) -router.include_router(processes_router) router.include_router(network_router) diff --git a/gso/auth/oidc.py b/gso/auth/oidc.py index ce7da2d9f5822fed9a39b7724d6c6313861e5db1..b65de5428bddc6abf734ec9ebeadd47fc1b2e296 100644 --- a/gso/auth/oidc.py +++ b/gso/auth/oidc.py @@ -63,6 +63,8 @@ class OIDCAuthentication(OIDCAuth): :return: OIDCUserModel: OIDC user model from openid server """ + assert self.openid_config is not None, "OpenID config is not loaded" # noqa: S101 + intercepted_token = await self.introspect_token(async_request, token) client_id = intercepted_token.get("client_id") if _is_client_credentials_token(intercepted_token): @@ -106,6 +108,8 @@ class OIDCAuthentication(OIDCAuth): :param token: the access_token :return: dict from openid server """ + assert self.openid_config is not None, "OpenID config is not loaded" # noqa: S101 + endpoint = self.openid_config.introspect_endpoint or self.openid_config.introspection_endpoint or "" response = await async_request.post( endpoint, diff --git a/gso/workflows/__init__.py b/gso/workflows/__init__.py index e75660820d72179e03948a402cc9f6a1a636a83a..b6072c1c6bae54d2d6af93abdba533655902957c 100644 --- a/gso/workflows/__init__.py +++ b/gso/workflows/__init__.py @@ -10,19 +10,17 @@ ALL_ALIVE_STATES: list[str] = [ SubscriptionLifecycle.ACTIVE, ] -WF_USABLE_MAP.update( - { - "redeploy_base_config": [SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE], - "update_ibgp_mesh": [SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE], - "activate_router": [SubscriptionLifecycle.PROVISIONING], - "deploy_twamp": [SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE], - "modify_trunk_interface": [SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE], - "activate_iptrunk": [SubscriptionLifecycle.PROVISIONING], - "terminate_site": ALL_ALIVE_STATES, - "terminate_router": ALL_ALIVE_STATES, - "terminate_iptrunk": ALL_ALIVE_STATES, - } -) +WF_USABLE_MAP.update({ + "redeploy_base_config": [SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE], + "update_ibgp_mesh": [SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE], + "activate_router": [SubscriptionLifecycle.PROVISIONING], + "deploy_twamp": [SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE], + "modify_trunk_interface": [SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE], + "activate_iptrunk": [SubscriptionLifecycle.PROVISIONING], + "terminate_site": ALL_ALIVE_STATES, + "terminate_router": ALL_ALIVE_STATES, + "terminate_iptrunk": ALL_ALIVE_STATES, +}) # IP trunk workflows LazyWorkflowInstance("gso.workflows.iptrunk.activate_iptrunk", "activate_iptrunk") diff --git a/gso/workflows/iptrunk/create_imported_iptrunk.py b/gso/workflows/iptrunk/create_imported_iptrunk.py index 0e5a2564039ef3ff1893cf054fed4e62534fdb8f..9b0e6b87a8a095073875721e79d72c9e03baa66d 100644 --- a/gso/workflows/iptrunk/create_imported_iptrunk.py +++ b/gso/workflows/iptrunk/create_imported_iptrunk.py @@ -123,12 +123,10 @@ def initialize_subscription( subscription.iptrunk.iptrunk_sides[1].iptrunk_side_ae_members.append( IptrunkInterfaceBlockInactive.new(subscription_id=uuid4(), **member), ) - side_names = sorted( - [ - subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_site.site_name, - subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_site.site_name, - ] - ) + side_names = sorted([ + subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_site.site_name, + subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_site.site_name, + ]) subscription.description = f"IP trunk {side_names[0]} {side_names[1]}, geant_s_sid:{geant_s_sid}" return {"subscription": subscription} diff --git a/gso/workflows/iptrunk/modify_trunk_interface.py b/gso/workflows/iptrunk/modify_trunk_interface.py index 4c7efae913b39938e6f404f71327ab728ff22161..d64331720fcb85cccc829f58d6d3d8b437e55b77 100644 --- a/gso/workflows/iptrunk/modify_trunk_interface.py +++ b/gso/workflows/iptrunk/modify_trunk_interface.py @@ -229,12 +229,10 @@ def modify_iptrunk_subscription( IptrunkInterfaceBlock.new(subscription_id=uuid4(), **member), ) - side_names = sorted( - [ - subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_site.site_name, - subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_site.site_name, - ] - ) + side_names = sorted([ + subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_site.site_name, + subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_site.site_name, + ]) subscription.description = f"IP trunk {side_names[0]} {side_names[1]}, geant_s_sid:{geant_s_sid}" return { diff --git a/test/auth/test_oidc.py b/test/auth/test_oidc.py index 85abaa9a2d240d3856e7abed7ebd0bf4b055853b..d70b544bb0137d08179c395e3f179f463f0e396f 100644 --- a/test/auth/test_oidc.py +++ b/test/auth/test_oidc.py @@ -135,13 +135,13 @@ async def test_userinfo_success(oidc_user, mock_async_client): mock_response_introspect_token = { "active": True, "scope": "openid profile email aarc", - "client_id": "APP-775F0BD8-B1D7-4936-BE2C-A300A6509F0B", + "client_id": "APP-775F0BD8-B1D7-4936-BE2C-A300A6509F00", "exp": 1721395275, "iat": 1721391675, "sub": "ed145263-b652-3d4x-8f96-4abae9c98124@aai.geant.org", "iss": "https://proxy.aai.geant.org", "token_type": "Bearer", - "aud": ["APP-775F0BD8-B1D7-4936-BE2C-A300A6509F0B"], + "aud": ["APP-775F0BD8-B1D7-4936-BE2C-A300A6509F00"], } mock_response_userinfo = {"sub": "1234", "name": "John Doe", "email": "johndoe@example.com"} diff --git a/test/workflows/iptrunk/test_create_iptrunk.py b/test/workflows/iptrunk/test_create_iptrunk.py index 13b7f69b5f18c42314c7bcb196e05a1b25a18643..de15a7124e0311e4a3127ccc10477fd39a4a02b7 100644 --- a/test/workflows/iptrunk/test_create_iptrunk.py +++ b/test/workflows/iptrunk/test_create_iptrunk.py @@ -137,12 +137,10 @@ def test_successful_iptrunk_creation_with_standard_lso_result( subscription_id = state["subscription_id"] subscription = Iptrunk.from_subscription(subscription_id) - sorted_sides = sorted( - [ - subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_site.site_name, - subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_site.site_name, - ] - ) + sorted_sides = sorted([ + subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_site.site_name, + subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_site.site_name, + ]) assert subscription.status == "provisioning" assert subscription.description == ( f"IP trunk {sorted_sides[0]} {sorted_sides[1]}, geant_s_sid:{input_form_wizard_data[0]["geant_s_sid"]}" diff --git a/test/workflows/iptrunk/test_modify_trunk_interface.py b/test/workflows/iptrunk/test_modify_trunk_interface.py index 98d41e8fc940e8064b9b2c25d8ed717604929094..2a95cc90fc6428dd19c7e9a2b0a0f77a58ef3a2b 100644 --- a/test/workflows/iptrunk/test_modify_trunk_interface.py +++ b/test/workflows/iptrunk/test_modify_trunk_interface.py @@ -158,12 +158,10 @@ def test_iptrunk_modify_trunk_interface_success( assert mocked_detach_interfaces_from_lag.call_count == num_lag_ifaces # 1 time per nokia side # Assert all subscription properties have been updated correctly - side_names = sorted( - [ - subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_site.site_name, - subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_site.site_name, - ] - ) + side_names = sorted([ + subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_site.site_name, + subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_site.site_name, + ]) assert subscription.description == f"IP trunk {side_names[0]} {side_names[1]}, geant_s_sid:{new_sid}" assert subscription.iptrunk.geant_s_sid == input_form_iptrunk_data[1]["geant_s_sid"] assert subscription.iptrunk.iptrunk_description == input_form_iptrunk_data[1]["iptrunk_description"]