diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 60699e5..5e0e2e0 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -14,7 +14,7 @@ jobs: run: docker compose build - name: Migration test database - run: docker compose run django poetry run python manage.py migrate + run: docker compose run django poetry run python src/manage.py migrate - name: Run isort run: docker compose run django poetry run isort . --check @@ -26,4 +26,4 @@ jobs: run: docker compose run django poetry run flake8 - name: Run Test - run: docker compose run django poetry run python3 manage.py test + run: docker compose run django poetry run python3 src/manage.py test diff --git a/Dockerfile b/Dockerfile index d62171d..f5bd247 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,10 +13,10 @@ RUN python3 -m venv $POETRY_VENV \ ENV PATH="${PATH}:${POETRY_VENV}/bin" RUN mkdir /app/ -WORKDIR /app/ +RUN mkdir /app/src/ +WORKDIR /app -COPY pyproject.toml ./ +COPY pyproject.toml /app/ +COPY setup.cfg /app/ RUN poetry install - -COPY . /app diff --git a/docker-compose.yml b/docker-compose.yml index 3d37262..8d895c0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,9 +21,12 @@ services: build: context: . dockerfile: Dockerfile - command: poetry run python manage.py runserver 0.0.0.0:8000 + command: > + bash -c "poetry run python src/manage.py makemigrations && + poetry run python src/manage.py migrate && + poetry run python src/manage.py runserver 0.0.0.0:8000" volumes: - - .:/app + - ./src:/app/src/ environment: - POSTGRESQL_HOST=postgres ports: diff --git a/common/__init__.py b/src/common/__init__.py similarity index 100% rename from common/__init__.py rename to src/common/__init__.py diff --git a/common/apps.py b/src/common/apps.py similarity index 100% rename from common/apps.py rename to src/common/apps.py diff --git a/common/decorator.py b/src/common/decorator.py similarity index 100% rename from common/decorator.py rename to src/common/decorator.py diff --git a/common/exceptions.py b/src/common/exceptions.py similarity index 100% rename from common/exceptions.py rename to src/common/exceptions.py diff --git a/common/tests/__init__.py b/src/common/tests/__init__.py similarity index 100% rename from common/tests/__init__.py rename to src/common/tests/__init__.py diff --git a/common/tests/decorator/__init__.py b/src/common/tests/decorator/__init__.py similarity index 100% rename from common/tests/decorator/__init__.py rename to src/common/tests/decorator/__init__.py diff --git a/common/tests/decorator/test_query_parameter_decorator.py b/src/common/tests/decorator/test_query_parameter_decorator.py similarity index 100% rename from common/tests/decorator/test_query_parameter_decorator.py rename to src/common/tests/decorator/test_query_parameter_decorator.py diff --git a/common/tests/utils/__init__.py b/src/common/tests/utils/__init__.py similarity index 100% rename from common/tests/utils/__init__.py rename to src/common/tests/utils/__init__.py diff --git a/common/tests/utils/test_date_utils.py b/src/common/tests/utils/test_date_utils.py similarity index 100% rename from common/tests/utils/test_date_utils.py rename to src/common/tests/utils/test_date_utils.py diff --git a/common/urls.py b/src/common/urls.py similarity index 100% rename from common/urls.py rename to src/common/urls.py diff --git a/common/utils.py b/src/common/utils.py similarity index 100% rename from common/utils.py rename to src/common/utils.py diff --git a/common/views.py b/src/common/views.py similarity index 100% rename from common/views.py rename to src/common/views.py diff --git a/config/__init__.py b/src/config/__init__.py similarity index 100% rename from config/__init__.py rename to src/config/__init__.py diff --git a/config/asgi.py b/src/config/asgi.py similarity index 100% rename from config/asgi.py rename to src/config/asgi.py diff --git a/config/settings.py b/src/config/settings.py similarity index 100% rename from config/settings.py rename to src/config/settings.py index 7f64160..3465ab1 100644 --- a/config/settings.py +++ b/src/config/settings.py @@ -1,8 +1,8 @@ -from pathlib import Path -import environ import os from datetime import timedelta +from pathlib import Path +import environ BASE_DIR = Path(__file__).resolve().parent.parent diff --git a/config/urls.py b/src/config/urls.py similarity index 96% rename from config/urls.py rename to src/config/urls.py index c81be31..2bfe39e 100644 --- a/config/urls.py +++ b/src/config/urls.py @@ -1,12 +1,10 @@ -from rest_framework import permissions - -from django.contrib import admin -from django.urls import path, include from django.conf import settings from django.conf.urls.static import static - -from drf_yasg.views import get_schema_view +from django.contrib import admin +from django.urls import include, path from drf_yasg import openapi +from drf_yasg.views import get_schema_view +from rest_framework import permissions schema_view = get_schema_view( openapi.Info( diff --git a/config/wsgi.py b/src/config/wsgi.py similarity index 100% rename from config/wsgi.py rename to src/config/wsgi.py diff --git a/likes/__init__.py b/src/likes/__init__.py similarity index 100% rename from likes/__init__.py rename to src/likes/__init__.py diff --git a/likes/apps.py b/src/likes/apps.py similarity index 100% rename from likes/apps.py rename to src/likes/apps.py diff --git a/likes/migrations/__init__.py b/src/likes/migrations/__init__.py similarity index 100% rename from likes/migrations/__init__.py rename to src/likes/migrations/__init__.py diff --git a/likes/serializers.py b/src/likes/serializers.py similarity index 100% rename from likes/serializers.py rename to src/likes/serializers.py diff --git a/likes/tests.py b/src/likes/tests.py similarity index 100% rename from likes/tests.py rename to src/likes/tests.py diff --git a/likes/urls.py b/src/likes/urls.py similarity index 100% rename from likes/urls.py rename to src/likes/urls.py diff --git a/likes/views.py b/src/likes/views.py similarity index 100% rename from likes/views.py rename to src/likes/views.py diff --git a/manage.py b/src/manage.py similarity index 100% rename from manage.py rename to src/manage.py diff --git a/posts/__init__.py b/src/posts/__init__.py similarity index 100% rename from posts/__init__.py rename to src/posts/__init__.py diff --git a/posts/admin.py b/src/posts/admin.py similarity index 100% rename from posts/admin.py rename to src/posts/admin.py diff --git a/posts/apps.py b/src/posts/apps.py similarity index 100% rename from posts/apps.py rename to src/posts/apps.py diff --git a/posts/filters.py b/src/posts/filters.py similarity index 100% rename from posts/filters.py rename to src/posts/filters.py diff --git a/posts/migrations/0001_initial.py b/src/posts/migrations/0001_initial.py similarity index 100% rename from posts/migrations/0001_initial.py rename to src/posts/migrations/0001_initial.py diff --git a/posts/migrations/0002_post_content_id.py b/src/posts/migrations/0002_post_content_id.py similarity index 100% rename from posts/migrations/0002_post_content_id.py rename to src/posts/migrations/0002_post_content_id.py diff --git a/posts/migrations/__init__.py b/src/posts/migrations/__init__.py similarity index 100% rename from posts/migrations/__init__.py rename to src/posts/migrations/__init__.py diff --git a/posts/models.py b/src/posts/models.py similarity index 100% rename from posts/models.py rename to src/posts/models.py diff --git a/posts/paginations.py b/src/posts/paginations.py similarity index 100% rename from posts/paginations.py rename to src/posts/paginations.py diff --git a/posts/serializers.py b/src/posts/serializers.py similarity index 100% rename from posts/serializers.py rename to src/posts/serializers.py diff --git a/posts/signals.py b/src/posts/signals.py similarity index 100% rename from posts/signals.py rename to src/posts/signals.py diff --git a/posts/tests/__init__.py b/src/posts/tests/__init__.py similarity index 100% rename from posts/tests/__init__.py rename to src/posts/tests/__init__.py diff --git a/posts/tests/views/__init__.py b/src/posts/tests/views/__init__.py similarity index 100% rename from posts/tests/views/__init__.py rename to src/posts/tests/views/__init__.py diff --git a/posts/tests/views/test_posts_detail_view.py b/src/posts/tests/views/test_posts_detail_view.py similarity index 100% rename from posts/tests/views/test_posts_detail_view.py rename to src/posts/tests/views/test_posts_detail_view.py diff --git a/posts/tests/views/test_posts_list_view.py b/src/posts/tests/views/test_posts_list_view.py similarity index 97% rename from posts/tests/views/test_posts_list_view.py rename to src/posts/tests/views/test_posts_list_view.py index e4475af..7174dec 100644 --- a/posts/tests/views/test_posts_list_view.py +++ b/src/posts/tests/views/test_posts_list_view.py @@ -59,7 +59,7 @@ def test_get_posts_list_success(self): path=reverse("list"), data={"type": "all", "hashtag": self.hashtag1.id, "ordering": "created_at", "search": ""}, ) - print(response.data) # 서버의 응답 내용 출력 + self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data), 4) # 예상되는 게시물 개수 확인 for item in response.data: diff --git a/posts/tests/views/test_statistics_list_view.py b/src/posts/tests/views/test_statistics_list_view.py similarity index 100% rename from posts/tests/views/test_statistics_list_view.py rename to src/posts/tests/views/test_statistics_list_view.py diff --git a/posts/urls.py b/src/posts/urls.py similarity index 100% rename from posts/urls.py rename to src/posts/urls.py diff --git a/posts/views.py b/src/posts/views.py similarity index 100% rename from posts/views.py rename to src/posts/views.py diff --git a/shares/__init__.py b/src/shares/__init__.py similarity index 100% rename from shares/__init__.py rename to src/shares/__init__.py diff --git a/shares/apps.py b/src/shares/apps.py similarity index 100% rename from shares/apps.py rename to src/shares/apps.py diff --git a/shares/migrations/__init__.py b/src/shares/migrations/__init__.py similarity index 100% rename from shares/migrations/__init__.py rename to src/shares/migrations/__init__.py diff --git a/shares/serializers.py b/src/shares/serializers.py similarity index 100% rename from shares/serializers.py rename to src/shares/serializers.py diff --git a/shares/tests/__init__.py b/src/shares/tests/__init__.py similarity index 100% rename from shares/tests/__init__.py rename to src/shares/tests/__init__.py diff --git a/shares/tests/test_shares_api.py b/src/shares/tests/test_shares_api.py similarity index 100% rename from shares/tests/test_shares_api.py rename to src/shares/tests/test_shares_api.py diff --git a/shares/urls.py b/src/shares/urls.py similarity index 100% rename from shares/urls.py rename to src/shares/urls.py diff --git a/shares/views.py b/src/shares/views.py similarity index 100% rename from shares/views.py rename to src/shares/views.py diff --git a/users/__init__.py b/src/users/__init__.py similarity index 100% rename from users/__init__.py rename to src/users/__init__.py diff --git a/users/admin.py b/src/users/admin.py similarity index 100% rename from users/admin.py rename to src/users/admin.py diff --git a/users/apps.py b/src/users/apps.py similarity index 100% rename from users/apps.py rename to src/users/apps.py diff --git a/users/managers.py b/src/users/managers.py similarity index 100% rename from users/managers.py rename to src/users/managers.py diff --git a/users/migrations/0001_initial.py b/src/users/migrations/0001_initial.py similarity index 100% rename from users/migrations/0001_initial.py rename to src/users/migrations/0001_initial.py diff --git a/users/migrations/0002_user_username.py b/src/users/migrations/0002_user_username.py similarity index 100% rename from users/migrations/0002_user_username.py rename to src/users/migrations/0002_user_username.py diff --git a/users/migrations/__init__.py b/src/users/migrations/__init__.py similarity index 100% rename from users/migrations/__init__.py rename to src/users/migrations/__init__.py diff --git a/users/models.py b/src/users/models.py similarity index 100% rename from users/models.py rename to src/users/models.py diff --git a/users/serializers.py b/src/users/serializers.py similarity index 100% rename from users/serializers.py rename to src/users/serializers.py diff --git a/users/tests/__init__.py b/src/users/tests/__init__.py similarity index 100% rename from users/tests/__init__.py rename to src/users/tests/__init__.py diff --git a/users/tests/views/__init__.py b/src/users/tests/views/__init__.py similarity index 100% rename from users/tests/views/__init__.py rename to src/users/tests/views/__init__.py diff --git a/users/tests/views/test_confirm_user_view.py b/src/users/tests/views/test_confirm_user_view.py similarity index 100% rename from users/tests/views/test_confirm_user_view.py rename to src/users/tests/views/test_confirm_user_view.py diff --git a/users/tests/views/test_login_view.py b/src/users/tests/views/test_login_view.py similarity index 100% rename from users/tests/views/test_login_view.py rename to src/users/tests/views/test_login_view.py diff --git a/users/tests/views/test_signup_view.py b/src/users/tests/views/test_signup_view.py similarity index 100% rename from users/tests/views/test_signup_view.py rename to src/users/tests/views/test_signup_view.py diff --git a/users/urls.py b/src/users/urls.py similarity index 100% rename from users/urls.py rename to src/users/urls.py diff --git a/users/views.py b/src/users/views.py similarity index 100% rename from users/views.py rename to src/users/views.py