From 4cd2a8359d25b44559c37c9d039e929f71ee5b7e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 26 May 2025 16:42:05 +0000 Subject: [PATCH 1/2] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/pre-commit/pre-commit-hooks: v4.6.0 → v5.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.6.0...v5.0.0) - [github.com/astral-sh/ruff-pre-commit: v0.5.4 → v0.11.11](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.4...v0.11.11) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b6b452f..2674127 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 + rev: v5.0.0 hooks: - id: check-added-large-files - id: check-ast @@ -16,7 +16,7 @@ repos: - id: mixed-line-ending - id: requirements-txt-fixer - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.5.4 + rev: v0.11.11 hooks: - id: ruff args: [--fix, --exclude, alembic/] From 4343ac6ef2588558c32bcd54a7945dc266d1c41d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 26 May 2025 16:42:16 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- api/v1/services/blog.py | 15 +++++---------- main.py | 2 +- tests/v1/blog/test_create_blog.py | 16 +++++++++++----- tests/v1/blog/test_list_blog.py | 2 +- tests/v1/blog/test_update_blog.py | 15 +++++++++++---- 5 files changed, 29 insertions(+), 21 deletions(-) diff --git a/api/v1/services/blog.py b/api/v1/services/blog.py index 7f5a4c9..e5db7da 100644 --- a/api/v1/services/blog.py +++ b/api/v1/services/blog.py @@ -19,8 +19,7 @@ def create_blog( db: Session, blog: BlogCreate, ) -> BlogResponse: - """ - Create a new blog post. + """Create a new blog post. Args: db (Session): The database session. @@ -62,8 +61,7 @@ def list_blog( page: int, page_size: int, ) -> BlogListResponse: - """ - Retrieve a list of blog posts with pagination. + """Retrieve a list of blog posts with pagination. Args: db (Session): The database session. @@ -114,8 +112,7 @@ def read_blog( db: Session, id: int, ) -> BlogResponse: - """ - Retrieve a blog post by ID. + """Retrieve a blog post by ID. Args: db (Session): The database session. @@ -154,8 +151,7 @@ def update_blog( id: int, blog_update: BlogUpdate, ) -> BlogResponse: - """ - Update an existing blog post by ID. + """Update an existing blog post by ID. Args: db (Session): The database session. @@ -215,8 +211,7 @@ def delete_blog( db: Session, id: int, ) -> None: - """ - Delete a blog post by ID (soft delete). + """Delete a blog post by ID (soft delete). Args: db (Session): The database session. diff --git a/main.py b/main.py index 1549cf1..3daace4 100644 --- a/main.py +++ b/main.py @@ -70,7 +70,7 @@ async def get_root(request: Request) -> JSONResponse: { "message": "Welcome to My API", "URL": request.url._url, - } + }, ) diff --git a/tests/v1/blog/test_create_blog.py b/tests/v1/blog/test_create_blog.py index 6805504..c51a002 100644 --- a/tests/v1/blog/test_create_blog.py +++ b/tests/v1/blog/test_create_blog.py @@ -40,7 +40,9 @@ def test_create_blog_success(db_session_mock): db_session_mock.add.side_effect = lambda x: setattr(x, "id", 1) db_session_mock.commit.side_effect = lambda: None db_session_mock.refresh.side_effect = lambda blog: setattr( - blog, "created_at", datetime.now(timezone.utc) + blog, + "created_at", + datetime.now(timezone.utc), ) or setattr(blog, "updated_at", datetime.now(timezone.utc)) # Creating the mock blog object @@ -53,7 +55,9 @@ def test_create_blog_success(db_session_mock): db_session_mock.add.side_effect = lambda x: setattr(x, "id", blog_mock.id) db_session_mock.commit.side_effect = lambda: None db_session_mock.refresh.side_effect = lambda x: setattr( - x, "created_at", blog_mock.created_at + x, + "created_at", + blog_mock.created_at, ) or setattr(x, "updated_at", blog_mock.updated_at) response = client.post("/api/v1/blogs", json=new_blog_data) @@ -123,7 +127,6 @@ def test_create_blog_invalid_data(): def test_create_blog_boundary_testing(db_session_mock): """Test maximum length constraints for title and excerpt.""" - boundary_blog_data = { "title": "T" * 255, # Maximum allowed length for title "excerpt": "E" * 300, # Maximum allowed length for excerpt @@ -136,7 +139,9 @@ def test_create_blog_boundary_testing(db_session_mock): db_session_mock.add.side_effect = lambda x: setattr(x, "id", 1) db_session_mock.commit.side_effect = lambda: None db_session_mock.refresh.side_effect = lambda x: setattr( - x, "created_at", datetime.now(timezone.utc) + x, + "created_at", + datetime.now(timezone.utc), ) or setattr(x, "updated_at", datetime.now(timezone.utc)) response = client.post("/api/v1/blogs", json=boundary_blog_data) @@ -150,7 +155,8 @@ def test_create_blog_boundary_testing(db_session_mock): assert "created_at" in response_data assert "updated_at" in response_data assert isinstance( - response_data["created_at"], str + response_data["created_at"], + str, ) # Check if it's a string representation of a datetime assert isinstance(response_data["updated_at"], str) diff --git a/tests/v1/blog/test_list_blog.py b/tests/v1/blog/test_list_blog.py index 8eb6d68..7185c62 100644 --- a/tests/v1/blog/test_list_blog.py +++ b/tests/v1/blog/test_list_blog.py @@ -46,7 +46,7 @@ def test_successful_retrieval_of_paginated_blog_posts(db_session_mock): ) db_session_mock.query().filter().order_by().offset().limit().all.return_value = [ - blog1 + blog1, ] db_session_mock.query().filter().order_by().count.return_value = 2 diff --git a/tests/v1/blog/test_update_blog.py b/tests/v1/blog/test_update_blog.py index d9d7d39..052f8a1 100644 --- a/tests/v1/blog/test_update_blog.py +++ b/tests/v1/blog/test_update_blog.py @@ -50,7 +50,9 @@ def test_update_blog_success(db_session_mock): ] db_session_mock.commit.side_effect = lambda: None db_session_mock.refresh.side_effect = lambda blog: setattr( - blog, "updated_at", datetime.now(timezone.utc) + blog, + "updated_at", + datetime.now(timezone.utc), ) response = client.patch(f"/api/v1/blogs/{existing_blog.id}", json=updated_data) @@ -158,7 +160,9 @@ def test_update_blog_invalid_data(db_session_mock): ] db_session_mock.commit.side_effect = lambda: None db_session_mock.refresh.side_effect = lambda blog: setattr( - blog, "updated_at", datetime.now(timezone.utc) + blog, + "updated_at", + datetime.now(timezone.utc), ) response = client.patch(f"/api/v1/blogs/{existing_blog.id}", json=invalid_data) @@ -190,11 +194,14 @@ def test_update_blog_boundary_testing(db_session_mock): ] db_session_mock.commit.side_effect = lambda: None db_session_mock.refresh.side_effect = lambda blog: setattr( - blog, "updated_at", datetime.now(timezone.utc) + blog, + "updated_at", + datetime.now(timezone.utc), ) response = client.patch( - f"/api/v1/blogs/{existing_blog.id}", json=boundary_blog_data + f"/api/v1/blogs/{existing_blog.id}", + json=boundary_blog_data, ) assert response.status_code == 200