示例#1
0
 def test_reversionarItem(self):
     # escenario
     idusuario = CtrlAdmUsr.insertarUsr("username", "password", "nombre", "apellido", "10101010", "1000")
     idtipoitem = CtrlAdmTipoItem.crearTipoItem("nombre", "descripcion")
     CtrlAdmTipoItem.agregarAtributo(idtipoitem, "nombre", "VARCHAR", "pordefecto")
     CtrlAdmRol.insertarPermiso("200", "nombre", "descripcion")
     idrol = CtrlAdmRol.insertarRol("nombre", "descripcion", [200])
     idproyecto = CtrlAdmProy.crearProy("nombre", "descripcion", 10000, "username")
     idfase = CtrlAdmProy.crearFase("nombre", "descripcion", idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol], idfase)
     CtrlAdmProy.asignarTiposAFase(idfase, [idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     item = CtrlFase.instanciarItem("", "desarrollo", idtipoitem, idfase)
     versionitem = CtrlFase.instanciarVersionItem(
         item.iditem, CtrlAdmUsr.getIdByUsername("username"), "", 0, 0, 0, 1, "actual"
     )
     CtrlFase.crearItem(item, versionitem, [])
     versionitem = CtrlFase.instanciarVersionItem(
         item.iditem, CtrlAdmUsr.getIdByUsername("username"), "modified", 0, 0, 0, 2, "no-actual"
     )
     CtrlFase.modificarItem(item.iditem, versionitem)
     # prueba
     rv = self.login("username", "password")
     rv = self.reversionarItem("Reversionar", 1)
     assert "Item reversionado" in rv.data
     drop_db()
     init_db()
示例#2
0
 def test_reversionarItem(self):
     #escenario
     idusuario=CtrlAdmUsr.insertarUsr('username',
                              'password',
                              'nombre',
                              'apellido',
                              '10101010',
                              '1000')
     idtipoitem=CtrlAdmTipoItem.crearTipoItem('nombre','descripcion')
     CtrlAdmTipoItem.agregarAtributo(idtipoitem,'nombre','VARCHAR','pordefecto')
     CtrlAdmRol.insertarPermiso('200','nombre','descripcion')
     idrol=CtrlAdmRol.insertarRol('nombre','descripcion',[200])
     idproyecto=CtrlAdmProy.crearProy('nombre','descripcion',10000,'username')
     idfase=CtrlAdmProy.crearFase('nombre','descripcion',idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol],idfase)
     CtrlAdmProy.asignarTiposAFase(idfase,[idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     item = CtrlFase.instanciarItem("","desarrollo",idtipoitem,idfase)
     versionitem = CtrlFase.instanciarVersionItem(item.iditem,
                                                 CtrlAdmUsr.getIdByUsername('username'),
                                                 "", 
                                                 0,
                                                 0,
                                                 0,
                                                 1,
                                                 'actual')
     CtrlFase.crearItem(item,versionitem,[])
     versionitem.descripcion=versionitem.descripcion+'-mod'
     idusuario=CtrlAdmUsr.getIdByUsername('username')
     CtrlFase.modificarItem(item.iditem,versionitem,idusuario)
     #prueba
     rv=self.login('username', 'password')
     rv=self.reversionarItem('Reversionar', 1)
     assert 'Item reversionado' in rv.data
示例#3
0
 def test_eliminarLineaBase(self):
     #crear escenario
     idusuario=CtrlAdmUsr.insertarUsr('username',
                              'password',
                              'nombre',
                              'apellido',
                              '10101010',
                              '1000')
     idtipoitem=CtrlAdmTipoItem.crearTipoItem('nombre','descripcion')
     CtrlAdmTipoItem.agregarAtributo(idtipoitem,'nombre','VARCHAR','pordefecto')
     CtrlAdmRol.insertarPermiso('200','nombre','descripcion')
     idrol=CtrlAdmRol.insertarRol('nombre','descripcion',[200])
     idproyecto=CtrlAdmProy.crearProy('nombre','descripcion',10000,'username')
     idfase=CtrlAdmProy.crearFase('nombre','descripcion',idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol],idfase)
     CtrlAdmProy.asignarTiposAFase(idfase,[idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     idlb=CtrlLineaBase.crearLB(idfase)
     idusuario=CtrlAdmUsr.insertarUsr('USERNAME',
                      'PASSWORD',
                      'NOMBRE',
                      'APELLIDO',
                      '10101010',
                      '1000')
     rv=self.login('USERNAME', 'PASSWORD')
     #prueba
     rv=self.eliminarLineaBase(opcion='Eliminar Linea Base',
                               fase= idfase,
                               idlineabase= idlb)
     assert 'Linea Base Eliminada' in rv.data
示例#4
0
 def test_importarItem(self):
     # escenario
     idusuario = CtrlAdmUsr.insertarUsr("username", "password", "nombre", "apellido", "10101010", "1000")
     idtipoitem = CtrlAdmTipoItem.crearTipoItem("nombre", "descripcion")
     CtrlAdmTipoItem.agregarAtributo(idtipoitem, "nombre", "VARCHAR", "pordefecto")
     CtrlAdmRol.insertarPermiso("200", "nombre", "descripcion")
     idrol = CtrlAdmRol.insertarRol("nombre", "descripcion", [200])
     idproyecto = CtrlAdmProy.crearProy("nombre", "descripcion", 10000, "username")
     idfase = CtrlAdmProy.crearFase("nombre", "descripcion", idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol], idfase)
     CtrlAdmProy.asignarTiposAFase(idfase, [idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     item = CtrlFase.instanciarItem("", "desarrollo", idtipoitem, idfase)
     versionitem = CtrlFase.instanciarVersionItem(
         item.iditem, CtrlAdmUsr.getIdByUsername("username"), "", 0, 0, 0, 1, "actual"
     )
     CtrlFase.crearItem(item, versionitem, [])
     idproyecto2 = CtrlAdmProy.crearProy("proyecto2", "descripcion", 100000, "username")
     idfase2 = CtrlAdmProy.crearFase("nombre2", "descripcion2", idproyecto2)
     CtrlAdmProy.asignarRolesFase([idrol], idfase2)
     CtrlAdmProy.asignarTiposAFase(idfase2, [idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto2)
     # prueba
     rv = self.login("username", "password")
     rv = self.app.post("/abrirProyecto", data=dict(opcion="Abrir", select=idproyecto2))
     rv = self.app.post("/proyectoX", data=dict(opcion="Crear", fase=idfase2))
     rv = self.app.post("/crearItem", data=dict(opcion="Importar"))
     rv = self.importarItem("Aceptar", item.iditem)
     assert "Item importado para crearse" in rv.data
示例#5
0
 def test_login(self):
     # creando escenario
     idusuario = CtrlAdmUsr.insertarUsr(
         "test2-username", "test2-password", "test2-nombre", "test2-apellido", "test2-telefono", "1000"
     )
     # prueba
     rv = self.login("test2-username", "test2-password")
     assert "Estas logueado" in rv.data
示例#6
0
 def test_crearProy(self):
     # crear escenario
     idusuario = CtrlAdmUsr.insertarUsr(
         "test8-username", "test8-password", "test8-nombre", "test8-apellido", "test8-telefono", "1000"
     )
     # prueba
     rv = self.login("test8-username", "test8-password")
     rv = self.crearProy("Crear", "test8-nombre", "test8-descripcion", "1000")
     assert "Proyecto creado" in rv.data
示例#7
0
 def test_eliminarLineaBase(self):
     # crear escenario
     idusuario = CtrlAdmUsr.insertarUsr("username", "password", "nombre", "apellido", "10101010", "1000")
     idtipoitem = CtrlAdmTipoItem.crearTipoItem("nombre", "descripcion")
     CtrlAdmTipoItem.agregarAtributo(idtipoitem, "nombre", "VARCHAR", "pordefecto")
     CtrlAdmRol.insertarPermiso("200", "nombre", "descripcion")
     idrol = CtrlAdmRol.insertarRol("nombre", "descripcion", [200])
     idproyecto = CtrlAdmProy.crearProy("nombre", "descripcion", 10000, "username")
     idfase = CtrlAdmProy.crearFase("nombre", "descripcion", idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol], idfase)
     CtrlAdmProy.asignarTiposAFase(idfase, [idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     idlb = CtrlLineaBase.crearLB(idfase)
     idusuario = CtrlAdmUsr.insertarUsr("USERNAME", "PASSWORD", "NOMBRE", "APELLIDO", "10101010", "1000")
     rv = self.login("USERNAME", "PASSWORD")
     # prueba
     rv = self.eliminarLineaBase(opcion="Eliminar Linea Base", fase=idfase, idlineabase=idlb)
     assert "Linea Base Eliminada" in rv.data
示例#8
0
 def test_asigRoles(self):
     # creando escenario
     idusuario = CtrlAdmUsr.insertarUsr(
         "test6-username", "test6-password", "test6-nombre", "test6-apellido", "test6-telefono", "1000"
     )
     idrol = CtrlAdmRol.insertarRol("test6-nombre", "test6-descripcion", ["200", "201", "202"])
     # pruebas
     rv = self.asigRoles("Aceptar", idusuario, [idrol])
     assert "Roles asignados al usuario" in rv.data
示例#9
0
 def test_crearTipoItem(self):
     # crear escenario
     idusuario = CtrlAdmUsr.insertarUsr(
         "test9-username", "test9-password", "test9-nombre", "test9-apellido", "test9-telefono", "1000"
     )
     idtipoitem = CtrlAdmTipoItem.crearTipoItem("test9-nombre", "test9-descripcion")
     # prueba
     rv = self.login("test9-username", "test9-password")
     rv = self.crearTipoItem("Crear", "test9-nombre", "test9-descripcion", idtipoitem)
     assert "Tipo de Item Creado" in rv.data
示例#10
0
 def test_importarProyecto(self):
     # crear escenario
     idusuario = CtrlAdmUsr.insertarUsr("username", "password", "nombre", "apellido", "10101010", "1000")
     idproyecto = CtrlAdmProy.crearProy("nombre", "descripcion", 10000, "username")
     rv = self.login("username", "password")
     # prueba
     rv = self.app.post("/admProy", data=dict(opcion="Importar", select=idproyecto))
     rv = self.importarProyecto(
         opcion="Aceptar", idproyecto=idproyecto, nombre="NOMBRE", descripcion="DESCRIP", presupuesto="1000"
     )
     assert "Proyecto importado" in rv.data
示例#11
0
 def test_login(self):
     #creando escenario
     idusuario=CtrlAdmUsr.insertarUsr('test2-username',
                                      'test2-password',
                                      'test2-nombre',
                                      'test2-apellido',
                                      'test2-telefono',
                                      '1000')
     #prueba
     rv = self.login('test2-username', 'test2-password')
     assert 'Estas logueado' in rv.data
示例#12
0
def crearProy (nombre,descripcion,presupuesto,liderusername):
    """Funcion que recibe como parametro los atributos ingresados por el usuario y id del usuario que crea el proyecto"""
    """Guarda en la Base de Datos y coloca el proyecto como no iniciado"""
    idproyectomax = getMayorIdProyecto()
    usuariolider = CtrlAdmUsr.getIdByUsername(liderusername)
    fechaactual = date.today()
    proy_nuevo = Proyecto(idproyectomax+1,nombre,descripcion,fechaactual,0,'no-iniciado',usuariolider,presupuesto)
    lider = session.query(Usuario).filter(Usuario.idusuario==usuariolider).first()
    proy_nuevo.comitecambios.append(lider)
    session.add(proy_nuevo)
    session.commit()
    return proy_nuevo.idproyecto
示例#13
0
 def test_importarItem(self):
     #escenario
     idusuario=CtrlAdmUsr.insertarUsr('username',
                              'password',
                              'nombre',
                              'apellido',
                              '10101010',
                              '1000')
     idtipoitem=CtrlAdmTipoItem.crearTipoItem('nombre','descripcion')
     CtrlAdmTipoItem.agregarAtributo(idtipoitem,'nombre','VARCHAR','pordefecto')
     CtrlAdmRol.insertarPermiso('200','nombre','descripcion')
     idrol=CtrlAdmRol.insertarRol('nombre','descripcion',[200])
     idproyecto=CtrlAdmProy.crearProy('nombre','descripcion',10000,'username')
     idfase=CtrlAdmProy.crearFase('nombre','descripcion',idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol],idfase)
     CtrlAdmProy.asignarTiposAFase(idfase,[idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     item = CtrlFase.instanciarItem("","desarrollo",idtipoitem,idfase)
     versionitem = CtrlFase.instanciarVersionItem(item.iditem,
                                                 CtrlAdmUsr.getIdByUsername('username'),
                                                 "", 
                                                 0,
                                                 0,
                                                 0,
                                                 1,
                                                 'actual')
     CtrlFase.crearItem(item,versionitem,[])
     idproyecto2 = CtrlAdmProy.crearProy('proyecto2','descripcion',100000,'username')  
     idfase2=CtrlAdmProy.crearFase('nombre2','descripcion2',idproyecto2)
     CtrlAdmProy.asignarRolesFase([idrol],idfase2)
     CtrlAdmProy.asignarTiposAFase(idfase2,[idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto2)
     #prueba
     rv=self.login('username', 'password')
     rv=self.app.post('/abrirProyecto',data=dict(opcion='Abrir',select=idproyecto2))
     rv=self.app.post('/proyectoX',data=dict(opcion='Crear Item',fase=idfase2))
     rv=self.app.post('/crearItem',data=dict(opcion='Importar'))
     rv=self.importarItem('Aceptar', item.iditem)
     assert 'Item importado para crearse' in rv.data
示例#14
0
 def test_crearProy(self):
     #crear escenario
     idusuario=CtrlAdmUsr.insertarUsr('test8-username',
                              'test8-password',
                              'test8-nombre',
                              'test8-apellido',
                              'test8-telefono',
                              '1000')
     #prueba
     rv = self.login('test8-username', 'test8-password')
     rv = self.crearProy('Crear', 
                        "test8-nombre",
                      "test8-descripcion",
                      '1000')
     assert 'Proyecto creado' in rv.data
示例#15
0
 def test_modUsr(self):
     # creando escenario
     idusuario = CtrlAdmUsr.insertarUsr(
         "test4-username", "test4-password", "test4-nombre", "test4-apellido", "test4-telefono", "1000"
     )
     rv = self.modUsr(
         "Modificar",
         idusuario,
         "test4-usernamemod",
         "test4-passwordmod",
         "test4-nombremdo",
         "test4-apellidomod",
         "test4-telefonomod",
         "1000",
     )
     assert "Usuario modificado" in rv.data
示例#16
0
 def test_asigRoles(self):
     # creando escenario
     idusuario=CtrlAdmUsr.insertarUsr('test6-username',
                                      'test6-password',
                                      'test6-nombre',
                                      'test6-apellido',
                                      'test6-telefono',
                                      '1000')
     idrol=CtrlAdmRol.insertarRol('test6-nombre',
                 'test6-descripcion',
                 ['200','201','202'])
     #pruebas
     rv = self.asigRoles('Aceptar', 
                      idusuario,
                      [idrol])
     assert 'Roles asignados al usuario' in rv.data
示例#17
0
 def test_crearTipoItem(self):
     #crear escenario
     idusuario=CtrlAdmUsr.insertarUsr('test9-username',
                              'test9-password',
                              'test9-nombre',
                              'test9-apellido',
                              'test9-telefono',
                              '1000')
     idtipoitem=CtrlAdmTipoItem.crearTipoItem('test9-nombre',
                                              'test9-descripcion')
     #prueba
     rv = self.login('test9-username', 'test9-password')
     rv = self.crearTipoItem('Crear',
                           'test9-nombre',
                           'test9-descripcion',
                           idtipoitem)
     assert 'Tipo de Item Creado' in rv.data
示例#18
0
 def test_modUsr(self):
     #creando escenario
     idusuario=CtrlAdmUsr.insertarUsr('test4-username',
                                      'test4-password',
                                      'test4-nombre',
                                      'test4-apellido',
                                      'test4-telefono',
                                      '1000')
     rv = self.modUsr('Modificar', 
                      idusuario,
                      'test4-usernamemod',
                      'test4-passwordmod',
                      'test4-nombremdo', 
                      'test4-apellidomod', 
                      'test4-telefonomod', 
                      '1000')
     assert 'Usuario modificado' in rv.data
示例#19
0
 def test_importarProyecto(self):
     #crear escenario
     idusuario=CtrlAdmUsr.insertarUsr('username',
                          'password',
                          'nombre',
                          'apellido',
                          '10101010',
                          '1000')
     idproyecto=CtrlAdmProy.crearProy('nombre','descripcion',10000,'username')
     rv=self.login('username', 'password')
     #prueba
     rv=self.app.post('/admProy',data=dict(opcion='Importar',select=idproyecto))
     rv=self.importarProyecto(opcion='Aceptar',
                              idproyecto=idproyecto,
                              nombre='NOMBRE',
                              descripcion='DESCRIP',
                              presupuesto='1000')
     assert 'Proyecto importado' in rv.data
示例#20
0
def importarProy(idproyectoimp,username):
    """Funcion que recibe un idproyecto y el username del usuario actual
    y realiza una copia de los datos del proyecto correspondiente.
    Los mismos incluyen los atributos de definicion y las fases,
    junto con los atributos de las mismas"""
    importedproy=proy(idproyectoimp)
    idnewproyecto=getMayorIdProyecto()+1
    usuariolider=CtrlAdmUsr.getIdByUsername(username)
    newproy = Proyecto(idnewproyecto,
                       importedproy.nombre,
                       importedproy.descripcion,
                       date.today(),
                       importedproy.complejidad,
                       'no-iniciado',
                       usuariolider,
                       importedproy.presupuesto)
    session.add(newproy)
    session.commit()
    sourcefases=getFasesListByProy(idproyectoimp)
    for fase in sourcefases:
        importarFase(fase,idnewproyecto)
    return idnewproyecto
示例#21
0
 def test_crearLineaBase(self):
     #crear escenario
     idusuario=CtrlAdmUsr.insertarUsr('username',
                              'password',
                              'nombre',
                              'apellido',
                              '10101010',
                              '1000')
     idtipoitem=CtrlAdmTipoItem.crearTipoItem('nombre','descripcion')
     CtrlAdmTipoItem.agregarAtributo(idtipoitem,'nombre','VARCHAR','pordefecto')
     CtrlAdmRol.insertarPermiso('200','nombre','descripcion')
     idrol=CtrlAdmRol.insertarRol('nombre','descripcion',[200])
     idproyecto=CtrlAdmProy.crearProy('nombre','descripcion',10000,'username')
     idfase=CtrlAdmProy.crearFase('nombre','descripcion',idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol],idfase)
     CtrlAdmProy.asignarTiposAFase(idfase,[idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     rv=self.login('username', 'password')
     rv=self.app.post('/abrirProyecto',data=dict(opcion='Abrir',select=idproyecto))
     rv=self.app.post('/proyectoX',data=dict(opcion='Crear Item',fase=idfase))
     rv=self.app.post('/crearItem',data=dict(opcion='Cargar Atributos',
                                             nombre='nombre',
                                             descripcion='descripcion',
                                             tipoItem=idtipoitem,
                                             costo='0',
                                             prioridad='10',
                                             complejidad='100'))
     rv=self.app.post('/cargarAtributos',data=dict(opcion='Aceptar',
                                                   nombre='bydefault',
                                                   descripcion='1',
                                                   costo='10',
                                                   prioridad='1',
                                                   complejidad='1'))
     #prueba
     rv=self.crearLineaBase(opcion='Nueva Linea Base',
                            fase=idfase)
     assert 'Linea Base Creada' in rv.data
示例#22
0
 def test_crearLineaBase(self):
     # crear escenario
     idusuario = CtrlAdmUsr.insertarUsr("username", "password", "nombre", "apellido", "10101010", "1000")
     idtipoitem = CtrlAdmTipoItem.crearTipoItem("nombre", "descripcion")
     CtrlAdmTipoItem.agregarAtributo(idtipoitem, "nombre", "VARCHAR", "pordefecto")
     CtrlAdmRol.insertarPermiso("200", "nombre", "descripcion")
     idrol = CtrlAdmRol.insertarRol("nombre", "descripcion", [200])
     idproyecto = CtrlAdmProy.crearProy("nombre", "descripcion", 10000, "username")
     idfase = CtrlAdmProy.crearFase("nombre", "descripcion", idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol], idfase)
     CtrlAdmProy.asignarTiposAFase(idfase, [idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     rv = self.login("username", "password")
     rv = self.app.post("/abrirProyecto", data=dict(opcion="Abrir", select=idproyecto))
     rv = self.app.post("/proyectoX", data=dict(opcion="Crear", fase=idfase))
     rv = self.app.post(
         "/crearItem",
         data=dict(
             opcion="Cargar Atributos",
             nombre="nombre",
             descripcion="descripcion",
             tipoItem=idtipoitem,
             costo="0",
             prioridad="10",
             complejidad="100",
         ),
     )
     rv = self.app.post(
         "/cargarAtributos",
         data=dict(
             opcion="Aceptar", nombre="bydefault", descripcion="1", costo="10", prioridad="1", complejidad="1"
         ),
     )
     # prueba
     rv = self.crearLineaBase(opcion="Nueva Linea Base", fase=idfase)
     assert "Linea Base Creada" in rv.data