示例#1
0
def test_PilotsDB():

  pilots = PilotManagerClient()

  res = pilots.addPilotTQReference(['aPilot'], 1, '/a/ownerDN', 'a/owner/Group')
  assert res['OK'] is True, res['Message']
  res = pilots.getCurrentPilotCounters({})
  assert res['OK'] is True, res['Message']
  assert res['Value'] == {'Submitted': 1}, res['Value']
  res = pilots.deletePilots('aPilot')
  assert res['OK'] is True, res['Message']
  res = pilots.getCurrentPilotCounters({})
  assert res['OK'] is True, res['Message']
  assert res['Value'] == {}, res['Value']

  res = pilots.addPilotTQReference(['anotherPilot'], 1, '/a/ownerDN', 'a/owner/Group')
  assert res['OK'] is True, res['Message']
  res = pilots.storePilotOutput('anotherPilot', 'This is an output', 'this is an error')
  assert res['OK'] is True, res['Message']
  res = pilots.getPilotOutput('anotherPilot')
  assert res['OK'] is True, res['Message']
  assert res['Value'] == {'OwnerDN': '/a/ownerDN',
                                     'OwnerGroup': 'a/owner/Group',
                                     'StdErr': 'this is an error',
                                     'FileList': [],
                                     'StdOut': 'This is an output'}
  res = pilots.getPilotInfo('anotherPilot')
  assert res['OK'] is True, res['Message']
  assert res['Value']['anotherPilot']['AccountingSent'] == 'False', res['Value']
  assert res['Value']['anotherPilot']['PilotJobReference'] == 'anotherPilot', res['Value']

  res = pilots.selectPilots({})
  assert res['OK'] is True, res['Message']
  res = pilots.getPilotSummary('', '')
  assert res['OK'] is True, res['Message']
  assert res['Value']['Total']['Submitted'] == 1
  res = pilots.getPilotMonitorWeb({}, [], 0, 100)
  assert res['OK'] is True, res['Message']
  assert res['Value']['TotalRecords'] == 1
  res = pilots.getPilotMonitorSelectors()
  assert res['OK'] is True, res['Message']
  assert res['Value'] == {'GridType': ['DIRAC'],
                          'OwnerGroup': ['a/owner/Group'],
                          'DestinationSite': ['NotAssigned'],
                          'Broker': ['Unknown'], 'Status': ['Submitted'],
                          'OwnerDN': ['/a/ownerDN'],
                          'GridSite': ['Unknown'],
                          'Owner': []}, res['Value']
  res = pilots.getPilotSummaryWeb({}, [], 0, 100)
  assert res['OK'] is True, res['Message']
  assert res['Value']['TotalRecords'] == 1, res['Value']

  res = pilots.setAccountingFlag('anotherPilot', 'True')
  assert res['OK'] is True, res['Message']
  res = pilots.setPilotStatus('anotherPilot', 'Running')
  assert res['OK'] is True, res['Message']
  res = pilots.getPilotInfo('anotherPilot')
  assert res['OK'] is True, res['Message']
  assert res['Value']['anotherPilot']['AccountingSent'] == 'True', res['Value']
  assert res['Value']['anotherPilot']['Status'] == 'Running', res['Value']

  res = pilots.setJobForPilot(123, 'anotherPilot')
  assert res['OK'] is True, res['Message']
  res = pilots.setPilotBenchmark('anotherPilot', 12.3)
  assert res['OK'] is True, res['Message']
  res = pilots.countPilots({})
  assert res['OK'] is True, res['Message']
#     res = pilots.getCounters()
#     # getPilotStatistics

  res = pilots.deletePilots('anotherPilot')
  assert res['OK'] is True, res['Message']
  res = pilots.getCurrentPilotCounters({})
  assert res['OK'] is True, res['Message']
  assert res['Value'] == {}, res['Value']
示例#2
0
def test_PilotsDB():

    pilots = PilotManagerClient()

    # This will allow you to run the test again if necessary
    for jobID in ["aPilot", "anotherPilot"]:
        pilots.deletePilots(jobID)

    res = pilots.addPilotTQReference(["aPilot"], 1, "/a/ownerDN", "a/owner/Group")
    assert res["OK"], res["Message"]
    res = pilots.getCurrentPilotCounters({})
    assert res["OK"], res["Message"]
    assert res["Value"] == {"Submitted": 1}
    res = pilots.deletePilots("aPilot")
    assert res["OK"], res["Message"]
    res = pilots.getCurrentPilotCounters({})
    assert res["OK"], res["Message"]
    assert res["Value"] == {}

    res = pilots.addPilotTQReference(["anotherPilot"], 1, "/a/ownerDN", "a/owner/Group")
    assert res["OK"], res["Message"]
    res = pilots.storePilotOutput("anotherPilot", "This is an output", "this is an error")
    assert res["OK"], res["Message"]
    res = pilots.getPilotOutput("anotherPilot")
    assert res["OK"], res["Message"]
    assert res["Value"] == {
        "OwnerDN": "/a/ownerDN",
        "OwnerGroup": "a/owner/Group",
        "StdErr": "this is an error",
        "FileList": [],
        "StdOut": "This is an output",
    }
    res = pilots.getPilotInfo("anotherPilot")
    assert res["OK"], res["Message"]
    assert res["Value"]["anotherPilot"]["AccountingSent"] == "False"
    assert res["Value"]["anotherPilot"]["PilotJobReference"] == "anotherPilot"

    res = pilots.selectPilots({})
    assert res["OK"], res["Message"]
    res = pilots.getPilotSummary("", "")
    assert res["OK"], res["Message"]
    assert res["Value"]["Total"]["Submitted"] == 1
    res = pilots.getPilotMonitorWeb({}, [], 0, 100)
    assert res["OK"], res["Message"]
    assert res["Value"]["TotalRecords"] == 1
    res = pilots.getPilotMonitorSelectors()
    assert res["OK"], res["Message"]
    assert res["Value"] == {
        "GridType": ["DIRAC"],
        "OwnerGroup": ["a/owner/Group"],
        "DestinationSite": ["NotAssigned"],
        "Broker": ["Unknown"],
        "Status": ["Submitted"],
        "OwnerDN": ["/a/ownerDN"],
        "GridSite": ["Unknown"],
        "Owner": [],
    }
    res = pilots.getPilotSummaryWeb({}, [], 0, 100)
    assert res["OK"], res["Message"]
    assert res["Value"]["TotalRecords"] == 1

    res = pilots.setAccountingFlag("anotherPilot", "True")
    assert res["OK"], res["Message"]
    res = pilots.setPilotStatus("anotherPilot", "Running")
    assert res["OK"], res["Message"]
    res = pilots.getPilotInfo("anotherPilot")
    assert res["OK"], res["Message"]
    assert res["Value"]["anotherPilot"]["AccountingSent"] == "True"
    assert res["Value"]["anotherPilot"]["Status"] == "Running"

    res = pilots.setJobForPilot(123, "anotherPilot")
    assert res["OK"], res["Message"]
    res = pilots.setPilotBenchmark("anotherPilot", 12.3)
    assert res["OK"], res["Message"]
    res = pilots.countPilots({})
    assert res["OK"], res["Message"]
    #     res = pilots.getCounters()
    #     # getPilotStatistics

    res = pilots.deletePilots("anotherPilot")
    assert res["OK"], res["Message"]
    res = pilots.getCurrentPilotCounters({})
    assert res["OK"], res["Message"]
    assert res["Value"] == {}