def test_update_backup(self):
        create_backup(self.client, live=self.is_live)

        tag = {'Tag1': 'Value1'}
        backup_body = BackupPatch(location=BACKUP_LOCATION, tags=tag)
        self.client.backups.begin_update(BACKUP_RG, TEST_ACC_1, TEST_POOL_1,
                                         TEST_VOL_1, TEST_BACKUP_1,
                                         backup_body).wait()

        backup = get_backup(self.client)
        self.assertTrue(backup.tags['Tag1'] == 'Value1')

        disable_backup(self.client, live=self.is_live)
        delete_volume(self.client,
                      BACKUP_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    BACKUP_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, BACKUP_RG, TEST_ACC_1, live=self.is_live)
Exemple #2
0
    def test_get_account_backups(self):
        # this can be reverted to set_bodiless_matcher() after tests are re-recorded and don't contain these headers
        set_custom_default_matcher(
            compare_bodies=False,
            excluded_headers=
            "Authorization,Content-Length,x-ms-client-request-id,x-ms-request-id"
        )
        create_backup(self.client,
                      backup_name=TEST_BACKUP_1,
                      live=self.is_live)

        account_backup = self.client.account_backups.get(
            TEST_RG, TEST_ACC_1, TEST_BACKUP_1)
        assert account_backup.name == TEST_ACC_1 + "/" + TEST_BACKUP_1

        disable_backup(self.client, TEST_BACKUP_1, live=self.is_live)
        delete_volume(self.client,
                      TEST_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    TEST_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, TEST_RG, TEST_ACC_1, live=self.is_live)
    def test_get_vault(self):
        create_volume(self.client,
                      CBS_RESOURCE_GROUP,
                      CBS_ACCOUNT,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      location=CBS_LOCATION,
                      vnet=CBS_VNET)
        vaults = self.client.vaults.list(CBS_RESOURCE_GROUP, CBS_ACCOUNT)
        self.assertEqual(len(list(vaults)), 1)

        # clean up
        delete_volume(self.client,
                      CBS_RESOURCE_GROUP,
                      CBS_ACCOUNT,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    CBS_RESOURCE_GROUP,
                    CBS_ACCOUNT,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client,
                       CBS_RESOURCE_GROUP,
                       CBS_ACCOUNT,
                       live=self.is_live)
    def test_assign_snapshot_policy_to_volume(self):
        # create volume and snapshot policy
        create_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1,
                      TEST_VOL_1)
        snapshot_policy = create_snapshot_policy(self.client,
                                                 TEST_SNAPSHOT_POLICY_1)
        # assign the snapshot policy to the volume
        snapshot = VolumeSnapshotProperties(
            snapshot_policy_id=snapshot_policy.id)
        data_protection = VolumePatchPropertiesDataProtection(
            snapshot=snapshot)
        volume_patch = VolumePatch(data_protection=data_protection)
        volume = self.client.volumes.begin_update(TEST_RG, TEST_ACC_1,
                                                  TEST_POOL_1, TEST_VOL_1,
                                                  volume_patch).result()

        self.assertEqual(volume.data_protection.snapshot.snapshot_policy_id,
                         snapshot_policy.id)

        # cleanup
        delete_volume(self.client,
                      TEST_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_snapshot_policy(self.client,
                               TEST_SNAPSHOT_POLICY_1,
                               live=self.is_live)
        delete_pool(self.client,
                    TEST_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, TEST_RG, TEST_ACC_1, live=self.is_live)
Exemple #5
0
    def test_delete_account_backups(self):
        create_backup(self.client,
                      backup_name=TEST_BACKUP_1,
                      live=self.is_live)

        account_backup_list = self.client.account_backups.list(
            BACKUP_RG, TEST_ACC_1)
        self.assertGreaterEqual(len(list(account_backup_list)), 1)

        delete_volume(self.client,
                      BACKUP_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        self.client.account_backups.begin_delete(BACKUP_RG, TEST_ACC_1,
                                                 TEST_BACKUP_1).wait()

        account_backup_list = self.client.account_backups.list(
            BACKUP_RG, TEST_ACC_1)
        for backup in account_backup_list:
            self.assertNotEqual(backup.name, TEST_ACC_1 + "/" + TEST_BACKUP_1)

        delete_pool(self.client,
                    BACKUP_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, BACKUP_RG, TEST_ACC_1, live=self.is_live)
    def test_list_backup(self):
        create_backup(self.client, live=self.is_live)
        create_backup(self.client,
                      backup_name=TEST_BACKUP_2,
                      backup_only=True,
                      live=self.is_live)

        backup_list = get_backup_list(self.client)
        self.assertEqual(len(list(backup_list)), 2)
        idx = 0
        for backup in backup_list:
            self.assertEqual(backup.name, backups[idx])
            idx += 1

        disable_backup(self.client, live=self.is_live)
        disable_backup(self.client,
                       backup_name=TEST_BACKUP_2,
                       live=self.is_live)

        backup_list = get_backup_list(self.client)
        self.assertEqual(len(list(backup_list)), 0)

        delete_volume(self.client,
                      BACKUP_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    BACKUP_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, BACKUP_RG, TEST_ACC_1, live=self.is_live)
    def test_list_snapshots(self):
        snapshot = create_snapshot(self.client, TEST_RG, TEST_ACC_1,
                                   TEST_POOL_1, TEST_VOL_1, TEST_SNAPSHOT_1,
                                   LOCATION)
        snapshot = create_snapshot(self.client,
                                   TEST_RG,
                                   TEST_ACC_1,
                                   TEST_POOL_1,
                                   TEST_VOL_1,
                                   TEST_SNAPSHOT_2,
                                   LOCATION,
                                   snapshot_only=True)

        snapshot_list = self.client.snapshots.list(TEST_RG, TEST_ACC_1,
                                                   TEST_POOL_1, TEST_VOL_1)
        self.assertEqual(len(list(snapshot_list)), 2)
        idx = 0
        for snapshot in snapshot_list:
            self.assertEqual(snapshot.name, snapshots[idx])
            idx += 1

        delete_snapshot(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1,
                        TEST_VOL_1, TEST_SNAPSHOT_1)
        delete_snapshot(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1,
                        TEST_VOL_1, TEST_SNAPSHOT_2)
        delete_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1,
                      TEST_VOL_1)
        delete_pool(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1)
        delete_account(self.client, TEST_RG, TEST_ACC_1)
    def test_get_vault(self):
        create_volume(self.client)
        vaults = self.client.vaults.list(TEST_RG, TEST_ACC_1)
        self.assertEqual(len(list(vaults)), 1)

        # clean up
        delete_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, live=self.is_live)
        delete_pool(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, live=self.is_live)
        delete_account(self.client, TEST_RG, TEST_ACC_1, live=self.is_live)
