def parameters(self): parameters = UseCaseParameters(self.theName, self.theAuthor, self.theCode, self.theActors, self.theDescription, self.theTags, self.theEnvironmentProperties) parameters.setId(self.theUseCaseId) return parameters
def update_usecase(self, usecase, name): usecase_params = UseCaseParameters( ucName=usecase.name(), ucAuth=usecase.author(), ucCode=usecase.code(), ucActors=usecase.actors(), ucDesc=usecase.description(), tags=usecase.tags(), cProps=usecase.environmentProperties()) try: ucId = self.db_proxy.getDimensionId(name, 'usecase') if (self.db_proxy.exceptionRootObstacles(ucId) > 0): raise CairisHTTPError( status_code=http.client.BAD_REQUEST, status="Exception has root obstacles", message= "Cannot update use case while use case exception obstacles are connected to other obstacles, goals, requirements, or domain properties." ) usecase_params.setId(ucId) self.db_proxy.updateUseCase(usecase_params) except DatabaseProxyException as ex: self.close() raise ARMHTTPError(ex) except ARMException as ex: self.close() raise ARMHTTPError(ex)
def testUseCase(self): ucName = self.iUseCases[0]["theName"] ucAuthor = self.iUseCases[0]["theAuthor"] ucCode = self.iUseCases[0]["theCode"] ucDesc = self.iUseCases[0]["theDescription"] ucActor = self.iUseCases[0]["theActor"] ucEnv = self.iUseCases[0]["theEnvironments"][0] ucEnvName = ucEnv["theName"] ucPre = ucEnv["thePreconditions"] ucPost = ucEnv["thePostconditions"] ss = Steps() for ucStep in ucEnv["theFlow"]: ss.append(Step(ucStep["theDescription"])) ucep = UseCaseEnvironmentProperties(ucEnvName, ucPre, ss, ucPost) iuc = UseCaseParameters(ucName, ucAuthor, ucCode, [ucActor], ucDesc, [], [ucep]) b = Borg() b.dbProxy.addUseCase(iuc) theUseCases = b.dbProxy.getUseCases() ouc = theUseCases[self.iUseCases[0]["theName"]] self.assertEqual(iuc.name(), ouc.name()) self.assertEqual(iuc.tags(), ouc.tags()) self.assertEqual(iuc.author(), ouc.author()) self.assertEqual(iuc.code(), ouc.code()) self.assertEqual(iuc.actors(), ouc.actors()) self.assertEqual(iuc.description(), ouc.description()) self.assertEqual(iuc.author(), ouc.author()) self.assertEqual(iuc.environmentProperties()[0].preconditions(), ouc.environmentProperties()[0].preconditions()) self.assertEqual(iuc.environmentProperties()[0].postconditions(), ouc.environmentProperties()[0].postconditions()) iuc.theName = 'Updated name' iuc.setId(ouc.id()) b.dbProxy.updateUseCase(iuc) theUseCases = b.dbProxy.getUseCases() ouc = theUseCases['Updated name'] self.assertEqual(iuc.name(), ouc.name()) self.assertEqual(iuc.tags(), ouc.tags()) self.assertEqual(iuc.author(), ouc.author()) self.assertEqual(iuc.code(), ouc.code()) self.assertEqual(iuc.actors(), ouc.actors()) self.assertEqual(iuc.description(), ouc.description()) self.assertEqual(iuc.author(), ouc.author()) self.assertEqual(iuc.environmentProperties()[0].preconditions(), ouc.environmentProperties()[0].preconditions()) self.assertEqual(iuc.environmentProperties()[0].postconditions(), ouc.environmentProperties()[0].postconditions()) b.dbProxy.deleteUseCase(ouc.id())
def testUseCase(self): ucName = self.iUseCases[0]["theName"] ucAuthor = self.iUseCases[0]["theAuthor"] ucCode = self.iUseCases[0]["theCode"] ucDesc = self.iUseCases[0]["theDescription"] ucActor = self.iUseCases[0]["theActor"] ucEnv = self.iUseCases[0]["theEnvironments"][0] ucEnvName = ucEnv["theName"] ucPre = ucEnv["thePreconditions"] ucPost = ucEnv["thePostconditions"] ss = Steps() for ucStep in ucEnv["theFlow"]: ss.append(Step(ucStep["theDescription"])) ucep = UseCaseEnvironmentProperties(ucEnvName,ucPre,ss,ucPost) iuc = UseCaseParameters(ucName,ucAuthor,ucCode,[ucActor],ucDesc,[],[ucep]) b = Borg() b.dbProxy.addUseCase(iuc) theUseCases = b.dbProxy.getUseCases() ouc = theUseCases[self.iUseCases[0]["theName"]] self.assertEqual(iuc.name(),ouc.name()) self.assertEqual(iuc.tags(),ouc.tags()) self.assertEqual(iuc.author(),ouc.author()) self.assertEqual(iuc.code(),ouc.code()) self.assertEqual(iuc.actors(),ouc.actors()) self.assertEqual(iuc.description(),ouc.description()) self.assertEqual(iuc.author(),ouc.author()) self.assertEqual(iuc.environmentProperties()[0].preconditions(),ouc.environmentProperties()[0].preconditions()) self.assertEqual(iuc.environmentProperties()[0].postconditions(),ouc.environmentProperties()[0].postconditions()) iuc.theName = 'Updated name' iuc.setId(ouc.id()) b.dbProxy.updateUseCase(iuc) theUseCases = b.dbProxy.getUseCases() ouc = theUseCases['Updated name'] self.assertEqual(iuc.name(),ouc.name()) self.assertEqual(iuc.tags(),ouc.tags()) self.assertEqual(iuc.author(),ouc.author()) self.assertEqual(iuc.code(),ouc.code()) self.assertEqual(iuc.actors(),ouc.actors()) self.assertEqual(iuc.description(),ouc.description()) self.assertEqual(iuc.author(),ouc.author()) self.assertEqual(iuc.environmentProperties()[0].preconditions(),ouc.environmentProperties()[0].preconditions()) self.assertEqual(iuc.environmentProperties()[0].postconditions(),ouc.environmentProperties()[0].postconditions()) b.dbProxy.deleteUseCase(ouc.id())
def update_usecase(self, usecase, name): usecase_params = UseCaseParameters( ucName=usecase.name(), ucAuth=usecase.author(), ucCode=usecase.code(), ucActors=usecase.actors(), ucDesc=usecase.description(), tags=usecase.tags(), cProps=usecase.environmentProperties()) try: ucId = self.db_proxy.getDimensionId(name, 'usecase') usecase_params.setId(ucId) self.db_proxy.updateUseCase(usecase_params) except DatabaseProxyException as ex: self.close() raise ARMHTTPError(ex) except ARMException as ex: self.close() raise ARMHTTPError(ex)
def update_usecase(self, usecase, name): found_usecase = self.get_usecase_by_name(name, simplify=False) usecase_params = UseCaseParameters( ucName=usecase.name(), ucAuth=usecase.author(), ucCode=usecase.code(), ucActors=usecase.actors(), ucDesc=usecase.description(), tags=usecase.tags(), cProps=usecase.environmentProperties()) usecase_params.setId(found_usecase.id()) try: self.db_proxy.updateUseCase(usecase_params) except DatabaseProxyException as ex: self.close() raise ARMHTTPError(ex) except ARMException as ex: self.close() raise ARMHTTPError(ex)
def update_usecase(self, usecase, name): usecase_params = UseCaseParameters( ucName=usecase.name(), ucAuth=usecase.author(), ucCode=usecase.code(), ucActors=usecase.actors(), ucDesc=usecase.description(), tags=usecase.tags(), cProps=usecase.environmentProperties() ) try: ucId = self.db_proxy.getDimensionId(name,'usecase') usecase_params.setId(ucId) self.db_proxy.updateUseCase(usecase_params) except DatabaseProxyException as ex: self.close() raise ARMHTTPError(ex) except ARMException as ex: self.close() raise ARMHTTPError(ex)
def update_usecase(self, usecase, name): found_usecase = self.get_usecase_by_name(name, simplify=False) usecase_params = UseCaseParameters( ucName=usecase.name(), ucAuth=usecase.author(), ucCode=usecase.code(), ucActors=usecase.actors(), ucDesc=usecase.description(), tags=usecase.tags(), cProps=usecase.environmentProperties() ) usecase_params.setId(found_usecase.id()) try: self.db_proxy.updateUseCase(usecase_params) except DatabaseProxyException as ex: self.close() raise ARMHTTPError(ex) except ARMException as ex: self.close() raise ARMHTTPError(ex)
def parameters(self): parameters = UseCaseParameters(self.theName,self.theAuthor,self.theCode,self.theActors,self.theDescription,self.theTags,self.theEnvironmentProperties) parameters.setId(self.theUseCaseId) return parameters