[Cluster-devel] conga/luci/test CGA_0160_Add_User.py CGA_0200_ ...

rmccabe at sourceware.org rmccabe at sourceware.org
Wed Feb 28 22:58:58 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	conga
Branch: 	RHEL4
Changes by:	rmccabe at sourceware.org	2007-02-28 22:58:57

Modified files:
	luci/test      : CGA_0160_Add_User.py CGA_0200_Create_cluster.py 
	                 congaDemoTests.py conga_Helpers.py 
	                 conga_suite.py 
Added files:
	luci/test      : cleaner.py 

Log message:
	sync up the test suite

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/test/cleaner.py.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=NONE&r2=1.1.2.1
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/test/CGA_0160_Add_User.py.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.5.2.1&r2=1.5.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/test/CGA_0200_Create_cluster.py.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.2.2.1&r2=1.2.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/test/congaDemoTests.py.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.8.2.1&r2=1.8.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/test/conga_Helpers.py.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.10.2.2&r2=1.10.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/test/conga_suite.py.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.7.2.2&r2=1.7.2.3

/cvs/cluster/conga/luci/test/cleaner.py,v  -->  standard output
revision 1.1.2.1
--- conga/luci/test/cleaner.py
+++ -	2007-02-28 22:58:58.426965000 +0000
@@ -0,0 +1,102 @@
+#! /usr/bin/env python
+
+'''
+Script name:    cleaner.py
+Creation date:  Feb 2007
+Purpose:        Prototype automated GUI test for RHEL5 Conga (luci server web app) - automated
+                with Selenium RC (remote control) 0.9.0
+Summary:        Script to clean up all Conga test suite related artifacts - this script will be 
+                before Conga use case tests
+'''
+
+__author__ = 'Len DiMaggio <ldimaggi at redhat.com>'
+
+from selenium import selenium
+import unittest, time, re
+from conga_Helpers import *
+import time
+import logging
+from loggerObject import loggerObject
+
+class cleaner:
+    
+    def cleanup(self):
+
+        selenium = login (CONGA_ADMIN_USERNAME, CONGA_ADMIN_PASSWORD)
+        sel = selenium
+        theloggerObject = setupLogger (CONGA_DEBUG_LOG)
+        logger = theloggerObject.getLogger()
+        
+        # Step 1 of 3 - Delete all clusters
+        sel.click("link=homebase")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+        sel.click("link=cluster")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+        
+        #####################
+            
+            
+        junk = sel.get_text("cluster_action")
+        print junk
+        print sel.get_body_text()
+        print '============================='
+        
+                
+        tempBool = sel.is_element_present("cluster_action")
+        if (tempBool == True):
+            sel.select("cluster_action", "label=Delete this cluster")
+            sel.click("//input[@value='Go']")
+            sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+            time.sleep(300)
+        else:
+            print 'No cluster to delete'
+           
+        sel.click("link=homebase")
+        
+        # Create the users
+#        for userName in CONGA_USERS.keys(): 
+#            createUser (sel, userName, CONGA_USERS[userName], logger)
+#            # Validation - verify that the success message was displayed for each user
+#            assertEqual('Do you really want to add the user "' + userName + '"?', sel.get_confirmation())
+#            sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+#            assertTrue (sel.is_text_present('Added new user "' + userName + '" successfully')) 
+#     
+###############################################################################
+        # Delete the users 
+        for userName in CONGA_USERS.keys(): 
+            deleteUser (sel, userName, logger)
+            # Validation - verify that the success message was displayed for each user
+            try:
+                assertEqual('Do you really want to remove the user "' + userName + '"?', sel.get_confirmation())
+                sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+                assertTrue (sel.is_text_present('User "' + userName + '" has been deleted'))  
+            except:
+                print 'Unable to delete user: ' + userName + ' does it exist?'
+    
+        
+#        # Create the storage systems
+#        for systemName in CONGA_STORAGE_SYSTEMS:
+#            createStorageSystem(sel, systemName, CONGA_STORAGE_SYSTEMS[systemName], logger)
+#            # Validation - verify that the success message was displayed for each storage system
+#            assertEqual("Do you really want to add the following Storage Systems:\n" + systemName, sel.get_confirmation())
+#            sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+#            assertTrue (sel.is_text_present('Added storage system "' + systemName + '" successfully'))            
+#            
+
+        tempBool = sel.is_element_present("link=Manage Systems")
+        if (tempBool == True):
+             # Delete the storage systems
+            for systemName in CONGA_STORAGE_SYSTEMS:
+                deleteStorageSystem(sel, systemName, logger)
+                try:
+                    # Validation - verify that the success message was displayed for each storage system
+                    assertEqual("Do you really want to remove the following managed systems:\nStorage Systems:\n-" + systemName, sel.get_confirmation())
+                    sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+                    assertTrue (sel.is_text_present('Removed storage system "' + systemName + '" successfully'))
+                except:
+                    print 'Unable to delete system: ' + systemName + ' does it exist?'
+        else:
+            print 'No systems to delete'
+           
+        sel = selenium.stop()
+             
\ No newline at end of file
--- conga/luci/test/CGA_0160_Add_User.py	2007/02/10 00:01:22	1.5.2.1
+++ conga/luci/test/CGA_0160_Add_User.py	2007/02/28 22:58:57	1.5.2.2
@@ -140,7 +140,7 @@
                     #print "DEBUG - loggedInUser=" + loggedInUser + " userName=" + userName
                     if (loggedInUser == userName):
                         # Validation 1 - seeing authorized systems