Exemple #9
0
    def test_get_snapshot_by_name(self):
        snapshot = create_snapshot(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, TEST_SNAPSHOT_1, LOCATION)

        snapshot = self.client.snapshots.get(TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, TEST_SNAPSHOT_1)
        self.assertEqual(snapshot.name, TEST_ACC_1 + '/' + TEST_POOL_1 + '/' + TEST_VOL_1+ '/' + TEST_SNAPSHOT_1)

        delete_snapshot(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, TEST_SNAPSHOT_1)
        delete_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1)
        delete_pool(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1)
        delete_account(self.client, TEST_RG, TEST_ACC_1)
def clean_up(client, disable_bp=True, live=False):
    if disable_bp:
        disable_backup(client, live=live)

    delete_volume(client,
                  TEST_RG,
                  TEST_ACC_1,
                  TEST_POOL_1,
                  TEST_VOL_1,
                  live=live)
    delete_pool(client, TEST_RG, TEST_ACC_1, TEST_POOL_1, live=live)
    delete_account(client, TEST_RG, TEST_ACC_1, live=live)
Exemple #11
0
    def test_create_delete_snapshot(self):
        snapshot = create_snapshot(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, TEST_SNAPSHOT_1, LOCATION)

        snapshot_list = self.client.snapshots.list(TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1)
        self.assertEqual(len(list(snapshot_list)), 1)

        self.client.snapshots.delete(TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, TEST_SNAPSHOT_1).wait()
        snapshot_list = self.client.snapshots.list(TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1)
        self.assertEqual(len(list(snapshot_list)), 0)

        delete_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1)
        delete_pool(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1)
        delete_account(self.client, TEST_RG, TEST_ACC_1)
