Skip to content

Commit ff453bb

Browse files
authored
993 progress: convert last 4 files outside of extensions/ (#1530)
* 993 convert assertions in test_cache.py * 993 declass test_cache.py * 993 finalize test_cache.py w/ pre-commit * 993 prep test_common_metadata.py for pytest * 993 convert assertions to pytest * 993 declass ITEM_1 test functions * 993 declass ITEM_2 tests * 993 prep TestAssetCommonMetadata for conversion * 993 convert first test into new class * 993 convert TestAssetCommonMetadata to pytest * 993 ruff gettin rough with my formatting * 993 convert validation/test_schema_uri_map.py to pytest * 993 convert test_identify.py to pytest * 993 forgot to remove a comment
1 parent 6d0bf65 commit ff453bb

File tree

4 files changed

+385
-420
lines changed

4 files changed

+385
-420
lines changed

tests/serialization/test_identify.py

Lines changed: 40 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import unittest
2-
31
import pytest
42

53
import pystac
@@ -93,42 +91,43 @@ def test_identify_invalid_with_stac_version(self) -> None:
9391
assert identify_stac_object_type(not_stac) is None
9492

9593

96-
class VersionTest(unittest.TestCase):
97-
def test_version_ordering(self) -> None:
98-
self.assertEqual(STACVersionID("0.9.0"), STACVersionID("0.9.0"))
99-
self.assertFalse(STACVersionID("0.9.0") < STACVersionID("0.9.0"))
100-
self.assertFalse(STACVersionID("0.9.0") != STACVersionID("0.9.0"))
101-
self.assertFalse(STACVersionID("0.9.0") > STACVersionID("0.9.0"))
102-
self.assertTrue(STACVersionID("1.0.0-beta.2") < "1.0.0")
103-
self.assertTrue(STACVersionID("0.9.1") > "0.9.0")
104-
self.assertFalse(STACVersionID("0.9.0") > "0.9.0")
105-
self.assertTrue(STACVersionID("0.9.0") <= "0.9.0")
106-
self.assertTrue(STACVersionID("1.0.0-beta.1") <= STACVersionID("1.0.0-beta.2"))
107-
self.assertFalse(STACVersionID("1.0.0") < STACVersionID("1.0.0-beta.2"))
108-
109-
def test_version_range_ordering(self) -> None:
110-
version_range = STACVersionRange("0.9.0", "1.0.0-beta.2")
111-
self.assertIsInstance(str(version_range), str)
112-
self.assertTrue(version_range.contains("1.0.0-beta.1"))
113-
self.assertFalse(version_range.contains("1.0.0"))
114-
self.assertTrue(version_range.is_later_than("0.8.9"))
115-
116-
version_range = STACVersionRange("0.9.0", "1.0.0-beta.1")
117-
self.assertFalse(version_range.contains("1.0.0-beta.2"))
118-
119-
version_range = STACVersionRange(min_version="0.6.0-rc1", max_version="0.9.0")
120-
self.assertTrue(version_range.contains("0.9.0"))
121-
122-
def test_version_range_set_to_single(self) -> None:
123-
version_range = STACVersionRange()
124-
version_range.set_min("1.0.0-beta.1")
125-
version_range.set_to_single("1.0.0")
126-
127-
self.assertTrue(version_range.contains("1.0.0"))
128-
129-
def test_version_range_set_min_and_max_directly(self) -> None:
130-
version_range = STACVersionRange()
131-
version_range.min_version = "1.0.0-beta.1" # type:ignore
132-
version_range.max_version = "1.1.0" # type:ignore
133-
134-
self.assertTrue(version_range.contains("1.0.0"))
94+
def test_version_ordering() -> None:
95+
assert STACVersionID("0.9.0") == STACVersionID("0.9.0")
96+
assert not STACVersionID("0.9.0") != STACVersionID("0.9.0")
97+
assert not STACVersionID("0.9.0") > STACVersionID("0.9.0")
98+
assert STACVersionID("1.0.0-beta.2") < "1.0.0"
99+
assert STACVersionID("0.9.1") > "0.9.0"
100+
assert not STACVersionID("0.9.0") > "0.9.0"
101+
assert STACVersionID("0.9.0") <= "0.9.0"
102+
assert STACVersionID("1.0.0-beta.1") <= STACVersionID("1.0.0-beta.2")
103+
assert not STACVersionID("1.0.0") < STACVersionID("1.0.0-beta.2")
104+
105+
106+
def test_version_range_ordering() -> None:
107+
version_range = STACVersionRange("0.9.0", "1.0.0-beta.2")
108+
assert isinstance(str(version_range), str)
109+
assert version_range.contains("1.0.0-beta.1")
110+
assert not version_range.contains("1.0.0")
111+
assert version_range.is_later_than("0.8.9")
112+
113+
version_range = STACVersionRange("0.9.0", "1.0.0-beta.1")
114+
assert not version_range.contains("1.0.0-beta.2")
115+
116+
version_range = STACVersionRange(min_version="0.6.0-rc1", max_version="0.9.0")
117+
assert version_range.contains("0.9.0")
118+
119+
120+
def test_version_range_set_to_single() -> None:
121+
version_range = STACVersionRange()
122+
version_range.set_min("1.0.0-beta.1")
123+
version_range.set_to_single("1.0.0")
124+
125+
assert version_range.contains("1.0.0")
126+
127+
128+
def test_version_range_set_min_and_max_directly() -> None:
129+
version_range = STACVersionRange()
130+
version_range.min_version = "1.0.0-beta.1" # type:ignore
131+
version_range.max_version = "1.1.0" # type:ignore
132+
133+
assert version_range.contains("1.0.0")

tests/test_cache.py

Lines changed: 63 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import unittest
21
from typing import Any
32

43
import pystac
@@ -15,71 +14,66 @@ def create_catalog(suffix: Any, include_href: bool = True) -> pystac.Catalog:
1514
)
1615

