def test_should_return_hitos_correctly_and_raise_error(): hitos = Hitos() assert hitos.uno(1)["fecha"] == "15/09/2018" try: zipi = hitos.uno(-1) except Exception as fallo: assert type(fallo) is IndexError try: zipi = hitos.uno(99) except Exception as fallo: assert type(fallo) is IndexError
logger.addHandler(logHandler) super().__init__(logger=logger) def _generate_combined_log(self, request, response): """Genera un log similar a nginx.""" current_time = datetime.utcnow() return {'remote_addr':request.remote_addr, 'time': current_time, 'method': request.method, 'uri': request.relative_uri, 'status': response.status, 'user-agent': request.user_agent } """ Declara clase """ estos_hitos = Hitos() """ Define API REST """ @hug.get('/') def status(): """Devuelve estado""" return { "status": "OK" } @hug.get('/status') def status(): """Devuelve estado""" return { "status": "OK" } @hug.get('/all') def all(): """Devuelve todos los hitos"""
def test_should_have_hitos_stored_correctly(): hitos = Hitos() assert type( hitos.todos_hitos()) is dict, "hitos no contiene un diccionario" assert hitos.cuantos() is 4, "El número de hitos es incorrecto"
def test_should_initialize_object_OK(): hitos = Hitos() assert type(hitos) is Hitos, "No se han podido inicializar los hitos"
class TestHitos(unittest.TestCase): def setUp(self): self.hitos = Hitos() def test_should_initialize_object_OK(self): self.assertIsInstance(self.hitos, Hitos, "Objeto creado correctamente") def test_should_have_hitos_stored_correctly(self): self.assertIsInstance(self.hitos.todos_hitos(), dict, "El objeto hitos contiene un diccionario") self.assertEqual(self.hitos.cuantos(), 4, "El número de hitos es incorrecto") def test_should_return_hitos_correctly_and_raise_error(self): self.assertEqual(self.hitos.uno(1)["fecha"], "15/09/2018") with self.assertRaises(IndexError): zape = self.hitos.uno(-1) with self.assertRaises(IndexError): zipi = self.hitos.uno(99) def test_fecha_hito_posterior(self): tam_lista_hitos = len(self.hitos.hitos['hitos']) for i in range(1, tam_lista_hitos): fecha_hito_anterior = datetime.strptime( str(self.hitos.uno(i - 1)["fecha"]), "%d/%m/%Y") fecha_hito = datetime.strptime(str(self.hitos.uno(i)["fecha"]), "%d/%m/%Y") self.assertLess(fecha_hito_anterior, fecha_hito, "Los hitos no estan ordenados") def test_incluye_hito_correctamente(self): tam_lista_hitos = len(self.hitos.hitos['hitos']) with self.assertRaises(TypeError): self.hitos.nuevo(1, 2, 3) with self.assertRaises(TypeError): self.hitos.nuevo("Prueba", 2, 3) with self.assertRaises(ValueError): self.hitos.nuevo("Prueba", "Prueba", "Noesfecha") self.hitos.nuevo("0.Repositorio", "Prueba", "10/11/1912") with self.assertRaises(ValueError): self.hitos.nuevo("0.Repositorio", "Prueba", "10/11/1912") filename = "2.CI" self.hitos.nuevo(filename, "Integración Continua", "10/11/2017") self.assertLess(tam_lista_hitos, len(self.hitos.hitos['hitos']), "Uno añadido") nuevo_hito = self.hitos.uno(self.hitos.cuantos() - 1) print(nuevo_hito) self.assertEqual(nuevo_hito['file'], filename, "Título correcto")
def setUp(self): self.hitos = Hitos()