Beispiel #1
0
 def test_agregarOcupado(self):
     """Agregar una nueva máquina en un lugar ya ocupado
     """
     request = self.factory.post('/Maquina/add', data=self.maquina2)
     request.user = self.user
     maquina_add(request)
     eMaquina = Maquina.objects.filter(pk="AUTO_002").exists()
     self.assertEqual(eMaquina, False, "El campo ya esta ocupado")
Beispiel #2
0
    def test_AgregarLaboratorioInexistente(self):
        """Agregar una máquina a un aboratorio inexistente
        """

        request = self.factory.post('/Maquina/add', data=self.maquina4)
        request.user = self.user
        maquina_add(request)
        eMaquina = Maquina.objects.filter(pk="AUTO_004").exists()
        self.assertEqual(eMaquina, False, "El laboratorio no es valido")
Beispiel #3
0
 def test_AgregarIdRepetido(self):
     """Agregar una máquina con un ID ya existente
     """
     request = self.factory.post('/Maquina/add', data=self.maquina3)
     request.user = self.user
     maquina_add(request)
     con = Maquina.objects.filter(con_reserva=False).count()
     eMaquina = con == 1
     self.assertEqual(eMaquina, True,
                      "Deberia solo haber una maquia pero hay " + str(con))
Beispiel #4
0
    def test_PermisoAgregar(self):
        """Comprueba que un usario no autenticado no pueda agregar máquinas.
           También comprueba con un usario con el permiso de agregar máquinas pueda hacerlo
        """
        request = self.factory.get('/Maquina/add', follow=True)
        request.user = AnonymousUser()
        response = maquina_add(request)
        self.assertEqual(response.status_code, 401, "No debe estar autorizado")

        request.user = self.user

        response = maquina_add(request)
        self.assertEqual(response.status_code, 200, "Debe estar autorizado")
Beispiel #5
0
    def test_AgregarCamposInvalidos(self):
        """Prueba los campos obligatorios del servicio REST
        """

        request = self.factory.post('/Maquina/add', data=self.maquina8)
        request.user = self.user
        response = maquina_add(request)
        eMaquina = Maquina.objects.filter(pk="AUTO_008").exists()
        self.assertEqual(eMaquina, False, "La posicion es invalida")
Beispiel #6
0
    def test_AgregarySuperior(self):
        """Agregar una máquina en una posición y mayor a la capacidad del laboratorio
        """

        request = self.factory.post('/Maquina/add', data=self.maquina7)
        request.user = self.user
        response = maquina_add(request)
        eMaquina = Maquina.objects.filter(pk="AUTO_005").exists()
        self.assertEqual(eMaquina, False, "La posicion es invalida")
Beispiel #7
0
    def test_agregarMaquina(self):
        """ Comprueba que el servicio REST de agregar máquinas sea correcto para un usuario autorizado,
            también comprueba que un usario autorizado pueda editar una máquina existente
        """
        request = self.factory.post('/Maquina/add', data=self.maquina1)
        request.user = self.user
        response = maquina_add(request)
        eMaquina = Maquina.objects.filter(pk="AUTO_001").exists()
        self.assertEqual(eMaquina, True,
                         "El cientifico debe poder agregar máquinas")

        request = self.factory.get('/Maquina/')

        request.user = self.user
        response = maquina_update(request, 'AUTO_001')
        self.assertEqual(
            response.status_code, 200,
            "El cientifico debe estar autorizado y la máquina existir")