1716

18-
class ResolvedObjectCacheTest(unittest.TestCase):
19-
def tests_get_or_cache_returns_previously_cached_href(self) -> None:
20-
cache = ResolvedObjectCache()
21-
cat = create_catalog(1)
22-
cache_result_1 = cache.get_or_cache(cat)
23-
self.assertIs(cache_result_1, cat)
24-
25-
identical_cat = create_catalog(1)
26-
cache_result_2 = cache.get_or_cache(identical_cat)
27-
self.assertIs(cache_result_2, cat)
28-
29-
def test_get_or_cache_returns_previously_cached_id(self) -> None:
30-
cache = ResolvedObjectCache()
31-
cat = create_catalog(1, include_href=False)
32-
cache_result_1 = cache.get_or_cache(cat)
33-
self.assertIs(cache_result_1, cat)
34-
35-
identical_cat = create_catalog(1, include_href=False)
36-
cache_result_2 = cache.get_or_cache(identical_cat)
37-
self.assertIs(cache_result_2, cat)
38-
39-
40-
class ResolvedObjectCollectionCacheTest(unittest.TestCase):
41-
def test_merge(self) -> None:
42-
cat1 = create_catalog(1, include_href=False)
43-
cat2 = create_catalog(2)
44-
cat3 = create_catalog(3, include_href=False)
45-
cat4 = create_catalog(4)
46-
47-
identical_cat1 = create_catalog(1, include_href=False)
48-
identical_cat2 = create_catalog(2)
49-
50-
cached_ids_1: dict[str, Any] = {cat1.id: cat1}
51-
cached_hrefs_1: dict[str, Any] = {get_opt(cat2.get_self_href()): cat2}
52-
cached_ids_2: dict[str, Any] = {cat3.id: cat3, cat1.id: identical_cat1}
53-
cached_hrefs_2: dict[str, Any] = {
54-
get_opt(cat4.get_self_href()): cat4,
55-
get_opt(cat2.get_self_href()): identical_cat2,
56-
}
57-
cache1 = ResolvedObjectCollectionCache(
58-
ResolvedObjectCache(), cached_ids=cached_ids_1, cached_hrefs=cached_hrefs_1
59-
)
60-
cache2 = ResolvedObjectCollectionCache(
61-
ResolvedObjectCache(), cached_ids=cached_ids_2, cached_hrefs=cached_hrefs_2
62-
)
63-
64-
merged = ResolvedObjectCollectionCache.merge(
65-
ResolvedObjectCache(), cache1, cache2
66-
)
67-
68-
self.assertEqual(
69-
set(merged.cached_ids.keys()), {cat.id for cat in [cat1, cat3]}
70-
)
71-
self.assertIs(merged.get_by_id(cat1.id), cat1)
72-
self.assertEqual(
73-
set(merged.cached_hrefs.keys()),
74-
{cat.get_self_href() for cat in [cat2, cat4]},
75-
)
76-
self.assertIs(merged.get_by_href(get_opt(cat2.get_self_href())), cat2)
77-
78-
def test_cache(self) -> None:
79-
cache = ResolvedObjectCache().as_collection_cache()
80-
collection = TestCases.case_8()
81-
collection_json = collection.to_dict()
82-
cache.cache(collection_json, collection.get_self_href())
83-
cached = cache.get_by_id(collection.id)
84-
assert isinstance(cached, dict)
85-
self.assertEqual(cached["id"], collection.id)
17+
def test_ResolvedObjectCache_get_or_cache_returns_previously_cached_href() -> None:
18+
cache = ResolvedObjectCache()
19+
cat = create_catalog(1)
20+
cache_result_1 = cache.get_or_cache(cat)
21+
assert cache_result_1 is cat
22+
23+
identical_cat = create_catalog(1)
24+
cache_result_2 = cache.get_or_cache(identical_cat)
25+
assert cache_result_2 is cat
26+
27+
28+
def test_ResolvedObjectCache_get_or_cache_returns_previously_cached_id() -> None:
29+
cache = ResolvedObjectCache()
30+
cat = create_catalog(1, include_href=False)
31+
cache_result_1 = cache.get_or_cache(cat)
32+
assert cache_result_1 is cat
33+
34+
identical_cat = create_catalog(1, include_href=False)
35+
cache_result_2 = cache.get_or_cache(identical_cat)
36+
assert cache_result_2 is cat
37+
38+
39+
def test_ResolvedObjectCollectionCache_merge() -> None:
40+
cat1 = create_catalog(1, include_href=False)
41+
cat2 = create_catalog(2)
42+
cat3 = create_catalog(3, include_href=False)
43+
cat4 = create_catalog(4)
44+
45+
identical_cat1 = create_catalog(1, include_href=False)
46+
identical_cat2 = create_catalog(2)
47+
48+
cached_ids_1: dict[str, Any] = {cat1.id: cat1}
49+
cached_hrefs_1: dict[str, Any] = {get_opt(cat2.get_self_href()): cat2}
50+
cached_ids_2: dict[str, Any] = {cat3.id: cat3, cat1.id: identical_cat1}
51+
cached_hrefs_2: dict[str, Any] = {
52+
get_opt(cat4.get_self_href()): cat4,
53+
get_opt(cat2.get_self_href()): identical_cat2,
54+
}
55+
cache1 = ResolvedObjectCollectionCache(
56+
ResolvedObjectCache(), cached_ids=cached_ids_1, cached_hrefs=cached_hrefs_1
57+
)
58+
cache2 = ResolvedObjectCollectionCache(
59+
ResolvedObjectCache(), cached_ids=cached_ids_2, cached_hrefs=cached_hrefs_2
60+
)
61+
62+
merged = ResolvedObjectCollectionCache.merge(ResolvedObjectCache(), cache1, cache2)
63+
64+
assert set(merged.cached_ids.keys()) == {cat.id for cat in [cat1, cat3]}
65+
assert merged.get_by_id(cat1.id) is cat1
66+
assert set(merged.cached_hrefs.keys()) == {
67+
cat.get_self_href() for cat in [cat2, cat4]
68+
}
69+
assert merged.get_by_href(get_opt(cat2.get_self_href())) is cat2
70+
71+
72+
def test_ResolvedObjectCollectionCache_cache() -> None:
73+
cache = ResolvedObjectCache().as_collection_cache()
74+
collection = TestCases.case_8()
75+
collection_json = collection.to_dict()
76+
cache.cache(collection_json, collection.get_self_href())
77+
cached = cache.get_by_id(collection.id)
78+
assert isinstance(cached, dict)
79+
assert cached["id"] == collection.id

0 commit comments

Comments
 (0)