def tests_query_todo(self):
     """
     Debe devolver el nombre de todas las tecnologías disponibles en la base de datos.
     """
     # local back end
     lobe = back_end.BackEnd("./db_tests_3")
     # resultado del query
     lista = lobe.query_todo()
     self.assertTrue("django" in lista)
     self.assertTrue("haskell" in lista)
     self.assertTrue("python" in lista)
    def tests_query_tecnologia_python_5(self):
        """
        avail_scal
        """
        lobe = back_end.BackEnd("./db_tests_3")
        diccionario = lobe.query_tecnologia("python")
        diccionario = diccionario["reliability"]

        # totales
        self.assertTrue(isinstance(diccionario["total"], int))
        self.assertTrue(isinstance(diccionario["total_pos"], int))
        self.assertTrue(isinstance(diccionario["total_neg"], int))
        self.assertTrue(isinstance(diccionario["p_pos"], float))
        self.assertTrue(isinstance(diccionario["p_neg"], float))
    def tests_query_tecnologia_python_2(self):
        """
        avail_scal
        """
        lobe = back_end.BackEnd("./db_tests_3")
        diccionario = lobe.query_tecnologia("python")
        diccionario = diccionario["avail_scal"]

        # totales
        self.assertTrue(isinstance(diccionario["total"], int))
        self.assertTrue(isinstance(diccionario["total_pos"], int))
        self.assertTrue(isinstance(diccionario["total_neg"], int))
        self.assertTrue(isinstance(diccionario["p_pos"], float),
                        msg="{}: quizas wea?".format(diccionario["p_pos"]))
        self.assertTrue(isinstance(diccionario["p_neg"], float))
    def tests_query_tecnologia_python_1(self):
        """
        Hace un query a la base de datos y debe devolver: nombre de tecnología, porcentaje de positivos vs negativos vs neutro, total de aspectos evaluados.
        En forma de un objeto json (un dict python al parsearlo).
        """
        lobe = back_end.BackEnd("./db_tests_3")
        diccionario = lobe.query_tecnologia("python")

        # totales
        self.assertTrue("python" == diccionario["nombre"])
        self.assertTrue(isinstance(diccionario["total"], int))
        self.assertTrue(isinstance(diccionario["total_pos"], int))
        self.assertTrue(isinstance(diccionario["total_neu"], int))
        self.assertTrue(isinstance(diccionario["total_neg"], int))
        self.assertTrue(isinstance(diccionario["p_pos"], float))
        self.assertTrue(isinstance(diccionario["p_neg"], float))
 def test__cargar_db_2(self):
     """
     Si la extension no es .db, debe levantar una excepcion.
     """
     with self.assertRaises(ValueError):
         back_end.BackEnd("./db_tests_2")
 def test__cargar_db(self):
     """
     Se tiene una carpeta con las bases de datos, pero se debe cargar la ultima base de datos creada.
     """
     lobe = back_end.BackEnd("./db_tests_1")
     self.assertTrue(lobe._cargar_db("./db_tests_1"))
 def iniciar_servidor(self, dir_bases_datos):
     self.be = back_end.BackEnd(dir_bases_datos)
     bottle.route("/")(self.wrap_query_todo)
     bottle.route("/<tecnologia>")(self.wrap_query_tecnologia)
     bottle.run(host='localhost', port=9999, debug=False)