示例#1
0
 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))
示例#2
0
 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)
示例#3
0
 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)
示例#4
0
 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='******'))
示例#5
0
 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='******'))
示例#6
0
 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))
示例#7
0
 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='******'))
示例#8
0
    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)
示例#9
0
 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)
示例#10
0
    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)