Skip to content
This repository was archived by the owner on Sep 28, 2023. It is now read-only.

Commit b8b6641

Browse files
committed
added fixtures
1 parent 9cdf398 commit b8b6641

3 files changed

Lines changed: 18 additions & 5 deletions

File tree

fastapi_plan/template/{{cookiecutter.project_name}}/app/tests/conftest.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
from app.schemas.user import UserCreateBySuperuser
21
import pytest
32
from asyncio import AbstractEventLoop as EventLoop
43
from typing import Generator
54
from fastapi.testclient import TestClient
65
from tortoise.contrib.test import finalizer, initializer
76
from app.main import create_app
7+
from app import models, schemas, crud
88
from app.tests.utils.utils import user_authentication_headers
99

1010
app = create_app()
1111

12-
default_superuser = UserCreateBySuperuser(
12+
default_superuser = schemas.UserCreateBySuperuser(
1313
email="admin@admin.com",
1414
password="admin",
1515
is_superuser=True,
1616
is_active=True,
1717
)
1818

19-
default_user = UserCreateBySuperuser(
19+
default_user = schemas.UserCreateBySuperuser(
2020
email="user@user.com",
2121
password="user",
2222
is_superuser=False,
@@ -37,6 +37,15 @@ def event_loop(client: TestClient) -> Generator:
3737
yield client.task.get_loop()
3838

3939

40+
@pytest.fixture(scope="module")
41+
def normal_user(event_loop: EventLoop) -> Generator:
42+
user: models.User = event_loop.run_until_complete(
43+
crud.user.create_by_superuser(default_user)
44+
)
45+
yield user
46+
event_loop.run_until_complete(user.delete())
47+
48+
4049
@pytest.fixture(scope="module")
4150
def superuser_token_headers(client: TestClient, event_loop: EventLoop) -> Generator:
4251
headers = user_authentication_headers(

fastapi_plan/template/{{cookiecutter.project_name}}/app/tests/utils/utils.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
from app.schemas import UserCreateBySuperuser
99

1010

11+
def random_integer_below_100() -> int:
12+
return random.randint(0, 99)
13+
14+
1115
def random_lower_string(length=20) -> str:
1216
return "".join(random.choices(string.ascii_lowercase, k=length))
1317

@@ -34,4 +38,4 @@ def user_authentication_headers(
3438
response = r.json()
3539
auth_token = response["access_token"]
3640
headers = {"Authorization": f"Bearer {auth_token}"}
37-
return headers
41+
return headers

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "fastapi-plan"
3-
version = "0.3.0"
3+
version = "0.3.1"
44
description = "Dead simple template manager for FastAPI applications"
55
license = "MIT"
66
readme = "README.md"

0 commit comments

Comments
 (0)