Beispiel #8
0
    def setUp(self):

        self.factory = RequestFactory()
        self.user = User.objects.create_user(username='******',
                                             email='*****@*****.**',
                                             password=CONTRASENA)
        c.login(username=self.user.username, password=CONTRASENA)
        self.tipoId = TipoDocumento.objects.create(nombre_corto="cc",
                                                   descripcion="")
        self.grupo = Group.objects.create(name='asistentes')
        self.usuario = Usuario.objects.create(
            nombre_usuario="jlennon",
            correo_electronico="*****@*****.**",
            codigo_usuario="201610780",
            nombres="John",
            apellidos="Lennon",
            telefono="3005717606",
            userNatIdTyp=self.tipoId,
            userNatIdNum="51603784",
            grupo=self.grupo,
            user=self.user,
            contrasena=CONTRASENA)
        self.userSinPermisos = User.objects.create_user(
            username='******',
            email='*****@*****.**',
            password=CONTRASENA)
        c.login(username=self.userSinPermisos.username, password=CONTRASENA)

        solicitar = Permission.objects.get(name='Maquina||solicitar')

        self.user.user_permissions.add(solicitar)
        self.LaboratorioPrueba = Laboratorio.objects.create(
            nombre="Laboratorio genetica", id="LAB_101")

        self.maquinaPrueba = {
            "idAlmacenamiento": "1",
            "nombre": "Autoclave Portátil",
            "descripcion":
            "Un autoclave es un recipiente de presión metálico de paredes gruesas con un cierre hermético que permite trabajar a alta presión para realizar una reacción industrial, una cocción o una esterilización con vapor de agua",
            "idSistema": "AUTO_010",
            "con_reserva": False,
            "posX": 0,
            "posY": 0,
            "idLaboratorio": self.LaboratorioPrueba.id
        }

        request = self.factory.post('/Maquina/add', data=self.maquinaPrueba)
        request.user = self.user
        maquina_add(request)
        self.protocoloPrueba = Protocolo.objects.create(
            nombre="Protocolo # 1",
            descripcion="Este es un protocolo de prueba",
            objetivo="Comprobar funcionalidad de solicitud maquinas")
        self.pasoPrueba = Paso.objects.create(
            id="1",
            nombre="Paso # 1",
            descripcion="Este es un paso de prueba",
            protocolo=self.protocoloPrueba)
        self.proyectoPrueba = Proyecto.objects.create(
            nombre="Proyecto # 1",
            descripcion="Este es un proyecto de prueba",
            objetivo="Comprobar funcionalidad de solicitud maquinas",
            lider=self.usuario,
            activo=True)
        self.proyectoPrueba.asistentes.add(self.usuario)
        self.experimentoPrueba = Experimento.objects.create(
            nombre="Experimento # 1",
            descripcion="Este es un experimento de prueba",
            objetivo="Comprobar funcionalidad de solicitud maquinas",
            projecto=self.proyectoPrueba)
        self.experimentoPrueba.protocolos.add(self.protocoloPrueba)
