From 1b6edf3ac090e7490154dfcffab9bfdce091836f Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Mon, 17 Mar 2025 22:09:02 -0400 Subject: [PATCH 1/4] Fix unit tests due to change in behavior of restore VM --- test/integration/smoke/test_events_resource.py | 15 +-------------- .../integration/smoke/test_network_permissions.py | 5 +++++ 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/test/integration/smoke/test_events_resource.py b/test/integration/smoke/test_events_resource.py index 794431109506..6a3d533c0071 100644 --- a/test/integration/smoke/test_events_resource.py +++ b/test/integration/smoke/test_events_resource.py @@ -20,10 +20,6 @@ import os import tempfile import time -import unittest -import urllib.error -import urllib.parse -import urllib.request from datetime import datetime @@ -161,21 +157,12 @@ def test_01_events_resource(self): virtual_machine.restore(self.apiclient) time.sleep(self.services["sleep"]) virtual_machine.detach_volume(self.apiclient, volume) - volume.delete(self.apiclient) - self.cleanup.remove(volume) ts = str(time.time()) virtual_machine.update(self.apiclient, displayname=ts) - virtual_machine.delete(self.apiclient) - self.cleanup.remove(virtual_machine) account_network.update(self.apiclient, name=account_network.name + ts) - account_network.delete(self.apiclient) - self.cleanup.remove(account_network) + virtual_machine.start(self.apiclient) account.update(self.apiclient, newname=account.name + ts) account.disable(self.apiclient) - account.delete(self.apiclient) - self.cleanup.remove(account) - domain1.delete(self.apiclient) - self.cleanup.remove(domain1) cmd = listEvents.listEventsCmd() cmd.startdate = start_time diff --git a/test/integration/smoke/test_network_permissions.py b/test/integration/smoke/test_network_permissions.py index cd55c5af7452..49dd780a5cb5 100644 --- a/test/integration/smoke/test_network_permissions.py +++ b/test/integration/smoke/test_network_permissions.py @@ -733,6 +733,11 @@ def test_04_deploy_vm_for_other_user_and_test_vm_operations(self): self.exec_command("self.user_apiclient", command, expected=False) self.exec_command("self.otheruser_apiclient", command, expected=True) + #22. Start VM before destroying, to recreate ROOT volume that was deleted as part of restore operation + command = """self.virtual_machine.start({apiclient})""" + self.exec_command("self.user_apiclient", command, expected=False) + self.exec_command("self.otheruser_apiclient", command, expected=True) + # 22. Destroy vm2, should succeed by vm owner command = """self.virtual_machine.delete({apiclient}, expunge=False)""" self.exec_command("self.user_apiclient", command, expected=False) From 49d1d39a84332e13db8e668d446bc9dce53359b3 Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Wed, 26 Mar 2025 14:20:41 -0400 Subject: [PATCH 2/4] update numbering in comments --- test/integration/smoke/test_network_permissions.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/integration/smoke/test_network_permissions.py b/test/integration/smoke/test_network_permissions.py index 49dd780a5cb5..94ee05d7baf9 100644 --- a/test/integration/smoke/test_network_permissions.py +++ b/test/integration/smoke/test_network_permissions.py @@ -733,17 +733,17 @@ def test_04_deploy_vm_for_other_user_and_test_vm_operations(self): self.exec_command("self.user_apiclient", command, expected=False) self.exec_command("self.otheruser_apiclient", command, expected=True) - #22. Start VM before destroying, to recreate ROOT volume that was deleted as part of restore operation + # 22. Start VM before destroying, to recreate ROOT volume that was deleted as part of restore operation command = """self.virtual_machine.start({apiclient})""" self.exec_command("self.user_apiclient", command, expected=False) self.exec_command("self.otheruser_apiclient", command, expected=True) - # 22. Destroy vm2, should succeed by vm owner + # 23. Destroy vm2, should succeed by vm owner command = """self.virtual_machine.delete({apiclient}, expunge=False)""" self.exec_command("self.user_apiclient", command, expected=False) self.exec_command("self.otheruser_apiclient", command, expected=True) - # 23. Recover vm2, should succeed by vm owner + # 24. Recover vm2, should succeed by vm owner allow_expunge_recover_vm = Configurations.list(self.apiclient, name="allow.user.expunge.recover.vm")[0].value self.logger.debug("Global configuration allow.user.expunge.recover.vm = %s", allow_expunge_recover_vm) if allow_expunge_recover_vm == "true": @@ -751,12 +751,12 @@ def test_04_deploy_vm_for_other_user_and_test_vm_operations(self): self.exec_command("self.user_apiclient", command, expected=False) self.exec_command("self.otheruser_apiclient", command, expected=True) - # 24. Destroy vm2, should succeed by vm owner + # 25. Destroy vm2, should succeed by vm owner command = """self.virtual_machine.delete({apiclient}, expunge=False)""" self.exec_command("self.user_apiclient", command, expected=False) self.exec_command("self.otheruser_apiclient", command, expected=True) - # 25. Expunge vm2, should succeed by vm owner + # 26. Expunge vm2, should succeed by vm owner if allow_expunge_recover_vm == "true": command = """self.virtual_machine.expunge({apiclient})""" self.exec_command("self.user_apiclient", command, expected=False) @@ -764,7 +764,7 @@ def test_04_deploy_vm_for_other_user_and_test_vm_operations(self): else: self.virtual_machine.expunge(self.apiclient) - # 26. Reset network permissions, should succeed by network owner + # 27. Reset network permissions, should succeed by network owner command = """self.reset_network_permission({apiclient}, self.user_network, expected=True)""" self.exec_command("self.otheruser_apiclient", command, expected=False) self.exec_command("self.user_apiclient", command, expected=True) From 04c901dfd3696dd5e3832637c43ddeeb44a13ecc Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Tue, 8 Apr 2025 08:23:07 -0400 Subject: [PATCH 3/4] revert delete operations --- test/integration/smoke/test_events_resource.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/integration/smoke/test_events_resource.py b/test/integration/smoke/test_events_resource.py index 6a3d533c0071..5394bf6ec6ea 100644 --- a/test/integration/smoke/test_events_resource.py +++ b/test/integration/smoke/test_events_resource.py @@ -157,12 +157,22 @@ def test_01_events_resource(self): virtual_machine.restore(self.apiclient) time.sleep(self.services["sleep"]) virtual_machine.detach_volume(self.apiclient, volume) + volume.delete(self.apiclient) + self.cleanup.remove(volume) ts = str(time.time()) virtual_machine.update(self.apiclient, displayname=ts) + virtual_machine.delete(self.apiclient) + self.cleanup.remove(virtual_machine) account_network.update(self.apiclient, name=account_network.name + ts) + account_network.delete(self.apiclient) + self.cleanup.remove(account_network) virtual_machine.start(self.apiclient) account.update(self.apiclient, newname=account.name + ts) account.disable(self.apiclient) + account.delete(self.apiclient) + self.cleanup.remove(account) + domain1.delete(self.apiclient) + self.cleanup.remove(domain1) cmd = listEvents.listEventsCmd() cmd.startdate = start_time From 5997659d17ff6f021b6e29cfe3852ef4702367bc Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Fri, 25 Apr 2025 10:01:54 +0530 Subject: [PATCH 4/4] fix placement of start vm after refactoring --- test/integration/smoke/test_events_resource.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/smoke/test_events_resource.py b/test/integration/smoke/test_events_resource.py index 5394bf6ec6ea..dac95f8c090a 100644 --- a/test/integration/smoke/test_events_resource.py +++ b/test/integration/smoke/test_events_resource.py @@ -161,12 +161,12 @@ def test_01_events_resource(self): self.cleanup.remove(volume) ts = str(time.time()) virtual_machine.update(self.apiclient, displayname=ts) + virtual_machine.start(self.apiclient) virtual_machine.delete(self.apiclient) self.cleanup.remove(virtual_machine) account_network.update(self.apiclient, name=account_network.name + ts) account_network.delete(self.apiclient) self.cleanup.remove(account_network) - virtual_machine.start(self.apiclient) account.update(self.apiclient, newname=account.name + ts) account.disable(self.apiclient) account.delete(self.apiclient)