-                        print 'Verify user ' + userName + ' is able to access authorized systems'
+                        self.logger.info('Verify user ' + userName + ' is able to access authorized systems')
                         self.assertTrue (sel.is_text_present(CONGA_USERS_SYSTEMS[loggedInUser]))
                                                
                         sel.click("link=" + CONGA_USERS_SYSTEMS[loggedInUser])
@@ -157,13 +157,13 @@
                                 self.assertTrue (sel.is_text_present('hda'))
                                 break
                             except:
-                                print 'Failed to view hard disk - assume slow reponse - trying again'
+                                self.logger.info('Failed to view hard disk - assume slow reponse - trying again')
                             loopCounter = loopCounter +1    
                             time.sleep (30)
                         
                     else:
                         # Validation 2 - not seeing other systems
-                        print 'Verify user ' + loggedInUser + ' is not able to access unauthorized system ' + CONGA_USERS_SYSTEMS[userName]
+                        self.logger.info('Verify user ' + loggedInUser + ' is not able to access unauthorized system ' + CONGA_USERS_SYSTEMS[userName])
                         self.assertFalse (sel.is_text_present(CONGA_USERS_SYSTEMS[userName]))
                         
             logout(self.selenium)  
--- conga/luci/test/CGA_0200_Create_cluster.py	2007/02/05 21:27:22	1.2.2.1
+++ conga/luci/test/CGA_0200_Create_cluster.py	2007/02/28 22:58:57	1.2.2.2
@@ -73,7 +73,7 @@
             systemCounter = systemCounter + 1
             if (systemCounter > 2):
                 sel.click("//input[@value='Add Another Row']")          
-        sel.click("document.adminform.rhn_dl[1]")
+        #sel.click("document.adminform.rhn_dl[1]")
         sel.click("Submit")
         sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
 
@@ -81,34 +81,48 @@
         #sel.click("link=testCluster")
         sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
 
+        # Wait 5 minutes for the cluster nodes to be rebooted
+        time.sleep (300)
+
         # Validation - verify that the newly created cluster shows up in the cluster list        
         sel.click("link=homebase")
-        sel.wait_for_page_to_load("30000")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
         sel.click("link=Manage Systems")
-        sel.wait_for_page_to_load("30000")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
         self.assertTrue (sel.is_text_present('testCluster'))
         self.assertTrue (sel.is_element_present("name=__CLUSTER:testCluster"))
-
-        # Delete the cluster - note that this only deletes the reference to the cluster
-        # in the luci web app - need to build a way to delete /etc/cluster/cluster.conf
-        # and stop cman service on cluster nodes - TODO - see bug #
-        # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=213076        
-        self.logger.debug('Delete cluster: testCluster')
-        sel.click("name=__CLUSTER:testCluster")
-        sel.click("document.adminform.Submit")
-        sel.wait_for_page_to_load("30000")
-        self.assertEqual("Do you really want to remove the following managed systems:\nClusters:\n-testCluster", sel.get_confirmation())
-        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
-        self.assertTrue (sel.is_text_present('Removed cluster "testCluster" successfully'))
         
+        # Then - delete the cluster
+        sel.click("link=homebase")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+        sel.click("link=cluster")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+        sel.select("cluster_action", "label=Delete this cluster")
+        sel.click("//input[@value='Go']")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+        sel.click("link=homebase")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+        sel.click("link=Manage Systems")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)       
+
         # Delete the storage systems created when the cluster was created
         for systemName in CONGA_SMALL_CLUSTER_SYSTEMS:
-            deleteStorageSystem(sel, systemName)
+            deleteStorageSystem(sel, systemName, self.logger)
            # Validation - verify that the success message was displayed for each storage system
             self.assertEqual("Do you really want to remove the following managed systems:\nStorage Systems:\n-" + systemName, sel.get_confirmation())
             sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
             self.assertTrue (sel.is_text_present('Removed storage system "' + systemName + '" successfully'))
 
