Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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())
Ejemplo n.º 4
0
  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())
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
  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)
Ejemplo n.º 9
0
 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