def test_token_init_keys_without_token_logged_in(self): with XRDSSTTest() as app: with mock.patch( 'xrdsst.api.certificate_authorities_api.CertificateAuthoritiesApi.get_approved_certificate_authorities' ) as mock_get_cas: mock_get_cas.return_value.__enter__.return_value = TokenTestData.ca_list_response with mock.patch( 'xrdsst.api.security_servers_api.SecurityServersApi.get_security_servers', return_value=TokenTestData. security_servers_current_server_response): with mock.patch( 'xrdsst.api.tokens_api.TokensApi.get_token', return_value=TokenTestData.token_login_response): with mock.patch( 'xrdsst.api.tokens_api.TokensApi.add_key_and_csr', return_value=TokenTestData. add_auth_key_with_csr_response): token_controller = TokenController() token_controller.app = app token_controller.load_config = ( lambda: self.ss_config) token_controller.get_server_status = ( lambda x, y: StatusTestData. server_status_essentials_complete_token_logged_out( )) token_controller.init_keys() out, err = self.capsys.readouterr() assert 1 == out.count( "SKIPPED 'ssX': has ['init', 'client add'] performed but also needs ['token login'] completion before continuing with requested ['token init-keys']" ) with self.capsys.disabled(): sys.stdout.write(out) sys.stderr.write(err)
def test_token_init_keys(self): with XRDSSTTest() as app: with mock.patch( 'xrdsst.api.certificate_authorities_api.CertificateAuthoritiesApi.get_approved_certificate_authorities' ) as mock_get_cas: mock_get_cas.return_value.__enter__.return_value = TokenTestData.ca_list_response with mock.patch( 'xrdsst.api.security_servers_api.SecurityServersApi.get_security_servers', return_value=TokenTestData. security_servers_current_server_response): token_controller = TokenController() token_controller.app = app token_controller.load_config = (lambda: self.ss_config) token_controller.get_server_status = ( lambda x, y: StatusTestData. server_status_essentials_complete) token_controller.init_keys() out, err = self.capsys.readouterr() assert 2 == out.count("Created AUTHENTICATION CSR") assert 2 == out.count("Created SIGNING CSR") with self.capsys.disabled(): sys.stdout.write(out) sys.stderr.write(err)
def test_token_login_already_logged_in(self, tokens_api_mock): with XRDSSTTest() as app: token_controller = TokenController() token_controller.app = app token_controller.load_config = (lambda: self.ss_config) token_controller.get_server_status = ( lambda x, y: StatusTestData.server_status_essentials_complete) token_controller.login() out, err = self.capsys.readouterr() assert 1 == out.count("Token 0 already logged in for 'ssX'") with self.capsys.disabled(): sys.stdout.write(out) sys.stderr.write(err)
def test_token_init_keys_without_cas_available(self): with XRDSSTTest() as app: with mock.patch( 'xrdsst.api.certificate_authorities_api.CertificateAuthoritiesApi.get_approved_certificate_authorities' ) as mock_get_cas: mock_get_cas.return_value.__enter__.return_value = [] with mock.patch( 'xrdsst.api.security_servers_api.SecurityServersApi.get_security_servers', return_value=TokenTestData. security_servers_current_server_response): token_controller = TokenController() token_controller.app = app token_controller.load_config = (lambda: self.ss_config) token_controller.get_server_status = ( lambda x, y: StatusTestData. server_status_essentials_complete) self.assertRaises(IndexError, lambda: token_controller.init_keys())
def test_token_login(self): with XRDSSTTest() as app: with mock.patch('xrdsst.api.tokens_api.TokensApi.login_token', return_value=TokenTestData.token_login_response): token_controller = TokenController() token_controller.app = app token_controller.load_config = (lambda: self.ss_config) token_controller.get_server_status = ( lambda x, y: StatusTestData. server_status_essentials_complete) token_controller.login() out, err = self.capsys.readouterr() assert 1 == out.count( "Security server 'ssX' token 0 logged in.") with self.capsys.disabled(): sys.stdout.write(out) sys.stderr.write(err)