+        # And the cluster reference in the storage system list too
+        sel.click("link=homebase")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+        sel.click("link=Manage Systems")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+        sel.click("__CLUSTER0")
+        sel.click("document.adminform.Submit")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+        self.assertEqual("Do you really want to remove the following managed systems:\nClusters:\n-testCluster", sel.get_confirmation())
+
         self.logger.info('Ending test case CGA_0200_Create_cluster.test_congaCluster')
 
     def tearDown(self):
--- conga/luci/test/congaDemoTests.py	2007/02/05 21:27:22	1.8.2.1
+++ conga/luci/test/congaDemoTests.py	2007/02/28 22:58:57	1.8.2.2
@@ -32,11 +32,15 @@
 import unittest, time, re
 import logging
 from loggerObject import loggerObject
+from cleaner import *
 
 class congaDemoTests(unittest.TestCase):
 
     def setUp(self):
         
+        temp = cleaner()    
+        temp.cleanup()
+        
         # Set up logging      
         self.theloggerObject = setupLogger (CONGA_DEBUG_LOG)
         self.logger = self.theloggerObject.getLogger()
@@ -101,71 +105,6 @@
 
         self.logger.info('Ending test case congaDemoTests.test_congaUsers')
 
-    def test_congaCluster(self):
-        """Test to create and delete a cluster"""
-        self.logger.info('Starting test case congaDemoTests.test_congaCluster')
-        sel = self.selenium
-           
-        sel.open("/luci/homebase")
-        sel.click("link=cluster")
-        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
-        sel.click("link=Create a New Cluster")
-
-        # Create the new "testCluster" cluster
-        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
-        sel.type("clusterName", "testCluster")
-        self.logger.debug('Create cluster: testCluster')
-
-        # Add the nodes to the cluster
-        # Needed to generalize statements like this:
-        #     sel.type("__SYSTEM1:Addr", "tng3-2.lab.msp.redhat.com")
-        #     sel.type("__SYSTEM1:Passwd", "password")
-        #     sel.click("//input[@value='Add Another Row']")
-        systemCounter = 0
-        for systemName in CONGA_SMALL_CLUSTER_SYSTEMS.keys():
-            sel.type("__SYSTEM" + str(systemCounter) + ":Addr", systemName)
-            sel.type("__SYSTEM" + str(systemCounter) + ":Passwd", CONGA_SMALL_CLUSTER_SYSTEMS[systemName])
-            systemCounter = systemCounter + 1
-            if (systemCounter > 2):
-                sel.click("//input[@value='Add another entry']")          
-        #sel.click("document.adminform.rhn_dl[1]")
-        sel.click("Submit")
-        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
-
-        self.assertEqual('Add the cluster "testCluster" to the Luci management interface?' , sel.get_confirmation())
-        #sel.click("link=testCluster")
-        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
-
-        # Validation - verify that the newly created cluster shows up in the cluster list        
-        sel.click("link=homebase")
-        sel.wait_for_page_to_load("30000")
-        sel.click("link=Manage Systems")
-        sel.wait_for_page_to_load("30000")
-        self.assertTrue (sel.is_text_present('testCluster'))
-        self.assertTrue (sel.is_element_present("name=__CLUSTER:testCluster"))
-
-        # Delete the cluster - note that this only deletes the reference to the cluster
-        # in the luci web app - need to build a way to delete /etc/cluster/cluster.conf
-        # and stop cman service on cluster nodes - TODO - see bug #
-        # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=213076        
-        self.logger.debug('Delete cluster: testCluster')
-        sel.click("name=__CLUSTER:testCluster")
-        sel.click("document.adminform.Submit")
-        sel.wait_for_page_to_load("30000")
-        self.assertEqual("Do you really want to remove the following managed systems:\nClusters:\n-testCluster", sel.get_confirmation())
-        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
-        self.assertTrue (sel.is_text_present('Removed cluster "testCluster" successfully'))
-        
-        # Delete the storage systems created when the cluster was created
-        for systemName in CONGA_SMALL_CLUSTER_SYSTEMS:
-            deleteStorageSystem(sel, systemName, self.logger)
-           # Validation - verify that the success message was displayed for each storage system
-            self.assertEqual("Do you really want to remove the following managed systems:\nStorage Systems:\n-" + systemName, sel.get_confirmation())
-            sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
-            self.assertTrue (sel.is_text_present('Removed storage system "' + systemName + '" successfully'))
-
-        self.logger.info('Ending test case congaDemoTests.test_congaCluster')
-
     def tearDown(self):
         """Logout and stop Selenium session"""
         logout(self.selenium)
