def test_create_session_config_with_username_password(self): env = TNCOEnvironment(host='test', port=80, protocol='https', secure=True, username='******') session_config = env.create_session_config() self.assertEqual(session_config.username, 'user') self.assertEqual(session_config.password, None) env = TNCOEnvironment(host='test', port=80, protocol='https', secure=True, username='******', password='******') session_config = env.create_session_config() self.assertEqual(session_config.username, 'user') self.assertEqual(session_config.password, 'secret') self.assertEqual(session_config.auth_mode, 'oauth')
def test_init(self): env = TNCOEnvironment(host='test', port=80, protocol='https', secure=True, username='******', password='******') session_config = env.create_session_config() session = LmSession(session_config) self.assertEqual(session.env, env) self.assertEqual(session.username, 'user') self.assertEqual(session.password, 'secret')
def test_create_session_config(self): env = TNCOEnvironment(address='http://test') session_config = env.create_session_config() self.assertIsInstance(session_config, LmSessionConfig) self.assertEqual(session_config.env, env) self.assertEqual(session_config.username, None) self.assertEqual(session_config.password, None)
def test_security_ctrl_builds_client_with_legacy_auth_on_default_address(self, mock_client_builder_init): env = TNCOEnvironment(address='http://api:80', secure=True, username='******', password='******') session_config = env.create_session_config() session = LmSession(session_config) driver = session.descriptor_driver #Force LmSecurityCtrl to be created mock_client_builder = mock_client_builder_init.return_value mock_client_builder.legacy_user_pass_auth.assert_called_once_with(username='******', password='******', legacy_auth_address='http://api:80') mock_client_builder.user_pass_auth.assert_not_called() mock_client_builder.client_credentials_auth.assert_not_called() mock_client_builder.zen_api_key_auth.assert_not_called()
def test_security_ctrl_builds_client_with_token_auth(self, mock_client_builder_init): env = TNCOEnvironment(address='http://api:80', secure=True, auth_mode='token', token='123') session_config = env.create_session_config() session = LmSession(session_config) driver = session.descriptor_driver #Force LmSecurityCtrl to be created mock_client_builder = mock_client_builder_init.return_value mock_client_builder.address.assert_called_once_with(None) mock_client_builder.legacy_user_pass_auth.assert_not_called() mock_client_builder.user_pass_auth.assert_not_called() mock_client_builder.client_credentials_auth.assert_not_called() mock_client_builder.token_auth.assert_called_once_with(token='123')
def test_security_ctrl_builds_client_with_client_auth(self, mock_client_builder_init): env = TNCOEnvironment(address='http://api:80', secure=True, client_id='UserClient', client_secret='c_secret', auth_address='http://auth:81') session_config = env.create_session_config() session = LmSession(session_config) driver = session.descriptor_driver #Force LmSecurityCtrl to be created mock_client_builder = mock_client_builder_init.return_value mock_client_builder.address.assert_called_once_with('http://auth:81') mock_client_builder.legacy_user_pass_auth.assert_not_called() mock_client_builder.user_pass_auth.assert_not_called() mock_client_builder.client_credentials_auth.assert_called_once_with(client_id='UserClient', client_secret='c_secret') mock_client_builder.zen_api_key_auth.assert_not_called()
def test_create_session_config_with_token_auth(self): env = TNCOEnvironment(host='test', port=80, protocol='https', secure=True, auth_mode='token', token='123') session_config = env.create_session_config() self.assertEqual(session_config.token, '123') self.assertEqual(session_config.auth_mode, 'token')
def test_create_session_config_with_zen_auth(self): env = TNCOEnvironment('lm', host='test', port=80, protocol='https', secure=True, username='******', api_key='key', auth_address='http://zen:80', auth_mode='zen') session_config = env.create_session_config() self.assertEqual(session_config.username, 'user') self.assertEqual(session_config.api_key, 'key') self.assertEqual(session_config.auth_mode, 'zen')
def test_create_session_config_with_client_credentials(self): env = TNCOEnvironment(host='test', port=80, protocol='https', secure=True, client_id='client', client_secret='secret') session_config = env.create_session_config() self.assertEqual(session_config.client_id, 'client') self.assertEqual(session_config.client_secret, 'secret') self.assertEqual(session_config.auth_mode, 'oauth')