versión 1.2.2: horarios nocturnos unificados en dos tramos
HORARIOS pasa a 5 bloques que siguen cubriendo las 24 horas: 00:00-06:30 cada 30 minutos (antes 00:00-05:00 cada 60 s y 05:00-06:30 cada 30 min) y 18:30-24:00 cada 60 minutos (antes dos bloques iguales). El día no cambia. De madrugada un correo puede esperar hasta 30 minutos y los reintentos por SAP fuera de línea, uno por ciclo, van igual de espaciados. Se ordena el formato de la lista, test_horarios fija el primer y el último minuto de cada bloque (y que nunca se devuelva None en el día), y se actualizan docs/main.md, la guía de despliegue y el CHANGELOG. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6030320822
commit
1d23e87b9b
7 files changed
+34
-22
No files matched your search
+16
-5
@@ -23,11 +23,22 @@ def test_los_bloques_estan_ordenados_y_se_encadenan():
|
||||
assert inicios[1:] == fines[:-1] # cada bloque empieza donde termina el anterior
|
||||
|
||||
|
||||
def test_los_huecos_de_antes_ahora_tienen_horario():
|
||||
assert _intervalo(21, 29) == (3600, "full") and _intervalo(21, 30) == (3600, "full")
|
||||
assert _intervalo(23, 59) == (3600, "full")
|
||||
assert _intervalo(5, 0) == (1800, "full") and _intervalo(6, 29) == (1800, "full")
|
||||
assert _intervalo(6, 30) == (300, "rapido")
|
||||
def test_los_limites_de_cada_bloque():
|
||||
"""Primer y último minuto de cada bloque, con su intervalo."""
|
||||
esperado = [
|
||||
((0, 0), (1800, "full")), ((6, 29), (1800, "full")), # madrugada
|
||||
((6, 30), (300, "rapido")), ((13, 14), (300, "rapido")), # mañana
|
||||
((13, 15), (1800, "full")), ((13, 59), (1800, "full")), # mediodía
|
||||
((14, 0), (300, "rapido")), ((18, 29), (300, "rapido")), # tarde
|
||||
((18, 30), (3600, "full")), ((23, 59), (3600, "full")), # noche
|
||||
]
|
||||
for (hora, minuto), valor in esperado:
|
||||
assert _intervalo(hora, minuto) == valor, f"{hora:02d}:{minuto:02d}"
|
||||
|
||||
|
||||
def test_nunca_se_devuelve_none_en_el_dia():
|
||||
"""``obtener_intervalo`` devuelve None fuera de horario: con los bloques actuales no debe pasar nunca."""
|
||||
assert all(_intervalo(h, m) is not None for h in range(24) for m in range(60))
|
||||
|
||||
|
||||
def test_la_version_del_proyecto_sale_de_pyproject():
|
||||
|
||||
Reference in new issue
Block a user