Exemple #12
0
    def test_list_account_backups(self):
        # this can be reverted to set_bodiless_matcher() after tests are re-recorded and don't contain these headers
        set_custom_default_matcher(
            compare_bodies=False,
            excluded_headers=
            "Authorization,Content-Length,x-ms-client-request-id,x-ms-request-id"
        )
        create_backup(self.client,
                      backup_name=TEST_BACKUP_1,
                      live=self.is_live)
        create_backup(self.client,
                      backup_name=TEST_BACKUP_2,
                      backup_only=True,
                      live=self.is_live)

        account_backup_list = self.client.account_backups.list(
            TEST_RG, TEST_ACC_1)
        backup_count = 0
        for backup in account_backup_list:
            if TEST_BACKUP_1 in backup.name or TEST_BACKUP_2 in backup.name:
                backup_count += 1

        assert backup_count == 2

        disable_backup(self.client, live=self.is_live)
        disable_backup(self.client,
                       backup_name=TEST_BACKUP_2,
                       live=self.is_live)

        account_backup_list = self.client.account_backups.list(
            TEST_RG, TEST_ACC_1)
        backup_count = 0
        for backup in account_backup_list:
            if TEST_BACKUP_1 in backup.name or TEST_BACKUP_2 in backup.name:
                backup_count += 1

        assert backup_count == 0

        delete_volume(self.client,
                      TEST_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    TEST_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, TEST_RG, TEST_ACC_1, live=self.is_live)
Exemple #13
0
    def test_list_mount_target(self):
        volume = create_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1,
                               TEST_VOL_1)
        self.assertEqual(volume.name,
                         TEST_ACC_1 + '/' + TEST_POOL_1 + '/' + TEST_VOL_1)

        mount_target_list = self.client.mount_targets.list(
            TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1)
        self.assertEqual(len(list(mount_target_list)), 1)

        delete_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1,
                      TEST_VOL_1)
        delete_pool(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1)
        delete_account(self.client, TEST_RG, TEST_ACC_1)
    def test_list_mount_target(self):
        volume = create_volume(self. client,TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1)
        self.assertEqual(volume.name, TEST_ACC_1 + '/' + TEST_POOL_1 + '/' + TEST_VOL_1)

        mount_target_list = self.client.mount_targets.list(
            TEST_RG,
            TEST_ACC_1,
            TEST_POOL_1,
            TEST_VOL_1
        )
        self.assertEqual(len(list(mount_target_list)), 1)

        delete_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1)
        delete_pool(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1)
        delete_account(self.client, TEST_RG, TEST_ACC_1)
    def test_list_snapshots(self):
        snapshot = create_snapshot(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, TEST_SNAPSHOT_1, LOCATION)
        snapshot = create_snapshot(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, TEST_SNAPSHOT_2, LOCATION, snapshot_only=True)

        snapshot_list = self.client.snapshots.list(TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1)
        self.assertEqual(len(list(snapshot_list)), 2)
        idx = 0
        for snapshot in snapshot_list:
            self.assertEqual(snapshot.name, snapshots[idx])
            idx += 1

        delete_snapshot(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, TEST_SNAPSHOT_1)
        delete_snapshot(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, TEST_SNAPSHOT_2)
        delete_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1)
        delete_pool(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1)
        delete_account(self.client, TEST_RG, TEST_ACC_1)
Exemple #16
0
    def test_list_account_backups(self):
        create_backup(self.client,
                      backup_name=TEST_BACKUP_1,
                      live=self.is_live)
        create_backup(self.client,
                      backup_name=TEST_BACKUP_2,
                      backup_only=True,
                      live=self.is_live)

        account_backup_list = self.client.account_backups.list(
            BACKUP_RG, TEST_ACC_1)
        backup_count = 0
        for backup in account_backup_list:
            if TEST_BACKUP_1 in backup.name or TEST_BACKUP_2 in backup.name:
                backup_count += 1

        self.assertEqual(backup_count, 2)

        disable_backup(self.client, live=self.is_live)
        disable_backup(self.client,
                       backup_name=TEST_BACKUP_2,
                       live=self.is_live)

        account_backup_list = self.client.account_backups.list(
            BACKUP_RG, TEST_ACC_1)
        backup_count = 0
        for backup in account_backup_list:
            if TEST_BACKUP_1 in backup.name or TEST_BACKUP_2 in backup.name:
                backup_count += 1

        self.assertEqual(backup_count, 0)

        delete_volume(self.client,
                      BACKUP_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    BACKUP_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, BACKUP_RG, TEST_ACC_1, live=self.is_live)
