33from unittest import mock
44from charon .pkgs .radas_signature_handler import sign_in_radas
55
6+
67def test_sign_in_radas_normal_flow (self ):
78 with tempfile .TemporaryDirectory () as tmpdir :
89 # Mock configuration
@@ -12,14 +13,17 @@ def test_sign_in_radas_normal_flow(self):
1213 mock_config .get_radas_config .return_value = mock_radas_config
1314
1415 # Mock Container run to avoid real AMQP connection
15- with mock .patch ("charon.pkgs.radas_signature_handler.Container" ) as mock_container , \
16- mock .patch ("charon.pkgs.radas_signature_handler.get_config" , return_value = mock_config ), \
17- mock .patch ("charon.pkgs.radas_signature_handler.uuid.uuid4" , return_value = "mocked-uuid" ):
18-
16+ with mock .patch (
17+ "charon.pkgs.radas_signature_handler.Container" ) as mock_container , \
18+ mock .patch (
19+ "charon.pkgs.radas_signature_handler.get_config" , return_value = mock_config ), \
20+ mock .patch (
21+ "charon.pkgs.radas_signature_handler.uuid.uuid4" , return_value = "mocked-uuid" ):
22+
1923 # Test parameters
2024 test_result_path = os .path .join (tmpdir , "results" )
2125 os .makedirs (test_result_path )
22-
26+
2327 # Call the function
2428 sign_in_radas (
2529 repo_url = "quay.io/test/repo" ,
@@ -29,19 +33,20 @@ def test_sign_in_radas_normal_flow(self):
2933 ignore_patterns = [],
3034 radas_config = mock_radas_config
3135 )
32-
36+
3337 # Verify Container.run() was called twice (sender and receiver)
3438 self .assertEqual (mock_container .call_count , 2 )
35-
39+
3640 # Verify request ID propagation
3741 receiver_call = mock_container .call_args_list [1 ]
3842 self .assertEqual (receiver_call .args [0 ].request_id , "mocked-uuid" )
3943
44+
4045def test_sign_in_radas_with_disabled_config (self ):
4146 # Mock disabled configuration
4247 mock_config = mock .MagicMock ()
4348 mock_config .is_radas_enabled .return_value = False
44-
49+
4550 with mock .patch ("charon.pkgs.radas_signature_handler.get_config" , return_value = mock_config ), \
4651 self .assertRaises (SystemExit ):
4752 sign_in_radas (
@@ -53,29 +58,30 @@ def test_sign_in_radas_with_disabled_config(self):
5358 radas_config = mock .MagicMock ()
5459 )
5560
61+
5662def test_sign_in_radas_connection_cleanup (self ):
5763 # Mock configuration and connection objects
5864 mock_config = mock .MagicMock ()
5965 mock_config .is_radas_enabled .return_value = True
6066 mock_radas_config = mock .MagicMock ()
61-
67+
6268 with mock .patch ("charon.pkgs.radas_signature_handler.Container" ) as mock_container , \
6369 mock .patch ("charon.pkgs.radas_signature_handler.get_config" , return_value = mock_config ):
64-
70+
6571 # Mock connection objects
6672 mock_sender_conn = mock .MagicMock ()
6773 mock_listener_conn = mock .MagicMock ()
68-
74+
6975 # Create test call
7076 def container_side_effect (* args , ** kwargs ):
7177 if args [0 ].__class__ .__name__ == "RadasReceiver" :
7278 args [0 ].conn = mock_listener_conn
7379 elif args [0 ].__class__ .__name__ == "RadasSender" :
7480 args [0 ].conn = mock_sender_conn
7581 return mock .MagicMock ()
76-
82+
7783 mock_container .side_effect = container_side_effect
78-
84+
7985 sign_in_radas (
8086 repo_url = "quay.io/test/repo" ,
8187 requester = "test-user" ,
@@ -84,7 +90,7 @@ def container_side_effect(*args, **kwargs):
8490 ignore_patterns = [],
8591 radas_config = mock_radas_config
8692 )
87-
93+
8894 # Verify connections are closed
8995 mock_sender_conn .close .assert_called_once ()
9096 mock_listener_conn .close .assert_called_once ()
0 commit comments