root/gip/trunk/test/test_topology.py

Revision 2135, 2.4 kB (checked in by burt, 1 year ago)

changed OSG site to OSG Site for consistency's sake

Line 
1
2 import os
3 import sys
4 import unittest
5
6 sys.path.append(os.path.expandvars("$GIP_LOCATION/lib/python"))
7 from gip_common import config, cp_getBoolean, voList
8 from gip_testing import runTest, streamHandler
9 from gip_ldap import read_ldap
10
11 class TestSiteTopology(unittest.TestCase):
12
13     def setUp(self):
14         self.cp = config("test/test_configs/red.conf")
15
16     def setUpLDAP(self, multi=False):
17         command = "$GIP_LOCATION/providers/site_topology.py"
18         stdout = os.popen(command)
19         entries = read_ldap(stdout, multi=multi)
20         return entries
21
22     def test_exitcode(self):
23         command = "$GIP_LOCATION/providers/site_topology.py"
24         stdout = os.popen(command)
25         stdout.read()
26         self.failUnless(stdout.close() == None, msg="Site topology provider " \
27             "failed with nonzero exit code.")
28
29     def test_site(self):
30         has_site = False
31         for entry in self.setUpLDAP():
32             if 'GlueSite' in entry.objectClass:
33                 self.failUnless(entry.glue['SiteUniqueID'] == 'Nebraska')
34                 self.failUnless(entry.glue['SiteName'] == 'Nebraska')
35                 self.failUnless(entry.glue['SiteDescription'] == 'OSG Site')
36                 self.failUnless(entry.glue['SiteLatitude'] == '40.82')
37                 has_site = True
38         self.failUnless(has_site, msg="No site LDAP entry present!")
39
40     def test_cluster(self):
41         has_cluster = False
42         for entry in self.setUpLDAP(multi=True):
43             if 'GlueCluster' in entry.objectClass:
44                 self.failUnless(entry.glue['ClusterName'][0] == 'red.unl.edu')
45                 self.failUnless(entry.glue['ClusterTmpDir'][0] == \
46                     '/opt/osg/data')
47                 self.failUnless('GlueSiteUniqueID=Nebraska' in \
48                     entry.glue['ForeignKey'])
49                 self.failUnless('GlueCEUniqueID=red.unl.edu:2119/jobmanager-' \
50                     'pbs-cmsprod' in entry.glue['ForeignKey'])
51                 has_cluster = True
52         self.failUnless(has_cluster, msg="No cluster LDAP entry present!")
53
54     def test_subcluster(self):
55         has_subcluster = False
56         for entry in self.setUpLDAP():
57             if 'GlueSubcluster' in entry.objectClass:
58                 has_subcluster = True
59         self.failUnless(has_subcluster, msg="No subcluster LDAP entry present!")
60
61
62 def main():
63     cp = config()
64     stream = streamHandler(cp)
65     runTest(cp, TestSiteTopology, stream, per_site=False)
66
67 if __name__ == '__main__':
68     main()
69
Note: See TracBrowser for help on using the browser.