From c01edd9bf35ea7957ac2c8ceb5faecbf1f3eff92 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Fri, 10 Mar 2023 12:49:16 +0530 Subject: [PATCH 1/2] test: add smoke test for user role for userdata crud api Signed-off-by: Abhishek Kumar --- .../smoke/test_register_userdata.py | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/test/integration/smoke/test_register_userdata.py b/test/integration/smoke/test_register_userdata.py index 7251530d85e8..585e2aff03d0 100644 --- a/test/integration/smoke/test_register_userdata.py +++ b/test/integration/smoke/test_register_userdata.py @@ -762,3 +762,69 @@ def test_deploy_vm_with_registered_userdata_with_override_policy_deny(self): self.apiclient, templateid=self.template.id ) + + @attr(tags=['advanced', 'simulator', 'basic', 'sg', 'testnow'], required_hardware=True) + def test_user_userdata_crud(self): + """Test following operations as a normal user: + 1. Register userdata + 2. List userdata + 3. Link userdata to a template, unlink + 4. Delete userdata. + """ + self.user = self.account.user[0] + self.userapiclient = self.testClient.getUserApiClient( + self.user.username, + self.domain.name) + + self.userdata = UserData.register( + self.userapiclient, + name="UserdataName", + userdata="VGVzdFVzZXJEYXRh", + account=self.account.name, + domainid=self.account.domainid + ) + self.cleanup.append(self.userdata) + + list_userdata = UserData.list(self.apiclient, id=self.userdata.userdata.id, listall=True) + self.assertNotEqual( + len(list_userdata), + 0, + "List userdata was empty" + ) + userdata = list_userdata[0] + self.assertEqual( + userdata.id, + self.userdata.userdata.id, + "userdata ids do not match" + ) + + self.template = Template.linkUserDataToTemplate( + self.apiclient, + templateid=self.template.id, + userdataid=self.userdata.userdata.id + ) + self.assertEqual( + self.userdata.userdata.id, + self.template.userdataid, + "Match userdata id in template response" + ) + self.assertEqual( + self.template.userdatapolicy, + "ALLOWOVERRIDE", + "Match default userdata override policy in template response" + ) + self.template = Template.linkUserDataToTemplate( + self.apiclient, + templateid=self.template.id + ) + self.assertEqual( + self.template.userdataid, + None, + "Check userdata id in template response is None" + ) + + UserData.delete( + self.userapiclient, + id=self.userdata.userdata.id + ) + self.cleanup.pop() From 9d8be8bdc8510788a43259e1dacb833557d2042f Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Tue, 14 Mar 2023 12:39:04 +0530 Subject: [PATCH 2/2] address review comment Signed-off-by: Abhishek Kumar --- test/integration/smoke/test_register_userdata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/smoke/test_register_userdata.py b/test/integration/smoke/test_register_userdata.py index 585e2aff03d0..bc38cd989c01 100644 --- a/test/integration/smoke/test_register_userdata.py +++ b/test/integration/smoke/test_register_userdata.py @@ -827,4 +827,4 @@ def test_user_userdata_crud(self): self.userapiclient, id=self.userdata.userdata.id ) - self.cleanup.pop() + self.cleanup.remove(self.userdata)