Beispiel #9
0
    def setUp(self):
        """Inicia el estado del test
            Se encarga de :
                * Crear un usario y darle los permisos de agregar y editar
                * Crear un laboratorio
                * Definir varias máquinas que serviran para probar la lógica del negocio
        """
        # Every test needs access to the request factory.
        self.factory = RequestFactory()
        self.user = User.objects.create_user(username='******',
                                             email='*****@*****.**',
                                             password=CONTRASENA)
        c.login(username=self.user.username, password=CONTRASENA)

        agregar = Permission.objects.get(name='Maquina||agregar')
        editar = Permission.objects.get(name='Maquina||editar')
        self.user.user_permissions.add(agregar, editar)
        self.LaboratorioPrueba = Laboratorio.objects.create(
            nombre="Laboratorio genetica", id="LAB_101")

        self.maquinaPrueba = {
            "nombre": "Autoclave Portátil",
            "descripcion":
            "Un autoclave es un recipiente de presión metálico de paredes gruesas con un cierre hermético que permite trabajar a alta presión para realizar una reacción industrial, una cocción o una esterilización con vapor de agua",
            "idSistema": "AUTO_010",
            "con_reserva": False,
            "posX": 0,
            "posY": 0,
            "idLaboratorio": self.LaboratorioPrueba.id
        }

        self.maquina1 = {
            "nombre": "Autoclave Portátil",
            "descripcion":
            "Un autoclave es un recipiente de presión metálico de paredes gruesas con un cierre hermético que permite trabajar a alta presión para realizar una reacción industrial, una cocción o una esterilización con vapor de agua",
            "idSistema": "AUTO_001",
            "con_reserva": False,
            "posX": 10,
            "posY": 10,
            "idLaboratorio": self.LaboratorioPrueba.id
        }
        self.maquina2 = {
            "nombre": "Autoclave Portátil",
            "descripcion":
            "Un autoclave es un recipiente de presión metálico de paredes gruesas con un cierre hermético que permite trabajar a alta presión para realizar una reacción industrial, una cocción o una esterilización con vapor de agua",
            "idSistema": "AUTO_002",
            "con_reserva": False,
            "posX": 0,
            "posY": 0,
            "idLaboratorio": self.LaboratorioPrueba.id
        }

        self.maquina3 = {
            "nombre": "Autoclave Portátil",
            "descripcion":
            "Un autoclave es un recipiente de presión metálico de paredes gruesas con un cierre hermético que permite trabajar a alta presión para realizar una reacción industrial, una cocción o una esterilización con vapor de agua",
            "idSistema": "AUTO_010",
            "con_reserva": False,
            "posX": 1,
            "posY": 1,
            "idLaboratorio": self.LaboratorioPrueba.id
        }

        self.maquina4 = {
            "nombre": "Autoclave Portátil",
            "descripcion":
            "Un autoclave es un recipiente de presión metálico de paredes gruesas con un cierre hermético que permite trabajar a alta presión para realizar una reacción industrial, una cocción o una esterilización con vapor de agua",
            "idSistema": "AUTO_004",
            "con_reserva": False,
            "posX": 2,
            "posY": 2,
            "idLaboratorio": "No existente"
        }

        self.maquina5 = {
            "nombre": "Autoclave Portátil",
            "descripcion":
            "Un autoclave es un recipiente de presión metálico de paredes gruesas con un cierre hermético que permite trabajar a alta presión para realizar una reacción industrial, una cocción o una esterilización con vapor de agua",
            "idSistema": "AUTO_005",
            "con_reserva": False,
            "posX": -1,
            "posY": -1,
            "idLaboratorio": self.LaboratorioPrueba.id
        }

        self.maquina6 = {
            "nombre": "Autoclave Portátil",
            "descripcion":
            "Un autoclave es un recipiente de presión metálico de paredes gruesas con un cierre hermético que permite trabajar a alta presión para realizar una reacción industrial, una cocción o una esterilización con vapor de agua",
            "idSistema": "AUTO_005",
            "con_reserva": False,
            "posX": 100,
            "posY": 3,
            "idLaboratorio": self.LaboratorioPrueba.id
        }

        self.maquina7 = {
            "nombre": "Autoclave Portátil",
            "descripcion":
            "Un autoclave es un recipiente de presión metálico de paredes gruesas con un cierre hermético que permite trabajar a alta presión para realizar una reacción industrial, una cocción o una esterilización con vapor de agua",
            "idSistema": "AUTO_005",
            "con_reserva": False,
            "posX": 3,
            "posY": 100,
            "idLaboratorio": self.LaboratorioPrueba.id
        }
        self.maquina8 = {
            "nombres": "Autoclave Portátil",
            "descripcions":
            "Un autoclave es un recipiente de presión metálico de paredes gruesas con un cierre hermético que permite trabajar a alta presión para realizar una reacción industrial, una cocción o una esterilización con vapor de agua",
            "idSistema": "AUTO_008",
            "con_reserva": False,
            "posX": 1,
            "posY": 1,
            "idLaboratorio": self.LaboratorioPrueba.id
        }

        request = self.factory.post('/Maquina/add', data=self.maquinaPrueba)
        request.user = self.user
        maquina_add(request)