@@ -762,3 +762,69 @@ def test_deploy_vm_with_registered_userdata_with_override_policy_deny(self):
762762 self .apiclient ,
763763 templateid = self .template .id
764764 )
765+
766+ @attr (tags = ['advanced' , 'simulator' , 'basic' , 'sg' , 'testnow' ], required_hardware = True )
767+ def test_user_userdata_crud (self ):
768+ """Test following operations as a normal user:
769+ 1. Register userdata
770+ 2. List userdata
771+ 3. Link userdata to a template, unlink
772+ 4. Delete userdata.
773+ """
774+ self .user = self .account .user [0 ]
775+ self .userapiclient = self .testClient .getUserApiClient (
776+ self .user .username ,
777+ self .domain .name )
778+
779+ self .userdata = UserData .register (
780+ self .userapiclient ,
781+ name = "UserdataName" ,
782+ userdata = "VGVzdFVzZXJEYXRh" ,
783+ account = self .account .name ,
784+ domainid = self .account .domainid
785+ )
786+ self .cleanup .append (self .userdata )
787+
788+ list_userdata = UserData .list (self .apiclient , id = self .userdata .userdata .id , listall = True )
789+ self .assertNotEqual (
790+ len (list_userdata ),
791+ 0 ,
792+ "List userdata was empty"
793+ )
794+ userdata = list_userdata [0 ]
795+ self .assertEqual (
796+ userdata .id ,
797+ self .userdata .userdata .id ,
798+ "userdata ids do not match"
799+ )
800+
801+ self .template = Template .linkUserDataToTemplate (
802+ self .apiclient ,
803+ templateid = self .template .id ,
804+ userdataid = self .userdata .userdata .id
805+ )
806+ self .assertEqual (
807+ self .userdata .userdata .id ,
808+ self .template .userdataid ,
809+ "Match userdata id in template response"
810+ )
811+ self .assertEqual (
812+ self .template .userdatapolicy ,
813+ "ALLOWOVERRIDE" ,
814+ "Match default userdata override policy in template response"
815+ )
816+ self .template = Template .linkUserDataToTemplate (
817+ self .apiclient ,
818+ templateid = self .template .id
819+ )
820+ self .assertEqual (
821+ self .template .userdataid ,
822+ None ,
823+ "Check userdata id in template response is None"
824+ )
825+
826+ UserData .delete (
827+ self .userapiclient ,
828+ id = self .userdata .userdata .id
829+ )
830+ self .cleanup .remove (self .userdata )
0 commit comments