From fc13dad0763594585cf910e594ff43215c4c516b Mon Sep 17 00:00:00 2001 From: Conrad Date: Mon, 1 Apr 2024 19:44:13 +0200 Subject: [PATCH] feat: Added tests --- .github/workflows/lint.yml | 2 +- test.py | 41 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 test.py diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index cd38fbc..b027f68 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -47,7 +47,7 @@ jobs: major-identifier: "breaking:" - name: Create Tag - run: git tag -a v${{ steps.git_version.outputs.version }} -m "v${{ steps.git_version.outputs.version }}" + run: git tag -a ${{ steps.git_version.outputs.version }} -m "${{ steps.git_version.outputs.version }}" - uses: stefanzweifel/git-auto-commit-action@v5 with: diff --git a/test.py b/test.py new file mode 100644 index 0000000..0980648 --- /dev/null +++ b/test.py @@ -0,0 +1,41 @@ +import unittest + +from fastapi.routing import APIRoute + +from creyPY.fastapi.app import generate_unique_id + + +class TestMyFunction(unittest.TestCase): + def test_generate_unique_id(self): + # Test case 1: Route with no path parameters and GET method + route1 = APIRoute(path="/users", methods={"GET"}, endpoint=lambda: None) + assert generate_unique_id(route1) == "users_list" + + # Test case 2: Route with path parameters and POST method + route2 = APIRoute(path="/users/{user_id}", methods={"POST"}, endpoint=lambda: None) + assert generate_unique_id(route2) == "users_post" + + # Test case 3: Route with path parameters and multiple methods + route3 = APIRoute(path="/users/{user_id}", methods={"GET", "PUT"}, endpoint=lambda: None) + result = generate_unique_id(route3) + assert result == "users_get" or result == "users_put" + + # Test case 4: Route with special characters in path + route4 = APIRoute( + path="/users/{user_id}/posts/{post_id}", methods={"DELETE"}, endpoint=lambda: None + ) + assert generate_unique_id(route4) == "users_posts_delete" + + # Test case 5: Route with multiple path parameters and PATCH method + route5 = APIRoute( + path="/users/{user_id}/posts/{post_id}", methods={"PATCH"}, endpoint=lambda: None + ) + assert generate_unique_id(route5) == "users_posts_patch" + + # Test case 6: Route with no path parameters and PUT method + route6 = APIRoute(path="/users", methods={"PUT"}, endpoint=lambda: None) + assert generate_unique_id(route6) == "users_put" + + +if __name__ == "__main__": + unittest.main()