def test_wrong_method(self): """Login with incorrect HTTP method. Expecting 405 response""" request = self.factory.get("/auth/login/") response = login.login_view(request) self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED, "Wrong method was allowed")
def test_login_invalid_request_exp_400(self): """Login with invalid request. Expecting a 400 response""" request = self.factory.post("/auth/login/", {"username": "******"}, content_type="application/json") response = login.login_view(request) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST, "Not a bad request")
def test_login_invalid_credentials_exp_403(self): """Login with invalid credentials. Expecting a 403 response""" request = self.factory.post("/auth/login/", { "username": "******", "password": "******" }, content_type="application/json") response = login.login_view(request) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN, "User is not unauthorized...")
def test_login_valid_credentials_exp_token(self): """Login with valid credentials. Expecting a token""" request = self.factory.post("/auth/login/", { "username": "******", "password": "******" }, content_type="application/json") response = login.login_view(request) j_response = json.loads(response.render().content.decode("utf-8")) self.assertEqual(j_response["token"], "Token", "Token was not send")
def test_login_authorization_token_invalid_exp_403(self): """Login with invalid token. Expecting 403 response""" request = self.factory.post("/auth/login/", { "username": "******", "password": "******" }, content_type="application/json") request.META["HTTP_AUTHORIZATION"] = "Absolutely wrong" response = login.login_view(request) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN, "Token not invalid")
def test_login_authorization_token_valid_exp_token(self): """Login with valid token. Expecting token""" request = self.factory.post("/auth/login/", { "username": "******", "password": "******" }, content_type="application/json") request.META["HTTP_AUTHORIZATION"] = "Token" response = login.login_view(request) self.assertEqual( json.loads(response.render().content)["token"], "Token", "Authorization header not respected")