mirror of
https://github.com/ijaric/voice_assistant.git
synced 2025-05-24 22:43:26 +00:00
fix: [#8] get_api to property
This commit is contained in:
parent
5cdefbc031
commit
d23d94da82
|
@ -16,3 +16,5 @@ class Settings(pydantic_settings.BaseSettings):
|
|||
project: app_split_settings.ProjectSettings = pydantic.Field(
|
||||
default_factory=lambda: app_split_settings.ProjectSettings()
|
||||
)
|
||||
|
||||
print(Settings())
|
||||
|
|
|
@ -12,7 +12,7 @@ import tests.functional.models as functional_models
|
|||
|
||||
@pytest_asyncio.fixture # type: ignore[reportUntypedFunctionDecorator]
|
||||
async def http_client(
|
||||
base_url: str = tests_core_settings.tests_settings.api.get_api_url(),
|
||||
base_url: str = tests_core_settings.tests_settings.api.get_api_url,
|
||||
) -> typing.AsyncGenerator[httpx.AsyncClient, typing.Any]:
|
||||
session = httpx.AsyncClient(base_url=base_url)
|
||||
yield session
|
||||
|
@ -56,7 +56,7 @@ def app() -> fastapi.FastAPI:
|
|||
@pytest_asyncio.fixture # type: ignore[reportUntypedFunctionDecorator]
|
||||
async def app_http_client(
|
||||
app: fastapi.FastAPI,
|
||||
base_url: str = tests_core_settings.tests_settings.api.get_api_url(),
|
||||
base_url: str = tests_core_settings.tests_settings.api.get_api_url,
|
||||
) -> typing.AsyncGenerator[httpx.AsyncClient, typing.Any]:
|
||||
session = httpx.AsyncClient(app=app, base_url=base_url)
|
||||
yield session
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import pydantic
|
||||
import pydantic_settings
|
||||
|
||||
import lib.app.split_settings.utils as app_split_settings_utils
|
||||
|
@ -6,7 +7,7 @@ import lib.app.split_settings.utils as app_split_settings_utils
|
|||
class ApiSettings(pydantic_settings.BaseSettings):
|
||||
model_config = pydantic_settings.SettingsConfigDict(
|
||||
env_file=app_split_settings_utils.ENV_PATH,
|
||||
env_prefix="API_",
|
||||
env_prefix="TEST_API_",
|
||||
env_file_encoding="utf-8",
|
||||
extra="ignore",
|
||||
)
|
||||
|
@ -15,5 +16,7 @@ class ApiSettings(pydantic_settings.BaseSettings):
|
|||
host: str = "0.0.0.0"
|
||||
port: int = 8000
|
||||
|
||||
def get_api_url(self):
|
||||
@pydantic.computed_field
|
||||
@property
|
||||
def get_api_url(self) -> str:
|
||||
return f"{self.protocol}://{self.host}:{self.port}/api/v1"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import pathlib
|
||||
|
||||
BASE_PATH = pathlib.Path(__file__).parent.parent.parent.parent.resolve()
|
||||
BASE_PATH = pathlib.Path(__file__).parent.parent.parent.parent.parent.resolve()
|
||||
ENV_PATH = BASE_PATH / ".env"
|
||||
|
|
|
@ -26,7 +26,7 @@ class MakeResponseCallableType(typing.Protocol):
|
|||
async def __call__(
|
||||
self,
|
||||
api_method: str = "",
|
||||
url: str = functional_settings.tests_settings.api.get_api_url(),
|
||||
url: str = functional_settings.tests_settings.api.get_api_url,
|
||||
method: MethodsEnum = MethodsEnum.GET,
|
||||
headers: dict[str, str] = functional_settings.tests_settings.project.headers,
|
||||
body: dict[str, typing.Any] | None = None,
|
||||
|
|
Loading…
Reference in New Issue
Block a user