@@ -174,9 +113,8 @@
 
 def suite():
         suite = unittest.TestSuite()
-        suite.addTest(congaDemoTests('test_congaStorage'))
+#        suite.addTest(congaDemoTests('test_congaStorage'))
         suite.addTest(congaDemoTests('test_congaUsers'))
-        #suite.addTest(congaDemoTests('test_congaCluster'))
         return suite
 
 if __name__ == "__main__":
--- conga/luci/test/conga_Helpers.py	2007/02/10 00:01:22	1.10.2.2
+++ conga/luci/test/conga_Helpers.py	2007/02/28 22:58:57	1.10.2.3
@@ -31,7 +31,6 @@
 import unittest, time, re
 import logging
 import logging.handlers
- 
 from loggerObject import loggerObject
 
 # Define data to support tests - global for now
@@ -39,7 +38,7 @@
 CONGA_ADMIN_USERNAME = 'admin'
 CONGA_ADMIN_PASSWORD = 'password'
 CONGA_SERVER = 'http://tng3-5.lab.msp.redhat.com:8080'
-PAGE_DISPLAY_DELAY = '30000'
+PAGE_DISPLAY_DELAY = '60000'
 CONGA_LOG = '/var/tmp/congaTest.log'
 CONGA_DEBUG_LOG = '/var/tmp/congaTest_debug.log'
 
@@ -56,7 +55,7 @@
                          'tng3-3.lab.msp.redhat.com':'password',
                          'tng3-4.lab.msp.redhat.com':'password' }
 
-CONGA_LARGE_CLUSTER_SYSTEMS = {'tng3-1.lab.msp.redhat.com':'password', 
+CONGA_LARGE_CLUSTER_SYSTEMS = {#'tng3-1.lab.msp.redhat.com':'password', 
                          #'tng3-2.lab.msp.redhat.com':'password', 
                          'tng3-3.lab.msp.redhat.com':'password',
                          'tng3-4.lab.msp.redhat.com':'password',
@@ -108,12 +107,15 @@
 
 def deleteStorageSystem(sel, systemName, theLogger):
     """Common code to delete storage systems"""
-    theLogger.debug('Delete storage system: ' + systemName)
-    # Need to handle artifacts names - underscores in strings, not periods
-    systemNameMod = systemName.replace('.', '_')
-    sel.click("name=__SYSTEM:" + systemNameMod)
-    sel.click("document.adminform.Submit")
-    sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)          
+    try:
+        theLogger.debug('Delete storage system: ' + systemName)
+        # Need to handle artifacts names - underscores in strings, not periods
+        systemNameMod = systemName.replace('.', '_')
+        sel.click("name=__SYSTEM:" + systemNameMod)
+        sel.click("document.adminform.Submit")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)          
+    except:
+        print 'Unable to delete system: ' + systemName
 
 def createUser(sel, userName, userPassword, theLogger):
     """Common code to create users"""
@@ -128,12 +130,15 @@
     
 def deleteUser(sel, userName, theLogger):
     """Common code to delete users"""
-    theLogger.debug('Delete user: ' + userName)
-    sel.click("link=Delete a User")
-    sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
-    sel.select("deluserId", "label=" + userName)
-    sel.click("Submit")
-    sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)    
+    try:
+        theLogger.debug('Delete user: ' + userName)
+        sel.click("link=Delete a User")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)
+        sel.select("deluserId", "label=" + userName)
+        sel.click("Submit")
+        sel.wait_for_page_to_load(PAGE_DISPLAY_DELAY)    
+    except:
+        print 'Unable to delete user: ' + userName
         
 def login(userName, password):
     """Establish connection to selenium server, login to luci """
@@ -185,4 +190,4 @@
     theLogger.removeHandler(theHandler)
     theHandler.close()
 #    theHandler.doRollover()
-    
\ No newline at end of file
+    
--- conga/luci/test/conga_suite.py	2007/02/10 00:01:22	1.7.2.2
+++ conga/luci/test/conga_suite.py	2007/02/28 22:58:57	1.7.2.3
@@ -67,10 +67,10 @@
 
 # Assemble the suite
 suite = unittest.TestSuite()
-#suite.addTest(congaDemoSuite)
+suite.addTest(congaDemoSuite)
 suite.addTest(CGA_0160_Add_UserSuite)
-#suite.addTest(CGA_0170_Online_Documentation_Portlet_Suite)
-#suite.addTest(CGA_0200_Create_cluster_Suite)
+suite.addTest(CGA_0170_Online_Documentation_Portlet_Suite)
+suite.addTest(CGA_0200_Create_cluster_Suite)
 
 # Run the test suite
 unittest.TextTestRunner(verbosity=2).run(suite)




More information about the Cluster-devel mailing list