Skip to content
This repository has been archived by the owner on Apr 3, 2023. It is now read-only.

Commit

Permalink
feat: add some success details
Browse files Browse the repository at this point in the history
  • Loading branch information
HamidMolareza committed Mar 31, 2023
1 parent 7fb0722 commit 35ac92b
Show file tree
Hide file tree
Showing 8 changed files with 103 additions and 0 deletions.
1 change: 1 addition & 0 deletions .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ disable=
C0114, # missing-module-docstring
C0301, # Line too long (line-too-long)
W0718, # Catching too general exception Exception (broad-exception-caught)
R0903, # Too few public methods (too-few-public-methods)
R0913, # Too many arguments (too-many-arguments)
12 changes: 12 additions & 0 deletions def_result/ResultDetails/Success/CreatedDetail.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from typing import Any, List, Optional

from def_result.ResultDetails.SuccessDetail import SuccessDetail


class CreatedDetail(SuccessDetail):
""" A new resource has been created """
def __init__(self, title: Optional[str] = "A new resource has been created",
message: Optional[str] = None,
code: Optional[int] = 201,
more_data: Optional[List[Any]] = None):
super().__init__(title=title, message=message, code=code, more_data=more_data)
12 changes: 12 additions & 0 deletions def_result/ResultDetails/Success/NotModifiedDetail.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from typing import Any, List, Optional

from def_result.ResultDetails.SuccessDetail import SuccessDetail


class NotModifiedDetail(SuccessDetail):
""" The resource has not been modified since the last request """
def __init__(self, title: Optional[str] = "The resource has not been modified since the last request",
message: Optional[str] = None,
code: Optional[int] = 304,
more_data: Optional[List[Any]] = None):
super().__init__(title=title, message=message, code=code, more_data=more_data)
13 changes: 13 additions & 0 deletions def_result/ResultDetails/Success/PartialContentDetail.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from typing import Any, List, Optional

from def_result.ResultDetails.SuccessDetail import SuccessDetail


class PartialContentDetail(SuccessDetail):
""" Partial content """

def __init__(self, title: Optional[str] = "Partial content",
message: Optional[str] = None,
code: Optional[int] = 206,
more_data: Optional[List[Any]] = None):
super().__init__(title=title, message=message, code=code, more_data=more_data)
Empty file.
21 changes: 21 additions & 0 deletions tests/ResultDetails/Success/test_CreatedDetail.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import unittest

from def_result.ResultDetails.Success.CreatedDetail import CreatedDetail
from tests.helpers import assert_result_detail


class TestCreatedDetail(unittest.TestCase):
def test_init_without_args(self):
create_detail = CreatedDetail()

assert_result_detail(test_class=self, result_detail=create_detail, title="A new resource has been created", code=201)

def test_init_with_args(self):
create_detail = CreatedDetail(title="title", message="message", code=100, more_data=["message"])

assert_result_detail(test_class=self, result_detail=create_detail, title="title", message="message", code=100,
more_data=["message"])


if __name__ == '__main__':
unittest.main()
22 changes: 22 additions & 0 deletions tests/ResultDetails/Success/test_NotModifiedDetail.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import unittest

from def_result.ResultDetails.Success.NotModifiedDetail import \
NotModifiedDetail
from tests.helpers import assert_result_detail


class TestNotModifiedDetail(unittest.TestCase):
def test_init_without_args(self):
detail = NotModifiedDetail()

assert_result_detail(test_class=self, result_detail=detail, title="The resource has not been modified since the last request", code=304)

def test_init_with_args(self):
detail = NotModifiedDetail(title="title", message="message", code=100, more_data=["message"])

assert_result_detail(test_class=self, result_detail=detail, title="title", message="message", code=100,
more_data=["message"])


if __name__ == '__main__':
unittest.main()
22 changes: 22 additions & 0 deletions tests/ResultDetails/Success/test_PartialContentDetail.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import unittest

from def_result.ResultDetails.Success.PartialContentDetail import \
PartialContentDetail
from tests.helpers import assert_result_detail


class TestPartialContentDetail(unittest.TestCase):
def test_init_without_args(self):
detail = PartialContentDetail()

assert_result_detail(test_class=self, result_detail=detail, title="Partial content", code=206)

def test_init_with_args(self):
detail = PartialContentDetail(title="title", message="message", code=100, more_data=["message"])

assert_result_detail(test_class=self, result_detail=detail, title="title", message="message", code=100,
more_data=["message"])


if __name__ == '__main__':
unittest.main()

0 comments on commit 35ac92b

Please sign in to comment.