Skip to content
This repository was archived by the owner on Apr 2, 2025. It is now read-only.

Commit 73b9c03

Browse files
sort out the conftest a bit more
1 parent 1ac2cc8 commit 73b9c03

File tree

2 files changed

+21
-48
lines changed

2 files changed

+21
-48
lines changed

tests/conftest.py

Lines changed: 20 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,19 @@
22
from urllib.parse import urljoin
33
from uuid import uuid4
44
import pytest
5-
from datetime import datetime, timezone, timedelta
5+
from datetime import datetime, timezone, timedelta, UTC
66
from geojson_pydantic import Point
77
from pytest import Parser, fixture
88

99
from stapi_fastapi.models.product import Product, Provider, ProviderRole
10-
from stapi_fastapi.main_router import MainRouter
1110
from stapi_fastapi.models.shared import Link
12-
from stapi_fastapi.models.opportunity import OpportunityProperties, Opportunity
11+
from stapi_fastapi.models.opportunity import OpportunityProperties, Opportunity, OpportunityRequest
1312
from stapi_fastapi.types.datetime_interval import DatetimeInterval
1413

1514
from collections.abc import Iterator
16-
from datetime import UTC, datetime
17-
from typing import Callable
18-
from urllib.parse import urljoin
19-
20-
import pytest
2115
from fastapi import FastAPI
2216
from fastapi.testclient import TestClient
23-
from geojson_pydantic import Point
2417
from pydantic import BaseModel
25-
from stapi_fastapi.models.opportunity import Opportunity, OpportunityRequest
26-
from stapi_fastapi.models.product import Product, Provider, ProviderRole
2718
from stapi_fastapi.products_router import ProductRouter
2819

2920
from .backend import TestBackend
@@ -38,13 +29,30 @@ def base_url() -> Iterator[str]:
3829
def stapi_backend() -> Iterator[TestBackend]:
3930
yield TestBackend()
4031

32+
@pytest.fixture
33+
def mock_product_umbra_spotlight(mock_provider_umbra: Provider) -> Product:
34+
"""Fixture for a mock Umbra Spotlight product."""
35+
36+
return Product(
37+
id=str(uuid4()),
38+
title="Umbra Spotlight Product",
39+
description="Test product for umbra spotlight",
40+
license="CC-BY-4.0",
41+
keywords=["test", "umbra", "satellite"],
42+
providers=[mock_provider_umbra],
43+
links=[
44+
Link(href="http://example.com", rel="self"),
45+
Link(href="http://example.com/catalog", rel="parent"),
46+
],
47+
parameters=UmbraSpotlightProperties
48+
)
4149

4250
@pytest.fixture
4351
def stapi_client(stapi_backend, base_url: str) -> Iterator[TestClient]:
4452
app = FastAPI()
4553

4654
app.include_router(
47-
ProductRouter(backend=stapi_backend).router,
55+
ProductRouter(mock_product_umbra_spotlight),
4856
prefix="",
4957
)
5058

@@ -135,23 +143,6 @@ def base_url() -> YieldFixture[str]:
135143
yield "http://stapiserver"
136144

137145

138-
@fixture
139-
def stapi_backend():
140-
yield TestBackend()
141-
142-
143-
@fixture
144-
def stapi_client(stapi_backend, base_url: str) -> YieldFixture[TestClient]:
145-
app = FastAPI()
146-
147-
app.include_router(
148-
MainRouter(backend=stapi_backend).router,
149-
prefix="",
150-
)
151-
152-
yield TestClient(app, base_url=f"{base_url}")
153-
154-
155146
@fixture(scope="session")
156147
def url_for(base_url: str) -> YieldFixture[Callable[[str], str]]:
157148
def with_trailing_slash(value: str) -> str:
@@ -175,24 +166,6 @@ def mock_provider_umbra() -> Provider:
175166
class UmbraSpotlightProperties(OpportunityProperties):
176167
datetime: DatetimeInterval
177168

178-
@pytest.fixture
179-
def mock_product_umbra_spotlight(mock_provider_umbra: Provider) -> Product:
180-
"""Fixture for a mock Umbra Spotlight product."""
181-
182-
return Product(
183-
id=str(uuid4()),
184-
title="Umbra Spotlight Product",
185-
description="Test product for umbra spotlight",
186-
license="CC-BY-4.0",
187-
keywords=["test", "umbra", "satellite"],
188-
providers=[mock_provider_umbra],
189-
links=[
190-
Link(href="http://example.com", rel="self"),
191-
Link(href="http://example.com/catalog", rel="parent"),
192-
],
193-
parameters=UmbraSpotlightProperties
194-
)
195-
196169
@pytest.fixture
197170
def mock_products(mock_product_umbra_spotlight: Product) -> List[Product]:
198171
"""Fixture to return a list of mock products."""

tests/opportunity_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from datetime import UTC, datetime, timedelta
44

55
from fastapi.testclient import TestClient
6-
from stapi_fastapi.models.opportunity import Opportunity, OpportunityCollection
6+
from stapi_fastapi.models.opportunity import Opportunity
77
from stapi_fastapi.models.product import Product
88

99
from .backend import TestBackend

0 commit comments

Comments
 (0)