コード例 #1
0
 def setUp(self):
     super(TestBackup, self).setUp()
     self.sess = mock.Mock(spec=adapter.Adapter)
     self.sess.get = mock.Mock()
     self.sess.delete = mock.Mock()
     self.sess.put = mock.Mock()
     self.sess.default_microversion = '1'
     self.sess._get_connection = mock.Mock(return_value=self.cloud)
     self.sot = _backup.Backup()
     self.sot_expected = _backup.Backup(**EXAMPLE)
コード例 #2
0
 def test_list(self):
     backup = _backup.Backup(id='backup')
     self.verify_list(self.proxy.members,
                      _member.Member,
                      method_args=[backup],
                      expected_kwargs={'backup_id': backup.id},
                      expected_args=[])
コード例 #3
0
 def test_basic(self):
     sot = _backup.Backup()
     self.assertEqual('backup', sot.resource_key)
     self.assertEqual('backups', sot.resources_key)
     self.assertEqual('/backups', sot.base_path)
     self.assertTrue(sot.allow_list)
     self.assertFalse(sot.allow_create)
     self.assertTrue(sot.allow_fetch)
     self.assertFalse(sot.allow_commit)
     self.assertTrue(sot.allow_delete)
     self.assertDictEqual(
         {
             'checkpoint_id': 'checkpoint_id',
             'dec': 'dec',
             'end_time': 'end_time',
             'enterprise_project_id': 'enterprise_project_id',
             'image_type': 'image_type',
             'limit': 'limit',
             'marker': 'marker',
             'member_status': 'member_status',
             'name': 'name',
             'offset': 'offset',
             'own_type': 'own_type',
             'parent_id': 'parent_id',
             'resource_az': 'resource_az',
             'resource_id': 'resource_id',
             'resource_name': 'resource_name',
             'resource_type': 'resource_type',
             'sort': 'sort',
             'start_time': 'start_time',
             'status': 'status',
             'used_percent': 'used_percent',
             'vault_id': 'vault_id'
         }, sot._query_mapping._mapping)
コード例 #4
0
 def test_member_add(self):
     members = ['member1', 'member2']
     backup = _backup.Backup(id='backup')
     self._verify('otcextensions.sdk.cbr.v3.backup.Backup.add_members',
                  self.proxy.add_members,
                  method_args=[backup, members],
                  expected_args=[self.proxy],
                  expected_kwargs={'members': members})
コード例 #5
0
 def test_restore_server(self):
     attrs = {'a': 'b'}
     backup = _backup.Backup(id='my_backup')
     self._verify('openstack.proxy.Proxy._create',
                  self.proxy.restore_data,
                  method_args=[backup],
                  method_kwargs=attrs,
                  expected_args=[_restore.Restore],
                  expected_kwargs=dict(backup_id=backup.id, **attrs))
コード例 #6
0
 def test_get(self):
     backup = _backup.Backup(id='backup')
     member = _member.Member(id='member')
     self._verify('openstack.proxy.Proxy._get',
                  self.proxy.get_member,
                  method_args=[backup, member],
                  method_kwargs={},
                  expected_args=[_member.Member, member],
                  expected_kwargs={'backup_id': backup.id})
コード例 #7
0
 def test_delete(self):
     backup = _backup.Backup(id='backup')
     member = _member.Member(id='member')
     self._verify('openstack.proxy.Proxy._delete',
                  self.proxy.delete_member,
                  method_args=[backup, member, True],
                  method_kwargs={},
                  expected_args=[_member.Member, member],
                  expected_kwargs={
                      'backup_id': backup.id,
                      'ignore_missing': True
                  })
コード例 #8
0
 def test_update(self):
     backup = _backup.Backup(id='backup')
     member = _member.Member(id='member')
     status = 'accepted'
     vault = _vault.Vault(id='vault')
     self._verify('openstack.proxy.Proxy._update',
                  self.proxy.update_member,
                  method_args=[backup, member, status, vault],
                  method_kwargs={},
                  expected_args=[_member.Member, member],
                  expected_kwargs={
                      'backup_id': backup.id,
                      'status': status,
                      'vault_id': vault.id
                  })
