All of lore.kernel.org
 help / color / mirror / Atom feed
From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga/luci/test CGA_0160_Add_User.py CGA_0200_ ...
Date: 28 Feb 2007 22:58:58 -0000	[thread overview]
Message-ID: <20070228225858.11781.qmail@sourceware.org> (raw)

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@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)



                 reply	other threads:[~2007-02-28 22:58 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070228225858.11781.qmail@sourceware.org \
    --to=rmccabe@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.