本文整理汇总了Python中WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig.setupCouchDatabase方法的典型用法代码示例。如果您正苦于以下问题:Python RequestManagerConfig.setupCouchDatabase方法的具体用法?Python RequestManagerConfig.setupCouchDatabase怎么用?Python RequestManagerConfig.setupCouchDatabase使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig
的用法示例。
在下文中一共展示了RequestManagerConfig.setupCouchDatabase方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: RequestManagerTest
# 需要导入模块: from WMCore_t.RequestManager_t.ReqMgr_t import RequestManagerConfig [as 别名]
# 或者: from WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig import setupCouchDatabase [as 别名]
class RequestManagerTest(RESTBaseUnitTest):
"""
Test RequestMgr Service client
It will start RequestMgr RESTService
Server DB is whatever env is set
This checks whether DS call makes without error and return the results.
This test only test service call returns without error.
The correctness of each function is tested in test/python/RequestManager_t/RequestMgr_t.py
"""
def initialize(self):
self.couchDBName = "reqmgr_t_0"
self.config = RequestManagerConfig(
'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel')
dbUrl = os.environ.get("DATABASE", None)
self.config.setDBUrl(dbUrl)
self.config.setFormatter('WMCore.WebTools.RESTFormatter')
self.config.setupRequestConfig()
self.config.setupCouchDatabase(dbName = self.couchDBName)
self.config.setPort(8888)
self.schemaModules = ["WMCore.RequestManager.RequestDB"]
def setUp(self):
RESTBaseUnitTest.setUp(self)
self.testInit.setupCouch("%s" % self.couchDBName,
"GroupUser", "ConfigCache")
self.params = {}
self.params['endpoint'] = self.config.getServerUrl()
self.reqService = RequestManagerDS(self.params)
self.jsonSender = JSONRequests(self.config.getServerUrl())
self.jsonSender.put('user/[email protected]')
self.jsonSender.put('group/PeopleLikeMe')
self.jsonSender.put('group/PeopleLikeMe/me')
self.jsonSender.put('version/CMSSW_3_5_8/slc5_ia32_gcc434')
schema = ReReco.getTestArguments()
schema['RequestName'] = 'TestReReco'
schema['RequestType'] = 'ReReco'
schema['CmsPath'] = "/uscmst1/prod/sw/cms"
schema['Requestor'] = '%s' % "me"
schema['Group'] = '%s' % "PeopleLikeMe"
schema['BlockWhitelist'] = ['/dataset/dataset/dataset#alpha']
schema['BlockBlacklist'] = ['/dataset/dataset/dataset#beta']
schema['Campaign'] = 'MyTestCampaign'
try:
r = self.jsonSender.put('request/' + schema['RequestName'], schema)
except Exception, ex:
print "Exception during set up, investigate exception instance attributes:"
print dir(ex)
return
self.requestName = r[0]['RequestName']
示例2: RequestManagerTest
# 需要导入模块: from WMCore_t.RequestManager_t.ReqMgr_t import RequestManagerConfig [as 别名]
# 或者: from WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig import setupCouchDatabase [as 别名]
class RequestManagerTest(RESTBaseUnitTest):
"""
Test RequestMgr Service client
It will start RequestMgr RESTService
Server DB is whatever env is set
This checks whether DS call makes without error and return the results.
This test only test service call returns without error.
The correctness of each function is tested in test/python/RequestManager_t/RequestMgr_t.py
"""
def initialize(self):
self.couchDBName = "reqmgr_t_0"
self.config = RequestManagerConfig(
'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel')
dbUrl = os.environ.get("DATABASE", None)
self.config.setDBUrl(dbUrl)
self.config.setFormatter('WMCore.WebTools.RESTFormatter')
self.config.setupRequestConfig()
self.config.setupCouchDatabase(dbName = self.couchDBName)
self.config.setPort(8888)
self.schemaModules = ["WMCore.RequestManager.RequestDB"]
def setUp(self):
RESTBaseUnitTest.setUp(self)
self.testInit.setupCouch("%s" % self.couchDBName, "GroupUser", "ConfigCache")
self.testInit.setupCouch("%s_wmstats" % self.couchDBName, "WMStats")
# logging stuff from TestInit is broken, setting myself
l = logging.getLogger()
l.setLevel(logging.DEBUG)
self.params = {}
self.params['endpoint'] = self.config.getServerUrl()
self.reqService = RequestManagerDS(self.params)
self.jsonSender = JSONRequests(self.config.getServerUrl())
userName = 'Taizong'
groupName = 'Li'
teamName = 'Tang'
schema = utils.getAndSetupSchema(self,
userName = userName,
groupName = groupName,
teamName = teamName)
try:
r = self.jsonSender.put('request/' + schema['RequestName'], schema)
except Exception, ex:
print "Exception during set up, reason: %s" % ex
return
self.requestName = r[0]['RequestName']
示例3: AdminTest
# 需要导入模块: from WMCore_t.RequestManager_t.ReqMgr_t import RequestManagerConfig [as 别名]
# 或者: from WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig import setupCouchDatabase [as 别名]
class AdminTest(RESTBaseUnitTest):
"""
_AdminTest_
Test for the lower-level DB code in the admin section
"""
def setUp(self):
"""
setUP global values
Database setUp is done in base class
"""
self.couchDBName = "reqmgr_t_0"
RESTBaseUnitTest.setUp(self)
self.testInit.setupCouch("%s" % self.couchDBName,
"GroupUser", "ConfigCache")
reqMgrHost = self.config.getServerUrl()
self.jsonSender = JSONRequests(reqMgrHost)
return
def initialize(self):
self.config = RequestManagerConfig(
'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel')
self.config.setFormatter('WMCore.WebTools.RESTFormatter')
self.config.setupRequestConfig()
self.config.setupCouchDatabase(dbName = self.couchDBName)
self.config.setPort(12888)
self.schemaModules = ["WMCore.RequestManager.RequestDB"]
return
def tearDown(self):
"""
_tearDown_
Basic tear down of database
"""
RESTBaseUnitTest.tearDown(self)
self.testInit.tearDownCouch()
return
def testA_SoftwareManagement(self):
"""
_SoftwareManagement_
Test the SoftwareManagement code
"""
self.assertEqual(SoftwareManagement.listSoftware(), {})
softwareVersions = ReqMgrWebTools.allScramArchsAndVersions()
ReqMgrWebTools.updateScramArchsAndCMSSWVersions()
result = SoftwareManagement.listSoftware()
for scramArch in result.keys():
self.assertEqual(set(result[scramArch]), set(softwareVersions[scramArch]))
# Now for each scramArch insert a blank set
# Because of the way that updateSoftware works, this interprets a blank list
# as telling it that no softwareVersions are available.
# It deletes every software version it is not handed, so it should give nothing out.
for scramArch in result.keys():
SoftwareManagement.updateSoftware(softwareNames = [], scramArch = scramArch)
self.assertEqual(SoftwareManagement.listSoftware(), {})
from WMCore.HTTPFrontEnd.RequestManager import Admin
setattr(self.config, 'database', self.testInit.coreConfig.CoreDatabase)
self.config.section_('templates')
self.config.section_('html')
admin = Admin.Admin(self.config)
ReqMgrWebTools.updateScramArchsAndCMSSWVersions()
self.assertTrue('slc5_amd64_gcc434' in admin.scramArchs())
return
示例4: RequestManagerTest
# 需要导入模块: from WMCore_t.RequestManager_t.ReqMgr_t import RequestManagerConfig [as 别名]
# 或者: from WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig import setupCouchDatabase [as 别名]
class RequestManagerTest(RESTBaseUnitTest):
"""
Test RequestMgr Service client
It will start RequestMgr RESTService
Server DB is whatever env is set
This checks whether DS call makes without error and return the results.
This test only test service call returns without error.
The correctness of each function is tested in test/python/RequestManager_t/RequestMgr_t.py
"""
def initialize(self):
self.couchDBName = "reqmgr_t_0"
self.config = RequestManagerConfig(
'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel')
dbUrl = os.environ.get("DATABASE", None)
self.config.setDBUrl(dbUrl)
self.config.setFormatter('WMCore.WebTools.RESTFormatter')
self.config.setupRequestConfig()
self.config.setupCouchDatabase(dbName = self.couchDBName)
self.config.setPort(8899)
self.schemaModules = ["WMCore.RequestManager.RequestDB"]
def setUp(self):
RESTBaseUnitTest.setUp(self)
self.testInit.setupCouch("%s" % self.couchDBName, "GroupUser", "ConfigCache", "ReqMgr")
self.testInit.setupCouch("%s_wmstats" % self.couchDBName, "WMStats")
# logging stuff from TestInit is broken, setting myself
l = logging.getLogger()
l.setLevel(logging.DEBUG)
self.params = {}
self.params['endpoint'] = self.config.getServerUrl()
self.reqService = RequestManagerDS(self.params)
self.jsonSender = JSONRequests(self.config.getServerUrl())
userName = 'Taizong'
groupName = 'Li'
teamName = 'Tang'
schema = utils.getAndSetupSchema(self,
userName = userName,
groupName = groupName,
teamName = teamName)
schema['ConfigCacheID'] = self.createConfig()
schema['CouchDBName'] = self.couchDBName
schema['CouchWorkloadDBName'] = self.couchDBName
try:
r = self.jsonSender.put('request', schema)
try:
self.requestName = r[0]['RequestName']
except:
self.requestName = r[0].values()[0]['RequestName']
except Exception as ex:
msg = traceback.format_exc()
print("Exception during set up, reason: %s" % msg)
raise ex
def tearDown(self):
self.config.deleteWorkloadCache()
RESTBaseUnitTest.tearDown(self)
self.testInit.tearDownCouch()
def createConfig(self, bad = False):
"""
_createConfig_
Create a config of some sort that we can load out of ConfigCache
"""
PSetTweak = {'process': {'outputModules_': ['ThisIsAName'],
'ThisIsAName': {'dataset': {'dataTier': 'RECO',
'filterName': 'Filter'}}}}
BadTweak = {'process': {'outputModules_': ['ThisIsAName1', 'ThisIsAName2'],
'ThisIsAName1': {'dataset': {'dataTier': 'RECO',
'filterName': 'Filter'}},
'ThisIsAName2': {'dataset': {'dataTier': 'RECO',
'filterName': 'Filter'}}}}
configCache = ConfigCache(os.environ["COUCHURL"], couchDBName = self.couchDBName)
configCache.createUserGroup(groupname = "testGroup", username = 'testOps')
if bad:
configCache.setPSetTweaks(PSetTweak = BadTweak)
else:
configCache.setPSetTweaks(PSetTweak = PSetTweak)
configCache.save()
return configCache.getCouchID()
@attr("integration")
def testA_RequestManagerService(self):
requestName = self.requestName
request = self.reqService.getRequest(requestName)
# minimal test : it's return type and the some value inside
self.assertEqual(type(request), dict)
self.assertTrue(len(request) > 0)
# Test putTeam
self.reqService.putTeam("team_usa")
self.assertTrue('team_usa' in self.jsonSender.get('team')[0])
self.jsonSender.put('assignment/%s/%s' % ("team_usa", requestName))
#.........这里部分代码省略.........
示例5: ReqMgrPriorityTest
# 需要导入模块: from WMCore_t.RequestManager_t.ReqMgr_t import RequestManagerConfig [as 别名]
# 或者: from WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig import setupCouchDatabase [as 别名]
class ReqMgrPriorityTest(RESTBaseUnitTest):
"""
Basic test for setting the priority in ReqMgr Services
"""
def setUp(self):
"""
setUP global values
Database setUp is done in base class
"""
self.couchDBName = "reqmgr_t_0"
RESTBaseUnitTest.setUp(self)
self.testInit.setupCouch("%s" % self.couchDBName, "ConfigCache", "ReqMgr")
self.testInit.setupCouch("%s_wmstats" % self.couchDBName, "WMStats")
self.testInit.setupCouch("%s_acdc" % self.couchDBName, "ACDC")
reqMgrHost = self.config.getServerUrl()
self.jsonSender = JSONRequests(reqMgrHost)
def initialize(self):
self.config = RequestManagerConfig(
'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel')
self.config.setFormatter('WMCore.WebTools.RESTFormatter')
self.config.setupRequestConfig()
self.config.setupCouchDatabase(dbName = self.couchDBName)
self.config.setPort(8888)
self.schemaModules = ["WMCore.RequestManager.RequestDB"]
def tearDown(self):
"""
_tearDown_
Basic tear down of database
"""
RESTBaseUnitTest.tearDown(self)
self.testInit.tearDownCouch()
def loadWorkload(self, requestName):
"""
_loadWorkload_
Load the workload from couch after we've saved it there.
"""
workload = WMWorkloadHelper()
url = '%s/%s/%s/spec' % (os.environ['COUCHURL'], self.couchDBName,
requestName)
workload.load(url)
return workload
def changeStatusAndCheck(self, requestName, statusName):
"""
_changeStatusAndCheck_
Change the status of a request and make sure that
the request actually did it.
"""
self.jsonSender.put('request/%s?status=%s' % (requestName, statusName))
result = self.jsonSender.get('request/%s' % requestName)
self.assertEqual(result[0]['RequestStatus'], statusName)
def testA_RequestPriority(self):
"""
_priorityChanges_
Do some fairly standard priority changes to the Request and
see how things react
"""
userName = 'Taizong'
groupName = 'Li'
teamName = 'Tang'
schema = utils.getAndSetupSchema(self,
userName = userName,
groupName = groupName,
teamName = teamName)
result = self.jsonSender.put('request/testRequest', schema)
self.assertEqual(result[1], 200)
requestName = result[0]['RequestName']
workload = self.loadWorkload(requestName = requestName)
self.assertEqual(workload.priority(), 0)
# Set priority == 5
priority = 5
self.jsonSender.put('request/%s?priority=%s' % (requestName, priority))
request = self.jsonSender.get('request/%s' % requestName)[0]
self.assertEqual(request['RequestPriority'], priority)
workload = self.loadWorkload(requestName = requestName)
self.assertEqual(workload.priority(), priority)
# Set priority == 100
#.........这里部分代码省略.........
示例6: ReqMgrWorkloadTest
# 需要导入模块: from WMCore_t.RequestManager_t.ReqMgr_t import RequestManagerConfig [as 别名]
# 或者: from WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig import setupCouchDatabase [as 别名]
class ReqMgrWorkloadTest(RESTBaseUnitTest):
"""
Test that sets up and checks the validations of the various main WMSpec.StdSpecs
This is mostly a simple set of tests which can be very repetitive.
"""
def setUp(self):
"""
setUP global values
Database setUp is done in base class
"""
self.couchDBName = "reqmgr_t_0"
RESTBaseUnitTest.setUp(self)
self.testInit.setupCouch("%s" % self.couchDBName, "ConfigCache", "ReqMgr")
self.testInit.setupCouch("%s_wmstats" % self.couchDBName, "WMStats")
reqMgrHost = self.config.getServerUrl()
self.jsonSender = JSONRequests(reqMgrHost)
def initialize(self):
self.config = RequestManagerConfig(
'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel')
self.config.setFormatter('WMCore.WebTools.RESTFormatter')
self.config.setupRequestConfig()
self.config.setupCouchDatabase(dbName = self.couchDBName)
self.config.setPort(12888)
self.schemaModules = ["WMCore.RequestManager.RequestDB"]
def tearDown(self):
"""
_tearDown_
Basic tear down of database
"""
RESTBaseUnitTest.tearDown(self)
self.testInit.tearDownCouch()
def createConfig(self, bad = False):
"""
_createConfig_
Create a config of some sort that we can load out of ConfigCache
"""
PSetTweak = {'process': {'outputModules_': ['ThisIsAName'],
'ThisIsAName': {'dataset': {'dataTier': 'RECO',
'filterName': 'Filter'}}}}
BadTweak = {'process': {'outputModules_': ['ThisIsAName1', 'ThisIsAName2'],
'ThisIsAName1': {'dataset': {'dataTier': 'RECO',
'filterName': 'Filter'}},
'ThisIsAName2': {'dataset': {'dataTier': 'RECO',
'filterName': 'Filter'}}}}
configCache = ConfigCache(os.environ["COUCHURL"], couchDBName = self.couchDBName)
configCache.createUserGroup(groupname = "testGroup", username = 'testOps')
if bad:
configCache.setPSetTweaks(PSetTweak = BadTweak)
else:
configCache.setPSetTweaks(PSetTweak = PSetTweak)
configCache.save()
return configCache.getCouchID()
def loadWorkload(self, requestName):
"""
_loadWorkload_
Load the workload from couch after we've saved it there.
"""
workload = WMWorkloadHelper()
url = '%s/%s/%s/spec' % (os.environ['COUCHURL'], self.couchDBName,
requestName)
workload.load(url)
return workload
@attr('integration')
def testA_makeReRecoWorkload(self):
"""
_makeReRecoWorkload_
Check that you can make a basic ReReco workload
"""
userName = 'Taizong'
groupName = 'Li'
teamName = 'Tang'
schema = utils.getAndSetupSchema(self,
userName = userName,
groupName = groupName,
teamName = teamName)
del schema['GlobalTag']
raises = False
try:
self.jsonSender.put('request/testRequest', schema)
#.........这里部分代码省略.........
示例7: ReqMgrWorkloadTest
# 需要导入模块: from WMCore_t.RequestManager_t.ReqMgr_t import RequestManagerConfig [as 别名]
# 或者: from WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig import setupCouchDatabase [as 别名]
class ReqMgrWorkloadTest(RESTBaseUnitTest):
"""
Test that sets up and checks the validations of the various main WMSpec.StdSpecs
This is mostly a simple set of tests which can be very repetitive.
"""
def setUp(self):
"""
setUP global values
Database setUp is done in base class
"""
self.couchDBName = "reqmgr_t_0"
RESTBaseUnitTest.setUp(self)
self.testInit.setupCouch("%s" % self.couchDBName, "ConfigCache", "ReqMgr")
self.testInit.setupCouch("%s_wmstats" % self.couchDBName, "WMStats")
reqMgrHost = self.config.getServerUrl()
self.jsonSender = JSONRequests(reqMgrHost)
def initialize(self):
self.config = RequestManagerConfig(
'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel')
self.config.setFormatter('WMCore.WebTools.RESTFormatter')
self.config.setupRequestConfig()
self.config.setupCouchDatabase(dbName = self.couchDBName)
self.config.setPort(12888)
self.schemaModules = ["WMCore.RequestManager.RequestDB"]
def tearDown(self):
"""
_tearDown_
Basic tear down of database
"""
RESTBaseUnitTest.tearDown(self)
self.testInit.tearDownCouch()
def createConfig(self, bad = False):
"""
_createConfig_
Create a config of some sort that we can load out of ConfigCache
"""
PSetTweak = {'process': {'outputModules_': ['ThisIsAName'],
'ThisIsAName': {'dataset': {'dataTier': 'RECO',
'filterName': 'Filter'}}}}
BadTweak = {'process': {'outputModules_': ['ThisIsAName1', 'ThisIsAName2'],
'ThisIsAName1': {'dataset': {'dataTier': 'RECO',
'filterName': 'Filter'}},
'ThisIsAName2': {'dataset': {'dataTier': 'RECO',
'filterName': 'Filter'}}}}
configCache = ConfigCache(os.environ["COUCHURL"], couchDBName = self.couchDBName)
configCache.createUserGroup(groupname = "testGroup", username = 'testOps')
if bad:
configCache.setPSetTweaks(PSetTweak = BadTweak)
else:
configCache.setPSetTweaks(PSetTweak = PSetTweak)
configCache.save()
return configCache.getCouchID()
def loadWorkload(self, requestName):
"""
_loadWorkload_
Load the workload from couch after we've saved it there.
"""
workload = WMWorkloadHelper()
url = '%s/%s/%s/spec' % (os.environ['COUCHURL'], self.couchDBName,
requestName)
workload.load(url)
return workload
@attr('integration')
def testA_makeReRecoWorkload(self):
"""
_makeReRecoWorkload_
Check that you can make a basic ReReco workload
"""
userName = 'Taizong'
groupName = 'Li'
teamName = 'Tang'
schema = utils.getAndSetupSchema(self,
userName = userName,
groupName = groupName,
teamName = teamName)
del schema['GlobalTag']
configID = self.createConfig(bad = False)
schema['ConfigCacheID'] = configID
schema["CouchDBName"] = self.couchDBName
#.........这里部分代码省略.........
示例8: AssignTest
# 需要导入模块: from WMCore_t.RequestManager_t.ReqMgr_t import RequestManagerConfig [as 别名]
# 或者: from WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig import setupCouchDatabase [as 别名]
class AssignTest(RESTBaseUnitTest):
"""
_AssignTest_
"""
def setUp(self):
"""
setUP global values
Database setUp is done in base class
"""
self.couchDBName = "reqmgr_t_0"
RESTBaseUnitTest.setUp(self, initRoot = False)
self.testInit.setupCouch("%s" % self.couchDBName,
"GroupUser", "ConfigCache")
reqMgrHost = self.config.getServerUrl()
self.jsonSender = JSONRequests(reqMgrHost)
return
def initialize(self):
self.config = RequestManagerConfig(
'WMCore.HTTPFrontEnd.RequestManager.Assign')
self.config.setFormatter('WMCore.WebTools.RESTFormatter')
self.config.setupRequestConfig()
self.config.setupCouchDatabase(dbName = self.couchDBName)
self.config.setPort(12888)
self.schemaModules = ["WMCore.RequestManager.RequestDB"]
return
def tearDown(self):
"""
_tearDown_
Basic tear down of database
"""
RESTBaseUnitTest.tearDown(self)
self.testInit.tearDownCouch()
return
def setupSchema(self, groupName = 'PeopleLikeMe',
userName = 'me', teamName = 'White Sox',
CMSSWVersion = 'CMSSW_3_5_8'):
"""
_setupSchema_
Set up a test schema so that we can run a test request.
Standardization!
"""
self.jsonSender.put('user/%[email protected]' % userName)
self.jsonSender.put('group/%s' % groupName)
self.jsonSender.put('group/%s/%s' % (groupName, userName))
self.jsonSender.put(urllib.quote('team/%s' % teamName))
self.jsonSender.put('version/%s' % CMSSWVersion)
schema = ReReco.getTestArguments()
schema['RequestName'] = 'TestReReco'
schema['RequestType'] = 'ReReco'
schema['CmsPath'] = "/uscmst1/prod/sw/cms"
schema['Requestor'] = '%s' % userName
schema['Group'] = '%s' % groupName
return schema
def loadWorkload(self, requestName):
"""
_loadWorkload_
Load the workload from couch after we've saved it there.
"""
workload = WMWorkloadHelper()
url = '%s/%s/%s/spec' % (os.environ['COUCHURL'], self.couchDBName,
requestName)
workload.load(url)
return workload
def testA_SiteWhitelist(self):
"""
_SiteWhitelist_
Test to see if we can get the siteWhitelist to work properly.
"""
secconfig = getattr(self.config, "SecurityModule")
cherrypy.server.environment = 'test'
cherrypy.tools.secmodv2 = NullAuth(secconfig)
self.config.UnitTests.views.active.rest.templates = 'templateDir'
self.config.UnitTests.views.active.rest.yuiroot = 'yuiroot'
self.config.UnitTests.views.active.rest.wildcardKeys = {'T1*': 'T1_*',
'T2*': 'T2_*',
'T3*': 'T3_*',
'US*': '_US_'}
from WMCore.HTTPFrontEnd.RequestManager.Assign import Assign
assign = Assign(config = self.config.UnitTests.views.active.rest, noSiteDB = True)
#.........这里部分代码省略.........
示例9: ReqMgrPriorityTest
# 需要导入模块: from WMCore_t.RequestManager_t.ReqMgr_t import RequestManagerConfig [as 别名]
# 或者: from WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig import setupCouchDatabase [as 别名]
class ReqMgrPriorityTest(RESTBaseUnitTest):
"""
Basic test for setting the priority in ReqMgr Services
"""
def setUp(self):
"""
setUP global values
Database setUp is done in base class
"""
self.couchDBName = "reqmgr_t_0"
RESTBaseUnitTest.setUp(self)
self.testInit.setupCouch("%s" % self.couchDBName, "ConfigCache", "ReqMgr")
self.testInit.setupCouch("%s_wmstats" % self.couchDBName, "WMStats")
self.testInit.setupCouch("%s_acdc" % self.couchDBName, "ACDC")
reqMgrHost = self.config.getServerUrl()
self.jsonSender = JSONRequests(reqMgrHost)
def initialize(self):
self.config = RequestManagerConfig("WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel")
self.config.setFormatter("WMCore.WebTools.RESTFormatter")
self.config.setupRequestConfig()
self.config.setupCouchDatabase(dbName=self.couchDBName)
self.config.setPort(8888)
self.schemaModules = ["WMCore.RequestManager.RequestDB"]
def tearDown(self):
"""
_tearDown_
Basic tear down of database
"""
RESTBaseUnitTest.tearDown(self)
self.testInit.tearDownCouch()
def loadWorkload(self, requestName):
"""
_loadWorkload_
Load the workload from couch after we've saved it there.
"""
workload = WMWorkloadHelper()
url = "%s/%s/%s/spec" % (os.environ["COUCHURL"], self.couchDBName, requestName)
workload.load(url)
return workload
def createConfig(self, bad=False):
"""
_createConfig_
Create a config of some sort that we can load out of ConfigCache
"""
PSetTweak = {
"process": {
"outputModules_": ["ThisIsAName"],
"ThisIsAName": {"dataset": {"dataTier": "RECO", "filterName": "Filter"}},
}
}
BadTweak = {
"process": {
"outputModules_": ["ThisIsAName1", "ThisIsAName2"],
"ThisIsAName1": {"dataset": {"dataTier": "RECO", "filterName": "Filter"}},
"ThisIsAName2": {"dataset": {"dataTier": "RECO", "filterName": "Filter"}},
}
}
configCache = ConfigCache(os.environ["COUCHURL"], couchDBName=self.couchDBName)
configCache.createUserGroup(groupname="testGroup", username="testOps")
if bad:
configCache.setPSetTweaks(PSetTweak=BadTweak)
else:
configCache.setPSetTweaks(PSetTweak=PSetTweak)
configCache.save()
return configCache.getCouchID()
def changeStatusAndCheck(self, requestName, statusName):
"""
_changeStatusAndCheck_
Change the status of a request and make sure that
the request actually did it.
"""
self.jsonSender.put("request/%s?status=%s" % (requestName, statusName))
result = self.jsonSender.get("request/%s" % requestName)
self.assertEqual(result[0]["RequestStatus"], statusName)
def testA_RequestPriority(self):
"""
_priorityChanges_
Do some fairly standard priority changes to the Request and
see how things react
"""
userName = "Taizong"
#.........这里部分代码省略.........
示例10: AssignTest
# 需要导入模块: from WMCore_t.RequestManager_t.ReqMgr_t import RequestManagerConfig [as 别名]
# 或者: from WMCore_t.RequestManager_t.ReqMgr_t.RequestManagerConfig import setupCouchDatabase [as 别名]
class AssignTest(RESTBaseUnitTest):
def setUp(self):
"""
setUP global values
Database setUp is done in base class
"""
self.couchDBName = "reqmgr_t_0"
RESTBaseUnitTest.setUp(self, initRoot = False)
self.testInit.setupCouch("%s" % self.couchDBName, "ConfigCache", "ReqMgr")
reqMgrHost = self.config.getServerUrl()
self.jsonSender = JSONRequests(reqMgrHost)
def initialize(self):
self.config = RequestManagerConfig(
'WMCore.HTTPFrontEnd.RequestManager.Assign')
self.config.setFormatter('WMCore.WebTools.RESTFormatter')
self.config.setupRequestConfig()
self.config.setupCouchDatabase(dbName = self.couchDBName)
self.config.setPort(12888)
self.schemaModules = ["WMCore.RequestManager.RequestDB"]
def tearDown(self):
"""
_tearDown_
Basic tear down of database
"""
RESTBaseUnitTest.tearDown(self)
self.testInit.tearDownCouch()
def loadWorkload(self, requestName):
"""
_loadWorkload_
Load the workload from couch after we've saved it there.
"""
workload = WMWorkloadHelper()
url = '%s/%s/%s/spec' % (os.environ['COUCHURL'], self.couchDBName,
requestName)
workload.load(url)
return workload
def testA_SiteWhitelist(self):
"""
_SiteWhitelist_
Test to see if we can get the siteWhitelist to work properly.
"""
secconfig = getattr(self.config, "SecurityModule")
cherrypy.server.environment = 'test'
cherrypy.tools.secmodv2 = NullAuth(secconfig)
self.config.UnitTests.views.active.rest.templates = 'templateDir'
self.config.UnitTests.views.active.rest.yuiroot = 'yuiroot'
self.config.UnitTests.views.active.rest.wildcardKeys = {'T1*': 'T1_*',
'T2*': 'T2_*',
'T3*': 'T3_*',
'US*': '_US_'}
from WMCore.HTTPFrontEnd.RequestManager.Assign import Assign
assign = Assign(config = self.config.UnitTests.views.active.rest, noSiteDB = True)
siteList = ['T1_US_FNAL', 'T1_CH_CERN', 'T1_UK_RAL', 'T2_US_UCSD', 'T2_US_UNL', 'T2_US_CIT']
self.assertEqual(assign.sites, [])
assign.sites.extend(siteList)
Utilities.addSiteWildcards(assign.wildcardKeys,assign.sites,assign.wildcardSites)
for s in siteList:
self.assertTrue(s in assign.sites)
self.assertTrue('T1*' in assign.sites)
self.assertTrue('T2*' in assign.sites)
self.assertFalse('T3*' in assign.sites)
self.assertTrue('US*' in assign.sites)
self.assertEqual(assign.wildcardSites['T1*'], ['T1_US_FNAL', 'T1_CH_CERN', 'T1_UK_RAL'])
self.assertEqual(assign.wildcardSites['T2*'], ['T2_US_UCSD', 'T2_US_UNL', 'T2_US_CIT'])
self.assertEqual(assign.wildcardSites['US*'], ['T1_US_FNAL', 'T2_US_UCSD', 'T2_US_UNL', 'T2_US_CIT'])