def test_setup_non_existing_default_public_key(self, _get_user_config, _is_key_valid, _set_user_config, _create_default_ssh): user = UserController(Mock(), Settings()) user.api.read_users.return_value = [{'username': '******'}] args = Mock(email='*****@*****.**', ssh_key_path='/default/path/to/key', ssh_auth='yes') _is_key_valid.return_value = False _get_user_config.return_value = {} user.setup(args) self.assertTrue(user.api.read_users.called) self.assertTrue(user.api.create_user_key.called) self.assertTrue(_create_default_ssh.called) self.assertEqual(2, len(_set_user_config.mock_calls)) self.assertEqual(call(user.settings, email='*****@*****.**'), _set_user_config.mock_calls[0]) self.assertEqual(call(user.settings, ssh_auth=True, ssh_path='/default/path/to/key'), _set_user_config.mock_calls[1])
def test_setup_non_existing_default_public_key(self, _get_user_config, _is_key_valid, _set_user_config, _create_default_ssh): user = UserController(Mock(), Settings()) user.api.read_users.return_value = [{'username': '******'}] args = Mock(email='*****@*****.**', ssh_key_path='/default/path/to/key', ssh_auth='yes') _is_key_valid.return_value = False _get_user_config.return_value = {} user.setup(args) self.assertTrue(user.api.read_users.called) self.assertTrue(user.api.create_user_key.called) self.assertTrue(_create_default_ssh.called) self.assertEqual(2, len(_set_user_config.mock_calls)) self.assertEqual(call(user.settings, email='*****@*****.**'), _set_user_config.mock_calls[0]) self.assertEqual( call(user.settings, ssh_auth=True, ssh_path='/default/path/to/key'), _set_user_config.mock_calls[1])
def test_setup_only_email_provided(self, _get_user_config, _is_key_valid, _set_user_config, *args): user = UserController(Mock(), Settings()) user.api.read_users.return_value = [{'username': '******'}] args = Mock(email='*****@*****.**', ssh_key_path=None, ssh_auth=None) _get_user_config.return_value = {'ssh_auth': True, 'ssh_path': '/path/to/key'} _is_key_valid.return_value = True user.setup(args) self.assertTrue(user.api.read_users.called) self.assertTrue(user.api.create_user_key.called) self.assertEqual(2, len(_set_user_config.mock_calls)) self.assertEqual(call(user.settings, email='*****@*****.**'), _set_user_config.mock_calls[0]) self.assertEqual(call(user.settings, ssh_auth=True, ssh_path='/path/to/key'), _set_user_config.mock_calls[1])
def test_setup_wrong_public_key(self, _is_key_valid, *args): user = UserController(Mock(), Settings()) args = Mock(email='*****@*****.**', ssh_key_path='not-existing', ssh_auth='yes') _is_key_valid.return_value = False with self.assertRaises(InputErrorException) as iep: user.setup(args) self.assertEqual('[ERROR] Public Key not found or invalid.', str(iep.exception)) self.assertFalse(user.api.read_users.called) self.assertFalse(user.api.create_user_key.called)
def test_setup_no_args_provided(self, _get_user_config, _is_key_valid, _set_user_config, *args): user = UserController(Mock(), Settings()) user.api.read_users.return_value = [{'username': '******'}] args = Mock(email=None, ssh_key_path=None, ssh_auth='yes') _get_user_config.return_value = {} _is_key_valid.return_value = True user.setup(args) self.assertTrue(user.api.read_users.called) self.assertTrue(user.api.create_user_key.called) self.assertEqual(1, len(_set_user_config.mock_calls)) _set_user_config.assert_called_once_with( user.settings, ssh_auth=True, ssh_path='/default/path/to/key')
def test_setup_wrong_public_key(self, _is_key_valid, *args): user = UserController(Mock(), Settings()) args = Mock(email='*****@*****.**', ssh_key_path='not-existing', ssh_auth='yes') _is_key_valid.return_value = False with self.assertRaises(InputErrorException) as iep: user.setup(args) self.assertEqual( '[ERROR] Public Key not found or invalid.', str(iep.exception)) self.assertFalse(user.api.read_users.called) self.assertFalse(user.api.create_user_key.called)
def test_setup_no_args_provided(self, _get_user_config, _is_key_valid, _set_user_config, *args): user = UserController(Mock(), Settings()) user.api.read_users.return_value = [{'username': '******'}] args = Mock(email=None, ssh_key_path=None, ssh_auth='yes') _get_user_config.return_value = {} _is_key_valid.return_value = True user.setup(args) self.assertTrue(user.api.read_users.called) self.assertTrue(user.api.create_user_key.called) self.assertEqual(1, len(_set_user_config.mock_calls)) _set_user_config.assert_called_once_with(user.settings, ssh_auth=True, ssh_path='/default/path/to/key')
def test_setup_only_email_provided(self, _get_user_config, _is_key_valid, _set_user_config, *args): user = UserController(Mock(), Settings()) user.api.read_users.return_value = [{'username': '******'}] args = Mock(email='*****@*****.**', ssh_key_path=None, ssh_auth=None) _get_user_config.return_value = { 'ssh_auth': True, 'ssh_path': '/path/to/key' } _is_key_valid.return_value = True user.setup(args) self.assertTrue(user.api.read_users.called) self.assertTrue(user.api.create_user_key.called) self.assertEqual(2, len(_set_user_config.mock_calls)) self.assertEqual(call(user.settings, email='*****@*****.**'), _set_user_config.mock_calls[0]) self.assertEqual( call(user.settings, ssh_auth=True, ssh_path='/path/to/key'), _set_user_config.mock_calls[1])