Pessoal a prova tem duas pegadinhas, talvez pelo tempo que esta publicada....
A primeira, no arquivo do workflow do GitHub Action, use Python 3.8 na linha 20, pois no Python 3.9 um dos modulos da erro:
AttributeError: module 'werkzeug' has no attribute '__version__'
A segunda pegadinha é no tests/test_app.py, depois que você faz a alteração da app para ter mais metricas e o endpoint /metrics esta disponivel, você tem que mudar as linhas abaixo dentro de def test_request_counter(client):
def test_request_counter(client):
"""Testa se o contador de requisições funciona"""
response1 = client.get('/metrics')
count1 = response1.get_json()['total_requests']
response = client.get('/')
response2 = client.get('/metrics')
count2 = response2.get_json()['total_requests']
assert count2 > count1
2 linhas são pra receber o total_requests do /metrics, visto que no / esse valor não sera mais mostrado, e adicionamos no meio um response para que o contador de requests seja incrementado, senão o total de requests sempre sera 1 e nunca maior que um, e ai o assert não valida e nunca o teste vai dar certo...