def unclaimBuildRequests(self, brids): validation.verifyType( self.testcase, 'brids', brids, validation.ListValidator(validation.IntValidator())) self.claimedBuildRequests.difference_update(set(brids)) if brids: yield self.master.db.buildrequests.unclaimBuildRequests(brids)
def setBuildStateStrings(self, buildid, state_strings): validation.verifyType(self.testcase, 'buildid', buildid, validation.IntValidator()) validation.verifyType( self.testcase, 'state_strings', state_strings, validation.ListValidator(validation.StringValidator())) return defer.succeed(None)
def completeBuildRequests(self, brids, results, complete_at=None, _reactor=reactor): validation.verifyType(self.testcase, 'brids', brids, validation.ListValidator(validation.IntValidator())) validation.verifyType(self.testcase, 'results', results, validation.IntValidator()) validation.verifyType(self.testcase, 'complete_at', complete_at, validation.NoneOk(validation.DateTimeValidator())) return defer.succeed(True)
def setStepStateStrings(self, stepid, state_strings): validation.verifyType(self.testcase, 'stepid', stepid, validation.IntValidator()) validation.verifyType( self.testcase, 'state_strings', state_strings, validation.ListValidator(validation.StringValidator())) self.stepStateStrings[stepid] = state_strings return defer.succeed(None)
def test_ListValidator(self): self.doValidationTest(validation.ListValidator( validation.BooleanValidator()), good=[ [], [True], [False, True], ], bad=[None, ['a'], [True, 'a'], 1, "hi"])
def reclaimBuildRequests(self, brids, _reactor=reactor): validation.verifyType(self.testcase, 'brids', brids, validation.ListValidator(validation.IntValidator())) if not brids: defer.returnValue(True) return try: yield self.master.db.buildrequests.reclaimBuildRequests( brids=brids, _reactor=_reactor) except AlreadyClaimedError: defer.returnValue(False) self.claimedBuildRequests.update(set(brids)) defer.returnValue(True)
def claimBuildRequests(self, brids, claimed_at=None): validation.verifyType(self.testcase, 'brids', brids, validation.ListValidator(validation.IntValidator())) validation.verifyType(self.testcase, 'claimed_at', claimed_at, validation.NoneOk(validation.DateTimeValidator())) if not brids: return True try: yield self.master.db.buildrequests.claimBuildRequests( brids=brids, claimed_at=claimed_at) except AlreadyClaimedError: return False self.claimedBuildRequests.update(set(brids)) return True
def test_ListValidator_names(self): v = validation.ListValidator(validation.BooleanValidator()) self.assertEqual(list(v.validate('v', ['a'])), ["v[0] ('a') is not a boolean"])