1414import pytest
1515from moto import mock_dynamodb
1616
17- from sds_data_manager .lambda_code .authorization .lambda_api_key_authorizer import (
18- get_api_key_metadata ,
19- lambda_handler ,
20- )
21- from sds_data_manager .lambda_code .authorization .manage_api_keys import (
22- add_key_to_db ,
23- get_keys ,
24- remove_key_from_db ,
25- )
26-
2717TABLE_NAME = "imap-sdc-api-keys"
2818
2919
@@ -45,6 +35,16 @@ def dynamodb_table():
4535
4636def test_api_key_management (dynamodb_table ):
4737 """Test API key management operations."""
38+ # Import after mocks are set up
39+ from sds_data_manager .lambda_code .authorization .lambda_api_key_authorizer import (
40+ lambda_handler ,
41+ )
42+ from sds_data_manager .lambda_code .authorization .manage_api_keys import (
43+ add_key_to_db ,
44+ get_keys ,
45+ remove_key_from_db ,
46+ )
47+
4848 # Test adding a key
4949 test_key = "test123456789abcdef"
5050 add_key_to_db (
@@ -58,8 +58,8 @@ def test_api_key_management(dynamodb_table):
5858 assert keys [test_key ]["email" ] == "test@example.com"
5959 assert keys [test_key ]["scope" ] == "full"
6060
61- # Test getting metadata for authorization
62- metadata = get_api_key_metadata ( test_key )
61+ # Test getting metadata for authorization (direct table access)
62+ metadata = dynamodb_table . get_item ( Key = { "api_key" : test_key }). get ( "Item" )
6363 assert metadata is not None
6464 assert metadata ["owner" ] == "Test User"
6565
@@ -88,6 +88,14 @@ def test_api_key_management(dynamodb_table):
8888
8989def test_scope_restrictions (dynamodb_table ):
9090 """Test scope-based access restrictions."""
91+ # Import after mocks are set up
92+ from sds_data_manager .lambda_code .authorization .lambda_api_key_authorizer import (
93+ lambda_handler ,
94+ )
95+ from sds_data_manager .lambda_code .authorization .manage_api_keys import (
96+ add_key_to_db ,
97+ )
98+
9199 # Add a key with limited scope
92100 limited_key = "limited123456789abc"
93101 add_key_to_db (
0 commit comments