Changeset 61220 in vbox for trunk/src/VBox/ValidationKit/testmanager/core/testgroup.py
- Timestamp:
- May 27, 2016 1:16:02 AM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 107509
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/testmanager/core/testgroup.py
r56295 r61220 34 34 35 35 # Validation Kit imports. 36 from testmanager.core.base import ModelDataBase, ModelDataBaseTestCase, ModelLogicBase, TMExceptionBase 36 from testmanager.core.base import ModelDataBase, ModelDataBaseTestCase, ModelLogicBase, TMRowInUse, \ 37 TMTooManyRows, TMInvalidData, TMRowNotFound, TMRowAlreadyExists; 37 38 from testmanager.core.testcase import TestCaseData, TestCaseDataEx; 38 39 … … 75 76 """ 76 77 if aoRow is None: 77 raise TM ExceptionBase('Test group member not found.')78 raise TMRowNotFound('Test group member not found.') 78 79 79 80 self.idTestGroup = aoRow[0]; … … 144 145 return asAttributes; 145 146 146 def _validateAndConvertWorker(self, asAllowNullAttributes, oDb ):147 dErrors = TestGroupMemberData._validateAndConvertWorker(self, asAllowNullAttributes, oDb );147 def _validateAndConvertWorker(self, asAllowNullAttributes, oDb, enmValidateFor = ModelDataBase.ksValidateFor_Other): 148 dErrors = TestGroupMemberData._validateAndConvertWorker(self, asAllowNullAttributes, oDb, enmValidateFor); 148 149 if self.ksParam_idTestCase not in dErrors: 149 150 self.oTestCase = TestCaseDataEx() … … 230 231 """ 231 232 if aoRow is None: 232 raise TM ExceptionBase('Test group not found.')233 raise TMRowNotFound('Test group not found.') 233 234 234 235 self.idTestGroup = aoRow[0] … … 251 252 aoRow = oDb.fetchOne() 252 253 if aoRow is None: 253 raise TM ExceptionBase('idTestGroup=%s not found (tsNow=%s sPeriodBack=%s)' % (idTestGroup, tsNow, sPeriodBack,));254 raise TMRowNotFound('idTestGroup=%s not found (tsNow=%s sPeriodBack=%s)' % (idTestGroup, tsNow, sPeriodBack,)); 254 255 return self.initFromDbRow(aoRow); 255 256 … … 355 356 aoNewMembers.append(oNewMember); 356 357 357 dErrors = oNewMember.validateAndConvert(oDb );358 dErrors = oNewMember.validateAndConvert(oDb, ModelDataBase.ksValidateFor_Other); 358 359 if len(dErrors) > 0: 359 360 asErrors.append(str(dErrors)); 360 361 361 362 if len(asErrors) == 0: 362 for i in range(len(aoNewMembers)):363 for i, _ in enumerate(aoNewMembers): 363 364 idTestCase = aoNewMembers[i]; 364 365 for j in range(i + 1, len(aoNewMembers)): … … 416 417 # 417 418 assert isinstance(oData, TestGroupDataEx); 418 dErrors = oData.validateAndConvert(self._oDb );419 dErrors = oData.validateAndConvert(self._oDb, oData.ksValidateFor_Add); 419 420 if len(dErrors) > 0: 420 raise TM ExceptionBase('addEntry invalid input: %s' % (dErrors,));421 raise TMInvalidData('addEntry invalid input: %s' % (dErrors,)); 421 422 self._assertUniq(oData, None); 422 423 … … 449 450 # 450 451 assert isinstance(oData, TestGroupDataEx); 451 dErrors = oData.validateAndConvert(self._oDb );452 dErrors = oData.validateAndConvert(self._oDb, oData.ksValidateFor_Edit); 452 453 if len(dErrors) > 0: 453 raise TM ExceptionBase('editEntry invalid input: %s' % (dErrors,));454 raise TMInvalidData('editEntry invalid input: %s' % (dErrors,)); 454 455 self._assertUniq(oData, oData.idTestGroup); 455 456 … … 481 482 oNewMember.idTestGroup = oData.idTestGroup; 482 483 if oNewMember.idTestCase in dNew: 483 raise TM ExceptionBase('Duplicate test group member: idTestCase=%d (%s / %s)'484 % (oNewMember.idTestCase, oNewMember, dNew[oNewMember.idTestCase],));484 raise TMRowAlreadyExists('Duplicate test group member: idTestCase=%d (%s / %s)' 485 % (oNewMember.idTestCase, oNewMember, dNew[oNewMember.idTestCase],)); 485 486 dNew[oNewMember.idTestCase] = oNewMember; 486 487 … … 525 526 if len(aoGroups) > 0: 526 527 asGroups = ['%s (#%d)' % (sName, idSchedGroup) for idSchedGroup, sName in aoGroups]; 527 raise TM ExceptionBase('Test group #%d is member of one oremore scheduling groups: %s'528 528 raise TMRowInUse('Test group #%d is member of one or more scheduling groups: %s' 529 % (idTestGroup, ', '.join(asGroups),)); 529 530 else: 530 531 self._oDb.execute('UPDATE SchedGroupMembers\n' … … 645 646 aRows = self._oDb.fetchAll() 646 647 if len(aRows) not in (0, 1): 647 raise TM ExceptionBase('Found more than one test groups with the same credentials. Database structure is corrupted.')648 raise TMTooManyRows('Found more than one test groups with the same credentials. Database structure is corrupted.') 648 649 try: 649 650 return TestGroupData().initFromDbRow(aRows[0]) … … 664 665 , ( oData.sName, )) 665 666 if self._oDb.getRowCount() > 0: 666 raise TM ExceptionBase('A Test group with name "%s" already exist.' % (oData.sName,));667 raise TMRowAlreadyExists('A Test group with name "%s" already exist.' % (oData.sName,)); 667 668 return True; 668 669
Note:
See TracChangeset
for help on using the changeset viewer.