]> xenbits.xensource.com Git - xenrt-citrix/xenrt.git/commitdiff
add testcase
authorCraig <craig.orendi@citrix.com>
Fri, 25 Sep 2015 17:35:13 +0000 (18:35 +0100)
committerCraig Orendi <craig.orendi@citrix.com>
Tue, 3 Nov 2015 10:21:32 +0000 (10:21 +0000)
exec/testcases/xenserver/tc/dotnetagentlicensing.py
exec/xenrt/lib/xenserver/dotnetagentlicensing.py

index 76c0bab20a9713092b296238165697d4af7d9890..e55a5e2d5b547e9fafb56cdeec5458bf870d404a 100755 (executable)
@@ -73,9 +73,10 @@ class DotNetAgentTestCases(xenrt.TestCase):
     def __init__(self):
         super(DotNetAgentTestCases, self).__init__()
         self.adapter = DotNetAgentAdapter(self.getGuest(xenrt.TEC().lookup("LICENSE_SERVER")))
+        self.agent = DotNetAgent(self.getGuest("WS2012"))
 
     def postRun(self):
-       # self.adapter.cleanupLicense(self.getDefaultPool())
+        self.adapter.cleanupLicense(self.getDefaultPool())
         self.adapter.serverCleanup(self.getGuest("server"))
         self.adapter.settingsCleanup(self.getGuest("WS2012"))
 
@@ -83,17 +84,46 @@ class TempTest(DotNetAgentTestCases):
 
     def run(self,arglist):
         server = self.adapter.setUpServer(self.getGuest("server"),"16000")
-        self.adapter.applyLicense(self.getDefaultPool())
-        agent = DotNetAgent(self.getGuest("WS2012"))
-        autoupdate = agent.getLicensedFeature("AutoUpdate")
+        #self.adapter.applyLicense(self.getDefaultPool())
+        autoupdate = self.agent.getLicensedFeature("AutoUpdate")
         autoupdate.setUserVMUser()
         autoupdate.enable()
         autoupdate.setURL("http://10.81.29.132:16000")
-        #self.getGuest("server").execguest("wget localhost:16000")
         startTime = datetime.datetime.now().time()
-        #self.getGuest("WS2012").reboot()
         agent.restartAgent()
         xenrt.sleep(200)
-        xenrt.TEC().logverbose("test 1: %s"%str(server.isPinged(startTime)))
+        xenrt.TEC().logverbose("Server was pinged: %s"%str(server.isPinged(startTime)))
 
+class VMUserAutoUpdateToggle(DotNetAgentTestCases):
 
+    def run(self,arglist):
+        server = self.adapter.setUpServer(self.getGuest("server"),"16000")
+        self.adapter.applyLicense(self.getDefaultPool())
+        autoupdate = self.agent.getLicensedFeature("AutoUpdate")
+        autoupdate.setUserVMUser()
+        autoupdate.enable()
+        autoupdate.setURL("http://10.81.29.132:16000")
+        startTime = datetime.datetime.now().time()
+        self.agent.restartAgent()
+        xenrt.sleep(200)
+        pinged = server.isPinged(startTime)
+        xenrt.TEC().logverbose("Server was pinged: %s"%str(pinged))
+        if pinged:
+            raise xenrt.XRTFailure("Server was pinged when it shouldn't be")
+        autoupdate.enable()
+        startTime = datetime.datetime.now().time()
+        self.agent.restartAgent()
+        xenrt.sleep(200)
+        pinged = server.isPinged(startTime)
+        xenrt.TEC().logverbose("Server was pinged: %s"%str(pinged))
+        if not pinged:
+            raise xenrt.XRTFailure("Server was not pinged when it should be")
+        self.adapter.releaseLicense(self.getDefaultPool())
+        if autoupdate.isLicensed():
+            raise xenrt.XRTFailure("autoupdate is licensed when it shouldn't be")
+        time = datetime.datetime.now()
+        self.agent.restartAgent()
+        xenrt.sleep(200)
+        pinged = server.isPinged(startTime)
+        if pinged:
+            raise xenrt.XRTFailure("autoupdate tries to update when unlicensed")
index 56ed8959ee639df53dcfcff3d27a1c2f93541196..2c23e7ff1d3b66f4e8bc3715247289847ddb02b0 100755 (executable)
@@ -157,22 +157,27 @@ class PoolAdmin(ActorImp):
 
     def enable(self):
         host = self.guest.host
+        xenrt.TEC().logverbose("-----Enabling auto update via pool-----")
         host.execdom0("xe pool-param-set uuid=%s guest-agent-config:auto_update_enabled=true"% host.getPool().getUUID())
 
     def disable(self):
         host = self.guest.host
+        xenrt.TEC().logverbose("-----Disabling auto update via pool-----")
         host.execdom0("xe pool-param-set uuid=%s guest-agent-config:auto_update_enabled=false"% host.getPool().getUUID())
 
     def remove(self):
         host = self.guest.host
+        xenrt.TEC().logverbose("-----Removing pool enabled key-----")
         host.execdom0("xe pool-param-remove uuid=%s param-name=guest-agent-config param-key=auto_update_enabled"%host.getPool().getUUID())
 
     def setURL(self,url):
         host = self.guest.host
+        xenrt.TEC().logverbose("-----Setting pool URL to %s -----"%url)
         host.execdom0("xe pool-param-set uuid=%s guest-agent-config:auto_update_url=%s"%(host.getPool().getUUID(),url))
 
     def defaultURL(self):
         host = self.guest.host
+        xenrt.TEC().logverbose("-----Removing pool URL key-----")
         host.execdom0("xe pool-param-remove uuid=%s param-name=guest-agent-config param-key=auto_update_url"%host.getPool().getUUID())
 
     def checkKeyPresent(self):
@@ -190,18 +195,23 @@ class VMUser(ActorImp):
             return key != 1
 
     def enable(self):
+        xenrt.TEC().logverbose("-----Enabling auto update via VM-----")
         self.os.winRegAdd("HKLM","SOFTWARE\\Citrix\\XenTools","DisableAutoUpdate","DWORD",0)
 
     def disable(self):
+        xenrt.TEC().logverbose("-----Disabling auto update via VM-----")
         self.os.winRegAdd("HKLM","SOFTWARE\\Citrix\\XenTools","DisableAutoUpdate","DWORD",1)
 
     def remove(self):
+        xenrt.TEC().logverbose("-----Removing VM registry DisableAutoUpdate key-----")
         self.os.winRegDel("HKLM","SOFTWARE\\Citrix\\XenTools","DisableAutoUpdate")
 
     def setURL(self,url):
+        xenrt.TEC().logverbose("-----Setting VM URL to %s -----"%url)
         self.os.winRegAdd("HKLM","SOFTWARE\\Citrix\\XenTools","update_url","SZ","%s"%url)
 
     def defaultURL(self):
+        xenrt.TEC().logverbose("-----Removing VM URL key-----")
         self.os.winRegDel("HKLM","SOFTWARE\\Citrix\\XenTools","update_url")
 
     def checkKeyPresent(self):