Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactor: TT-417 add HTTPStatus from http
  • Loading branch information
Jobzi committed Nov 25, 2021
commit db9bedc0c25bce47c80c89c9be70562b69fa5e36
42 changes: 21 additions & 21 deletions V2/tests/api/azure/project_azure_endpoints_test.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import json
from http import HTTPStatus

import pytest
from faker import Faker
Expand All @@ -7,7 +8,6 @@
from time_tracker.projects._application import _projects as azure_projects
from time_tracker.projects import _domain as domain
from time_tracker.projects import _infrastructure as infrastructure
from time_tracker.utils.enums import ResponseEnums as enums

PROJECT_URL = '/api/projects/'

Expand Down Expand Up @@ -36,7 +36,7 @@ def test__project_azure_endpoint__returns_all_projects(
response = azure_projects._get_projects.get_projects(req)
projects_json_data = response.get_body().decode("utf-8")

assert response.status_code == enums.STATUS_OK.value
assert response.status_code == HTTPStatus.OK
assert projects_json_data == json.dumps(inserted_projects)


Expand All @@ -55,7 +55,7 @@ def test__project_azure_endpoint__returns_an_project__when_project_matches_its_i
response = azure_projects._get_projects.get_projects(req)
activitiy_json_data = response.get_body().decode("utf-8")

assert response.status_code == enums.STATUS_OK.value
assert response.status_code == HTTPStatus.OK
assert activitiy_json_data == json.dumps(inserted_project)


Expand All @@ -70,8 +70,8 @@ def test__projects_azure_endpoint__returns_a_status_code_400__when_project_reciv

response = azure_projects._get_projects.get_projects(req)

assert response.status_code == enums.STATUS_BAD_REQUEST.value
assert response.get_body() == enums.INVALID_ID.value.encode()
assert response.status_code == HTTPStatus.BAD_REQUEST
assert response.get_body() == b"Invalid Format ID"


def test__project_azure_endpoint__returns_an_project_with_inactive_status__when_a_project_matching_its_id_is_found(
Expand All @@ -89,7 +89,7 @@ def test__project_azure_endpoint__returns_an_project_with_inactive_status__when_
response = azure_projects._delete_project.delete_project(req)
project_json_data = json.loads(response.get_body().decode("utf-8"))

assert response.status_code == enums.STATUS_OK.value
assert response.status_code == HTTPStatus.OK
assert project_json_data['status'] == 0
assert project_json_data['deleted'] is True

Expand All @@ -105,8 +105,8 @@ def test__delete_projects_azure_endpoint__returns_a_status_code_400__when_projec

response = azure_projects._delete_project.delete_project(req)

assert response.status_code == enums.STATUS_BAD_REQUEST.value
assert response.get_body() == enums.INVALID_ID.value.encode()
assert response.status_code == HTTPStatus.BAD_REQUEST
assert response.get_body() == b"Invalid Format ID"


def test__delete_projects_azure_endpoint__returns_a_status_code_404__when_no_found_a_project_to_delete(
Expand All @@ -120,8 +120,8 @@ def test__delete_projects_azure_endpoint__returns_a_status_code_404__when_no_fou

response = azure_projects._delete_project.delete_project(req)

assert response.status_code == enums.STATUS_NOT_FOUND.value
assert response.get_body() == enums.NOT_FOUND.value.encode()
assert response.status_code == HTTPStatus.NOT_FOUND
assert response.get_body() == b"Not found"


def test__update_project_azure_endpoint__returns_an_project__when_found_a_project_to_update(
Expand All @@ -141,7 +141,7 @@ def test__update_project_azure_endpoint__returns_an_project__when_found_a_projec
activitiy_json_data = response.get_body().decode("utf-8")
inserted_project.update(project_body)

assert response.status_code == enums.STATUS_OK.value
assert response.status_code == HTTPStatus.OK
assert activitiy_json_data == json.dumps(inserted_project)


Expand All @@ -159,8 +159,8 @@ def test__update_projects_azure_endpoint__returns_a_status_code_404__when_no_fou

response = azure_projects._update_project.update_project(req)

assert response.status_code == enums.STATUS_NOT_FOUND.value
assert response.get_body() == enums.NOT_FOUND.value.encode()
assert response.status_code == HTTPStatus.NOT_FOUND
assert response.get_body() == b"Not found"


def test__update_projects_azure_endpoint__returns_a_status_code_400__when_recive_an_incorrect_body(
Expand All @@ -175,8 +175,8 @@ def test__update_projects_azure_endpoint__returns_a_status_code_400__when_recive

response = azure_projects._update_project.update_project(req)

assert response.status_code == enums.STATUS_BAD_REQUEST.value
assert response.get_body() == enums.INCORRECT_BODY.value.encode()
assert response.status_code == HTTPStatus.BAD_REQUEST
assert response.get_body() == b"Incorrect body"


def test__update_projects_azure_endpoint__returns_a_status_code_400__when_project_recive_invalid_id(
Expand All @@ -190,8 +190,8 @@ def test__update_projects_azure_endpoint__returns_a_status_code_400__when_projec

response = azure_projects._update_project.update_project(req)

assert response.status_code == enums.STATUS_BAD_REQUEST.value
assert response.get_body() == enums.INVALID_ID.value.encode()
assert response.status_code == HTTPStatus.BAD_REQUEST
assert response.get_body() == b"Invalid Format ID"


def test__project_azure_endpoint__creates_an_project__when_project_has_all_attributes(
Expand All @@ -210,7 +210,7 @@ def test__project_azure_endpoint__creates_an_project__when_project_has_all_attri
project_json_data = json.loads(response.get_body())
project_body['id'] = project_json_data['id']

assert response.status_code == enums.STATUS_CREATED.value
assert response.status_code == HTTPStatus.CREATED
assert project_json_data == project_body


Expand All @@ -230,7 +230,7 @@ def test__project_azure_endpoint__returns_a_status_code_400__when_project_does_n

response = azure_projects._create_project.create_project(req)

assert response.status_code == enums.STATUS_BAD_REQUEST.value
assert response.status_code == HTTPStatus.BAD_REQUEST
assert response.get_body() == json.dumps(['The name key is missing in the input data']).encode()


Expand All @@ -250,5 +250,5 @@ def test__project_azure_endpoint__returns_a_status_code_500__when_project_recive

response = azure_projects._create_project.create_project(req)

assert response.status_code == enums.INTERNAL_SERVER_ERROR.value
assert response.get_body() == enums.NOT_CREATED.value.encode()
assert response.status_code == HTTPStatus.INTERNAL_SERVER_ERROR
assert response.get_body() == b"could not be created"
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import dataclasses
import json
import typing
from http import HTTPStatus

import azure.functions as func

from ... import _domain
from ... import _infrastructure
from time_tracker._infrastructure import DB as database
from time_tracker.utils.enums import ResponseEnums as enums


def create_project(req: func.HttpRequest) -> func.HttpResponse:
Expand All @@ -20,7 +20,7 @@ def create_project(req: func.HttpRequest) -> func.HttpResponse:

validation_errors = _validate_project(project_data)
if validation_errors:
status_code = enums.STATUS_BAD_REQUEST.value
status_code = HTTPStatus.BAD_REQUEST
response = json.dumps(validation_errors)
else:
project_to_create = _domain.Project(
Expand All @@ -37,13 +37,13 @@ def create_project(req: func.HttpRequest) -> func.HttpResponse:
created_project = use_case.create_project(project_to_create)

status_code, response = [
enums.INTERNAL_SERVER_ERROR.value, enums.NOT_CREATED.value.encode()
] if not created_project else [enums.STATUS_CREATED.value, json.dumps(created_project.__dict__)]
HTTPStatus.INTERNAL_SERVER_ERROR, b"could not be created"
] if not created_project else [HTTPStatus.CREATED, json.dumps(created_project.__dict__)]

return func.HttpResponse(
body=response,
status_code=status_code,
mimetype=enums.MIME_TYPE.value
mimetype="application/json"
)


Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import json
from http import HTTPStatus

import azure.functions as func

from ... import _domain
from ... import _infrastructure
from time_tracker._infrastructure import DB as database
from time_tracker.utils.enums import ResponseEnums as enums


def delete_project(req: func.HttpRequest) -> func.HttpResponse:
Expand All @@ -18,18 +18,18 @@ def delete_project(req: func.HttpRequest) -> func.HttpResponse:
deleted_project = use_case.delete_project(project_id)

status_code, response = [
enums.STATUS_NOT_FOUND.value, enums.NOT_FOUND.value.encode()
] if not deleted_project else [enums.STATUS_OK.value, json.dumps(deleted_project.__dict__)]
HTTPStatus.NOT_FOUND, b"Not found"
] if not deleted_project else [HTTPStatus.OK, json.dumps(deleted_project.__dict__)]

return func.HttpResponse(
body=response,
status_code=status_code,
mimetype=enums.MIME_TYPE.value,
mimetype="application/json",
)

except ValueError:
return func.HttpResponse(
body=enums.INVALID_ID.value.encode(),
status_code=enums.STATUS_BAD_REQUEST.value,
mimetype=enums.MIME_TYPE.value
body=b"Invalid Format ID",
status_code=HTTPStatus.BAD_REQUEST,
mimetype="application/json"
)
18 changes: 9 additions & 9 deletions V2/time_tracker/projects/_application/_projects/_get_projects.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import json
import typing
from http import HTTPStatus

import azure.functions as func

from ... import _domain
from ... import _infrastructure
from time_tracker._infrastructure import DB as database
from time_tracker.utils.enums import ResponseEnums as enums


def get_projects(req: func.HttpRequest) -> func.HttpResponse:
Expand All @@ -20,24 +20,24 @@ def get_projects(req: func.HttpRequest) -> func.HttpResponse:
response = _get_by_id(int(project_id), project_service)
if not response:
return func.HttpResponse(
body=enums.NOT_FOUND.value.encode(),
status_code=enums.STATUS_NOT_FOUND.value,
mimetype=enums.MIME_TYPE.value
body=b"Not found",
status_code=HTTPStatus.NOT_FOUND,
mimetype="application/json"
)
else:
response = _get_all(project_service)

return func.HttpResponse(
body=json.dumps(response),
status_code=enums.STATUS_OK.value,
mimetype=enums.MIME_TYPE.value,
status_code=HTTPStatus.OK,
mimetype="application/json",
)

except ValueError:
return func.HttpResponse(
body=enums.INVALID_ID.value.encode(),
status_code=enums.STATUS_BAD_REQUEST.value,
mimetype=enums.MIME_TYPE.value
body=b"Invalid Format ID",
status_code=HTTPStatus.BAD_REQUEST,
mimetype="application/json"
)


Expand Down
22 changes: 11 additions & 11 deletions V2/time_tracker/projects/_application/_projects/_update_project.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import dataclasses
import json
from http import HTTPStatus

import azure.functions as func

from ... import _domain
from ... import _infrastructure
from time_tracker._infrastructure import DB as database
from time_tracker.utils.enums import ResponseEnums as enums


def update_project(req: func.HttpRequest) -> func.HttpResponse:
Expand All @@ -19,32 +19,32 @@ def update_project(req: func.HttpRequest) -> func.HttpResponse:
project_data = req.get_json()

if not _validate_project(project_data):
status_code = enums.STATUS_BAD_REQUEST.value
response = enums.INCORRECT_BODY.value.encode()
status_code = HTTPStatus.BAD_REQUEST
response = b"Incorrect body"

else:
updated_project = use_case.update_project(project_id, project_data)
status_code, response = [
enums.STATUS_NOT_FOUND.value, enums.NOT_FOUND.value.encode()
] if not updated_project else [enums.STATUS_OK.value, json.dumps(updated_project.__dict__)]
HTTPStatus.NOT_FOUND, b"Not found"
] if not updated_project else [HTTPStatus.OK, json.dumps(updated_project.__dict__)]

return func.HttpResponse(
body=response,
status_code=status_code,
mimetype=enums.MIME_TYPE.value,
mimetype="application/json",
)

except ValueError:
return func.HttpResponse(
body=enums.INVALID_ID.value.encode(),
status_code=enums.STATUS_BAD_REQUEST.value,
mimetype=enums.MIME_TYPE.value,
body=b"Invalid Format ID",
status_code=HTTPStatus.BAD_REQUEST,
mimetype="application/json",
)
except Exception as error:
return func.HttpResponse(
body=str(error).encode(),
status_code=enums.STATUS_BAD_REQUEST.value,
mimetype=enums.MIME_TYPE.value,
status_code=HTTPStatus.BAD_REQUEST,
mimetype="application/json",
)


Expand Down
2 changes: 0 additions & 2 deletions V2/time_tracker/utils/enums/__init__.py

This file was deleted.

16 changes: 0 additions & 16 deletions V2/time_tracker/utils/enums/response_enums.py

This file was deleted.