def test_batchai_update_file_server_user_account_settings_using_command_line_when_key_is_path(self): params = FileServerCreateParameters() actual = _update_user_account_settings(params, 'user', _data_file('key.txt'), None) self.assertEquals(actual.ssh_configuration.user_account_settings, UserAccountSettings( admin_user_name='user', admin_user_ssh_public_key=SSH_KEY))
def test_batchai_update_cluster_user_account_settings_using_config(self): params = ClusterCreateParameters( user_account_settings=UserAccountSettings( admin_user_name='name', admin_user_password='******')) actual = _update_user_account_settings(params, None, None, None) self.assertEquals(params, actual)
def test_batchai_update_file_server_user_account_settings_using_config(self): params = FileServerCreateParameters( ssh_configuration=SshConfiguration( user_account_settings=UserAccountSettings( admin_user_name='name', admin_user_password='******'))) actual = _update_user_account_settings(params, None, None, None) self.assertEquals(params, actual)
def test_batchai_update_cluster_user_account_settings_using_command_line(self): params = ClusterCreateParameters() actual = _update_user_account_settings(params, 'name', SSH_KEY, 'password') self.assertEquals(actual.user_account_settings, UserAccountSettings( admin_user_name='name', admin_user_ssh_public_key=SSH_KEY, admin_user_password='******'))
def test_batchai_update_file_server_user_account_settings_using_current_user(self, getuser): getuser.return_value = 'current_user' params = FileServerCreateParameters() actual = _update_user_account_settings(params, None, None, 'password') self.assertEquals(actual.ssh_configuration.user_account_settings, UserAccountSettings( admin_user_name='current_user', admin_user_password='******'))
def test_batchai_update_file_server_user_account_settings_using_current_user_and_default_ssh_key( self, get_default_ssh_public_key_location, getuser): get_default_ssh_public_key_location.return_value = _data_file('key.txt') getuser.return_value = 'current_user' params = FileServerCreateParameters() actual = _update_user_account_settings(params, None, None, None) self.assertEquals(actual.ssh_configuration.user_account_settings, UserAccountSettings( admin_user_name='current_user', admin_user_ssh_public_key=SSH_KEY))
def test_batchai_update_file_server_user_account_settings_using_command_line_overriding_config(self): params = FileServerCreateParameters( ssh_configuration=SshConfiguration( user_account_settings=UserAccountSettings( admin_user_name='old_name', admin_user_ssh_public_key='old_key', admin_user_password='******'))) actual = _update_user_account_settings(params, 'name', SSH_KEY, 'password') self.assertEquals(actual.ssh_configuration.user_account_settings, UserAccountSettings( admin_user_name='name', admin_user_ssh_public_key=SSH_KEY, admin_user_password='******'))
def test_batchai_update_cluster_create_parameters_with_user_account_settings(self): params = ClusterCreateParameters(location='eastus', vm_size='STANDARD_D1', user_account_settings=UserAccountSettings(admin_user_name='name', admin_user_password='******')) # No update. result = _update_user_account_settings(params, None, None, None) self.assertEquals(result.user_account_settings.admin_user_name, 'name') self.assertEquals(result.user_account_settings.admin_user_password, 'password') self.assertIsNone(result.user_account_settings.admin_user_ssh_public_key) # Updating. params.user_account_settings = None result = _update_user_account_settings(params, 'user', SSH_KEY, None) self.assertEquals(result.user_account_settings.admin_user_name, 'user') self.assertIsNone(result.user_account_settings.admin_user_password) self.assertEquals(result.user_account_settings.admin_user_ssh_public_key, SSH_KEY) # Incorrect ssh public key. params.user_account_settings = None # user may emit user account settings in config file with self.assertRaises(CLIError): _update_user_account_settings(params, 'user', 'wrong' + SSH_KEY, 'password') # No user account. params.user_account_settings = None with self.assertRaises(CLIError): _update_user_account_settings(params, None, SSH_KEY, None) # No credentials. params.user_account_settings = None with self.assertRaises(CLIError): _update_user_account_settings(params, 'user', None, None) # ssh public key from a file. result = _update_user_account_settings(params, 'user', _data_file('key.txt'), None) self.assertEquals(result.user_account_settings.admin_user_ssh_public_key, SSH_KEY)
def test_batchai_update_fileserver_user_account_settings_using_command_line_when_key_is_wrong(self): params = FileServerCreateParameters() with self.assertRaisesRegexp(CLIError, 'Incorrect ssh public key value'): _update_user_account_settings(params, 'user', 'my key', None)
def test_batchai_update_file_server_create_parameters_with_user_account_settings(self): params = FileServerCreateParameters(location='eastus', vm_size='STANDARD_D1', ssh_configuration=SshConfiguration( user_account_settings=UserAccountSettings( admin_user_name='name', admin_user_password='******')), data_disks=DataDisks(10, 2, 'Standard_LRS')) # No update. result = _update_user_account_settings(params, None, None, None) self.assertEqual(params, result) # Updating when user_account_setting are omitted. params.ssh_configuration.user_account_settings = None result = _update_user_account_settings(params, 'user', SSH_KEY, None) self.assertEquals(result.ssh_configuration.user_account_settings.admin_user_name, 'user') self.assertIsNone(result.ssh_configuration.user_account_settings.admin_user_password) self.assertEquals(result.ssh_configuration.user_account_settings.admin_user_ssh_public_key, SSH_KEY) # Updating when ssh_configuration is omitted. params.ssh_configuration = None result = _update_user_account_settings(params, 'user', SSH_KEY, 'password') self.assertEquals(result.ssh_configuration.user_account_settings.admin_user_name, 'user') self.assertEquals(result.ssh_configuration.user_account_settings.admin_user_password, 'password') self.assertEquals(result.ssh_configuration.user_account_settings.admin_user_ssh_public_key, SSH_KEY) # Incorrect ssh public key. params.ssh_configuration = SshConfiguration(None) # user may emit user account settings in config file with self.assertRaises(CLIError): _update_user_account_settings(params, 'user', 'wrong' + SSH_KEY, None) # No user account. params.ssh_configuration.user_account_settings = None with self.assertRaises(CLIError): _update_user_account_settings(params, None, SSH_KEY, None) # No credentials. params.ssh_configuration.user_account_settings = None with self.assertRaises(CLIError): _update_user_account_settings(params, 'user', None, None) # Only password. params.ssh_configuration.user_account_settings = None result = _update_user_account_settings(params, 'user', None, 'password') self.assertEquals(result.ssh_configuration.user_account_settings.admin_user_name, 'user') self.assertEquals(result.ssh_configuration.user_account_settings.admin_user_password, 'password') # ssh public key from a file. result = _update_user_account_settings(params, 'user', _data_file('key.txt'), None) self.assertEquals(result.ssh_configuration.user_account_settings.admin_user_ssh_public_key, SSH_KEY)