Exemple #17
0
    def test_assign_snapshot_policy_to_volume(self):
        # this can be reverted to set_bodiless_matcher() after tests are re-recorded and don't contain these headers
        set_custom_default_matcher(
            compare_bodies=False, excluded_headers="Authorization,Content-Length,x-ms-client-request-id,x-ms-request-id"
        )
        # create volume and snapshot policy
        create_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1)
        snapshot_policy = create_snapshot_policy(self.client, TEST_SNAPSHOT_POLICY_1)
        # assign the snapshot policy to the volume
        snapshot = VolumeSnapshotProperties(snapshot_policy_id=snapshot_policy.id)
        data_protection = VolumePatchPropertiesDataProtection(snapshot=snapshot)
        volume_patch = VolumePatch(data_protection=data_protection)
        volume = self.client.volumes.begin_update(TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, volume_patch).result()

        assert volume.data_protection.snapshot.snapshot_policy_id == snapshot_policy.id

        # cleanup
        delete_volume(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, TEST_VOL_1, live=self.is_live)
        delete_snapshot_policy(self.client, TEST_SNAPSHOT_POLICY_1, live=self.is_live)
        delete_pool(self.client, TEST_RG, TEST_ACC_1, TEST_POOL_1, live=self.is_live)
        delete_account(self.client, TEST_RG, TEST_ACC_1, live=self.is_live)
    def test_get_backup_status(self):
        create_backup(self.client, live=self.is_live)

        backup_status = self.client.backups.get_status(BACKUP_RG, TEST_ACC_1,
                                                       TEST_POOL_1, TEST_VOL_1)
        self.assertTrue(backup_status.healthy)
        self.assertEqual(backup_status.mirrorState, "Mirrored")

        disable_backup(self.client, live=self.is_live)
        delete_volume(self.client,
                      BACKUP_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    BACKUP_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, BACKUP_RG, TEST_ACC_1, live=self.is_live)
    def test_get_backup_by_name(self):
        create_backup(self.client, live=self.is_live)

        backup = get_backup(self.client, TEST_BACKUP_1)
        self.assertEqual(
            backup.name, TEST_ACC_1 + "/" + TEST_POOL_1 + "/" + TEST_VOL_1 +
            "/" + TEST_BACKUP_1)

        disable_backup(self.client, TEST_BACKUP_1, live=self.is_live)
        delete_volume(self.client,
                      BACKUP_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    BACKUP_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, BACKUP_RG, TEST_ACC_1, live=self.is_live)
    def test_get_account_backups(self):
        create_backup(self.client,
                      backup_name=TEST_BACKUP_1,
                      live=self.is_live)

        account_backup = self.client.account_backups.get(
            TEST_RG, TEST_ACC_1, TEST_BACKUP_1)
        self.assertEqual(account_backup.name, TEST_ACC_1 + "/" + TEST_BACKUP_1)

        disable_backup(self.client, TEST_BACKUP_1, live=self.is_live)
        delete_volume(self.client,
                      TEST_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    TEST_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, TEST_RG, TEST_ACC_1, live=self.is_live)
    def test_create_delete_backup(self):
        # Create 2 backups since delete backups can only be used when volume has multiple backups
        create_backup(self.client, live=self.is_live)

        create_backup(self.client,
                      backup_name=TEST_BACKUP_2,
                      backup_only=True,
                      live=self.is_live)
        backup_list = get_backup_list(self.client)
        self.assertEqual(len(list(backup_list)), 2)

        # delete the older backup since we are not able to delete the newest one with delete backup service
        delete_backup(self.client, live=self.is_live)

        # check if backup was deleted
        backup_list = get_backup_list(self.client)
        self.assertEqual(len(list(backup_list)), 1)

        # automaticaly delete the second backup by disable backups on volume
        disable_backup(self.client, live=self.is_live)

        backup_list = get_backup_list(self.client)
        self.assertEqual(len(list(backup_list)), 0)

        delete_volume(self.client,
                      BACKUP_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    BACKUP_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, BACKUP_RG, TEST_ACC_1, live=self.is_live)
    def test_get_vault(self):
        # this can be reverted to set_bodiless_matcher() after tests are re-recorded and don't contain these headers
        set_custom_default_matcher(
            compare_bodies=False,
            excluded_headers=
            "Authorization,Content-Length,x-ms-client-request-id,x-ms-request-id"
        )
        create_volume(self.client)
        vaults = self.client.vaults.list(TEST_RG, TEST_ACC_1)
        assert len(list(vaults)) == 1

        # clean up
        delete_volume(self.client,
                      TEST_RG,
                      TEST_ACC_1,
                      TEST_POOL_1,
                      TEST_VOL_1,
                      live=self.is_live)
        delete_pool(self.client,
                    TEST_RG,
                    TEST_ACC_1,
                    TEST_POOL_1,
                    live=self.is_live)
        delete_account(self.client, TEST_RG, TEST_ACC_1, live=self.is_live)