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

Commit 99ca0c2

Browse files
author
Phil Varner
committed
move around some code
1 parent 0a67ec0 commit 99ca0c2

File tree

6 files changed

+45
-41
lines changed

6 files changed

+45
-41
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ repos:
1313
rev: v0.7.3
1414
hooks:
1515
- id: ruff
16-
args: [--fix, --exit-non-zero-on-fix]
16+
args: [--fix, --select, I, --exit-non-zero-on-fix]
1717
- id: ruff-format
1818
- repo: https://github.com/pre-commit/mirrors-mypy
1919
rev: v1.13.0

tests/conftest.py

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,12 @@
1212

1313
from stapi_fastapi.models.opportunity import (
1414
Opportunity,
15-
OpportunityProperties,
1615
)
17-
from stapi_fastapi.models.order import OrderParameters, OrderRequest
1816
from stapi_fastapi.models.product import Product, Provider, ProviderRole
1917
from stapi_fastapi.routers.root_router import RootRouter
2018

2119
from .backends import MockOrderDB, MockProductBackend, MockRootBackend
22-
from .utils import find_link
23-
24-
25-
class TestSpotlightProperties(OpportunityProperties):
26-
off_nadir: int
27-
28-
29-
class TestSpotlightOrderParameters(OrderParameters):
30-
s3_path: str | None = None
20+
from .shared import SpotlightOpportunityProperties, SpotlightOrderParameters, find_link
3121

3222

3323
@pytest.fixture(scope="session")
@@ -63,8 +53,8 @@ def mock_product_test_spotlight(
6353
keywords=["test", "satellite"],
6454
providers=[mock_provider],
6555
links=[],
66-
constraints=TestSpotlightProperties,
67-
order_parameters=TestSpotlightOrderParameters,
56+
constraints=SpotlightOpportunityProperties,
57+
order_parameters=SpotlightOrderParameters,
6858
backend=product_backend,
6959
)
7060

@@ -141,26 +131,9 @@ def mock_test_spotlight_opportunities() -> list[Opportunity]:
141131
type="Point",
142132
coordinates=Position2D(longitude=0.0, latitude=0.0),
143133
),
144-
properties=TestSpotlightProperties(
134+
properties=SpotlightOpportunityProperties(
145135
datetime=(start, end),
146136
off_nadir=20,
147137
),
148138
),
149139
]
150-
151-
152-
@pytest.fixture
153-
def create_order_allowed_payloads() -> list[OrderRequest]:
154-
return [
155-
OrderRequest(
156-
geometry=Point(
157-
type="Point", coordinates=Position2D(longitude=13.4, latitude=52.5)
158-
),
159-
datetime=(
160-
datetime.fromisoformat("2024-11-11T18:55:33Z"),
161-
datetime.fromisoformat("2024-11-15T18:55:33Z"),
162-
),
163-
filter=None,
164-
order_parameters=TestSpotlightOrderParameters(s3_path="BUCKET"),
165-
),
166-
]

tests/order_test.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,37 @@
33
import pytest
44
from fastapi import status
55
from fastapi.testclient import TestClient
6+
from geojson_pydantic import Point
7+
from geojson_pydantic.types import Position2D
68
from httpx import Response
79

810
from stapi_fastapi.models.order import OrderRequest
911

1012
from .backends import MockProductBackend
11-
from .utils import find_link
13+
from .shared import SpotlightOrderParameters, find_link
1214

1315
NOW = datetime.now(UTC)
1416
START = NOW
1517
END = START + timedelta(days=5)
1618

1719

20+
@pytest.fixture
21+
def create_order_allowed_payloads() -> list[OrderRequest]:
22+
return [
23+
OrderRequest(
24+
geometry=Point(
25+
type="Point", coordinates=Position2D(longitude=13.4, latitude=52.5)
26+
),
27+
datetime=(
28+
datetime.fromisoformat("2024-11-11T18:55:33Z"),
29+
datetime.fromisoformat("2024-11-15T18:55:33Z"),
30+
),
31+
filter=None,
32+
order_parameters=SpotlightOrderParameters(s3_path="BUCKET"),
33+
),
34+
]
35+
36+
1837
@pytest.fixture
1938
def new_order_response(
2039
product_id: str,

tests/product_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from fastapi import status
33
from fastapi.testclient import TestClient
44

5-
from .utils import find_link
5+
from .shared import find_link
66

77

88
def test_products_response(stapi_client: TestClient):

tests/shared.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
from typing import Any
2+
3+
from stapi_fastapi.models.opportunity import OpportunityProperties
4+
from stapi_fastapi.models.order import OrderParameters
5+
6+
7+
class SpotlightOpportunityProperties(OpportunityProperties):
8+
off_nadir: int
9+
10+
11+
class SpotlightOrderParameters(OrderParameters):
12+
s3_path: str | None = None
13+
14+
15+
type link_dict = dict[str, Any]
16+
17+
18+
def find_link(links: list[link_dict], rel: str) -> link_dict | None:
19+
return next((link for link in links if link["rel"] == rel), None)

tests/utils.py

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)