コード例 #9
0
 def test_make_it(self):
     test_backup = _backup.Backup(**EXAMPLE)
     self.assertEqual(EXAMPLE['provider_id'], test_backup.provider_id)
     self.assertEqual(EXAMPLE['checkpoint_id'], test_backup.checkpoint_id)
     self.assertEqual(EXAMPLE['updated_at'], test_backup.updated_at)
     self.assertEqual(EXAMPLE['vault_id'], test_backup.vault_id)
     self.assertEqual(EXAMPLE['id'], test_backup.id)
     self.assertEqual(EXAMPLE['resource_az'], test_backup.resource_az)
     self.assertEqual(EXAMPLE['image_type'], test_backup.image_type)
     self.assertEqual(EXAMPLE['resource_id'], test_backup.resource_id)
     self.assertEqual(EXAMPLE['resource_size'], test_backup.resource_size)
     self.assertEqual(EXAMPLE['children'], test_backup.children)
     self.assertEqual(EXAMPLE['project_id'], test_backup.project_id)
     self.assertEqual(EXAMPLE['status'], test_backup.status)
     self.assertEqual(EXAMPLE['resource_name'], test_backup.resource_name)
     self.assertEqual(EXAMPLE['description'], test_backup.description)
     self.assertEqual(EXAMPLE['expired_at'], test_backup.expired_at)
     self.assertEqual(EXAMPLE['replication_records'],
                      test_backup.replication_records)
     self.assertEqual(EXAMPLE['name'], test_backup.name)
     self.assertEqual(EXAMPLE['created_at'], test_backup.created_at)
     self.assertEqual(EXAMPLE['resource_type'], test_backup.resource_type)
     self.assertTrue(test_backup.extend_info.auto_trigger)
     self.assertEqual(EXAMPLE['extend_info']['supported_restore_mode'],
                      test_backup.extend_info.supported_restore_mode)
     self.assertTrue(test_backup.extend_info.contain_system_disk)
     self.assertTrue(test_backup.extend_info.support_lld)
     self.assertEqual(EXAMPLE['extend_info']['architecture'],
                      test_backup.extend_info.architecture)
     self.assertFalse(test_backup.extend_info.system_disk)
     self.assertEqual(
         EXAMPLE['extend_info']['app_consistency']['app_consistency'],
         test_backup.extend_info.app_consistency.app_consistency)
     self.assertEqual(
         EXAMPLE['extend_info']['app_consistency']['error_code'],
         test_backup.extend_info.app_consistency.error_code)
     self.assertEqual(
         EXAMPLE['extend_info']['app_consistency']['error_message'],
         test_backup.extend_info.app_consistency.error_message)
     self.assertEqual(
         EXAMPLE['extend_info']['app_consistency']['error_status'],
         test_backup.extend_info.app_consistency.error_status)
コード例 #10
0
    def test_default(self):
        arglist = [
            'backup_uuid',
            '--mappings', 'backup_id=backup_uuid volume_id=volume_uuid',
            '--server-id', 'server_uuid',
            '--volume-id', 'volume_uuid'
        ]
        verifylist = [
            ('backup', 'backup_uuid'),
            ('power_on', False),
            ('server_id', 'server_uuid'),
            ('volume_id', 'volume_uuid'),
            ('mappings', ['backup_id=backup_uuid volume_id=volume_uuid'])
        ]

        # Verify cm is triggereg with default parameters
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        #
        # Set the response
        self.client.restore_data.side_effect = [
            {}
        ]

        self.client.find_backup.side_effect = [
            backupSDK.Backup(id='backup_uuid')
        ]

        # Trigger the action
        self.cmd.take_action(parsed_args)

        self.client.restore_data.assert_called_once_with(
            backup='backup_uuid',
            mappings=[{'backup_id': 'backup_uuid',
                       'volume_id': 'volume_uuid'}],
            power_on=False,
            server_id='server_uuid',
            volume_id='volume_uuid'
        )
コード例 #11
0
    def test_delete(self):
        arglist = [
            'b1'
        ]
        verifylist = [
            ('backup', 'b1')
        ]
        # Verify cm is triggereg with default parameters
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)

        # Set the response
        self.client.delete_backup.side_effect = [{}]

        # Set the response for find_policy
        self.client.find_backup.side_effect = [
            backupSDK.Backup(id='b1')
        ]

        # Trigger the action
        self.cmd.take_action(parsed_args)

        delete_calls = [
            mock.call(
                backup='b1',
                ignore_missing=False),
        ]

        find_calls = [
            mock.call(
                name_or_id='b1',
                ignore_missing=False),
        ]

        self.client.delete_backup.assert_has_calls(delete_calls)
        self.client.find_backup.assert_has_calls(find_calls)
        self.assertEqual(1, self.client.delete_backup.call_count)