DaftAcademy / daftacademy-python_levelup-spring2021

19 stars 10 forks source link

zadanie 1.3 Test #4 #10

Closed mateusz91t closed 3 years ago

mateusz91t commented 3 years ago

Wydaje mi się, że test ten polega na zwróceniu 401 zamiast 422, gdy wyślemy błędny zestaw parametrów do mojego endponta https://py-lvl-up-1.herokuapp.com/auth np.

Czy ktoś może podpowiedzieć jak zwrócić 401 zamiast automatycznego 422?? Mój endpoint wygląda następująco:

@app.get("/auth")
def auth_view(password: str, password_hash: str):
    hashed = get_hash(password) == password_hash
    if hashed and password and password_hash:
        status_code = 204
    else:
        status_code = 401
    return Response(status_code=status_code)

Nieprzechodzący test zwraca następujący błąd:

F
======================================================================
FAIL: test_status_code (coding_rooms_unit_tests.CodingRoomsUnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usercode/coding_rooms_unit_tests.py", line 16, in test_status_code
    self.assertEqual(self._response.status_code, 401)
AssertionError: 422 != 401

----------------------------------------------------------------------
Ran 1 test in 0.508s

FAILED (failures=1)

2021-04-20_12h58_59

korowiov commented 3 years ago

/auth?password=haslo&password_hash=013c6889f799cd986a735118e1888727d1435f7f623d05d58c61bf2cd8b49ac90105e5786ceaabd62bbc27336153d0d316b2d13b36804080c44aa6198c533215 - nie podajesz kluczy password oraz password_hash. Nawet w errorach masz informację, że brakuje Tobie kluczy ;)

mateusz91t commented 3 years ago

@korowiov dzięki, poradziłem sobie wprowadzając defaultową pustą wartość dla pass i pass_hash, które sprawdzam potem w środku metody auth_view def auth_view(password: str = '', password_hash: str = ''):