@@ -531,3 +531,72 @@ def test_take_action_not_valid(self, mock_list_objects):
531531 mock .sentinel .id )
532532 mock_validate_connection .assert_called_once_with (
533533 mock_endpoint .get_endpoint_id_for_name .return_value )
534+
535+
536+ class EndpointValidateConnectionInfoTestCase (test_base .CoriolisBaseTestCase ):
537+ """Test suite for the Coriolis Client Endpoint Validate Connection
538+ Info."""
539+
540+ def setUp (self ):
541+ self .mock_app = mock .Mock ()
542+ super (EndpointValidateConnectionInfoTestCase , self ).setUp ()
543+ self .endpoint = endpoints .EndpointValidateConnectionInfo (
544+ self .mock_app , mock .sentinel .app_args )
545+
546+ @mock .patch .object (endpoints , 'add_connection_info_args_to_parser' )
547+ @mock .patch .object (command .Command , 'get_parser' )
548+ def test_get_parser (
549+ self ,
550+ mock_get_parser ,
551+ mock_add_connection_info_args_to_parser
552+ ):
553+ result = self .endpoint .get_parser (mock .sentinel .prog_name )
554+
555+ self .assertEqual (
556+ mock_get_parser .return_value ,
557+ result
558+ )
559+ mock_get_parser .assert_called_once_with (mock .sentinel .prog_name )
560+ mock_add_connection_info_args_to_parser .assert_called_once_with (
561+ mock_get_parser .return_value )
562+
563+ @mock .patch .object (endpoints , 'get_connection_info_from_args' )
564+ def test_take_action (self , mock_get_connection_info_from_args ):
565+ args = mock .Mock ()
566+ args .provider = mock .sentinel .provider
567+ args .regions = mock .sentinel .regions
568+ mock_validate_connection_info = mock .Mock ()
569+ mock_validate_connection_info .return_value = (True , None )
570+ (self .mock_app .client_manager .coriolis .endpoints
571+ .validate_connection_info ) = mock_validate_connection_info
572+
573+ self .endpoint .take_action (args )
574+
575+ mock_get_connection_info_from_args .assert_called_once_with (args )
576+ mock_validate_connection_info .assert_called_once_with (
577+ mock .sentinel .provider ,
578+ mock_get_connection_info_from_args .return_value ,
579+ regions = mock .sentinel .regions )
580+
581+ @mock .patch .object (endpoints , 'get_connection_info_from_args' )
582+ def test_take_action_not_valid (self , mock_get_connection_info_from_args ):
583+ args = mock .Mock ()
584+ args .provider = mock .sentinel .provider
585+ args .regions = mock .sentinel .regions
586+ mock_validate_connection_info = mock .Mock ()
587+ mock_validate_connection_info .return_value = (False , "mock_message" )
588+ (self .mock_app .client_manager .coriolis .endpoints
589+ .validate_connection_info ) = mock_validate_connection_info
590+
591+ self .assertRaisesRegex (
592+ exceptions .EndpointConnectionValidationFailed ,
593+ "mock_message" ,
594+ self .endpoint .take_action ,
595+ args
596+ )
597+
598+ mock_get_connection_info_from_args .assert_called_once_with (args )
599+ mock_validate_connection_info .assert_called_once_with (
600+ mock .sentinel .provider ,
601+ mock_get_connection_info_from_args .return_value ,
602+ regions = mock .sentinel .regions )
0 commit comments