Skip to content

Commit 3bc2c17

Browse files
committed
993 non-functional declassing of test_grid.py
1 parent 2e8dadd commit 3bc2c17

File tree

1 file changed

+107
-113
lines changed

1 file changed

+107
-113
lines changed

tests/extensions/test_grid.py

Lines changed: 107 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@
1818

1919
code = "MGRS-4CFJ"
2020

21+
SENTINEL_EXAMPLE_URI = TestCases.get_path("data-files/grid/example-sentinel2.json")
2122

22-
def make_item() -> pystac.Item:
23+
24+
@pytest.fixture
25+
def item() -> pystac.Item:
2326
"""Create basic test items that are only slightly different."""
2427
asset_id = "an/asset"
2528
start = datetime(2018, 1, 2)
@@ -30,119 +33,110 @@ def make_item() -> pystac.Item:
3033
GridExtension.add_to(item)
3134
return item
3235

36+
def test_stac_extensions(self) -> None:
37+
self.assertTrue(GridExtension.has_extension(self.item))
3338

34-
class GridTest(unittest.TestCase):
35-
def setUp(self) -> None:
36-
super().setUp()
37-
self.item = make_item()
38-
self.sentinel_example_uri = TestCases.get_path(
39-
"data-files/grid/example-sentinel2.json"
40-
)
41-
42-
def test_stac_extensions(self) -> None:
43-
self.assertTrue(GridExtension.has_extension(self.item))
44-
45-
def test_item_repr(self) -> None:
46-
grid_item_ext = GridExtension.ext(self.item)
47-
self.assertEqual(
48-
f"<ItemGridExtension Item id={self.item.id}>", grid_item_ext.__repr__()
49-
)
50-
51-
@pytest.mark.vcr()
52-
def test_attributes(self) -> None:
53-
GridExtension.ext(self.item).apply(code)
54-
self.assertEqual(code, GridExtension.ext(self.item).code)
55-
self.item.validate()
56-
57-
def test_invalid_code_value(self) -> None:
58-
with self.assertRaises(ValueError):
59-
GridExtension.ext(self.item).apply("not_a_valid_code")
60-
61-
@pytest.mark.vcr()
62-
def test_modify(self) -> None:
63-
GridExtension.ext(self.item).apply(code)
64-
GridExtension.ext(self.item).apply(code + "a")
65-
self.assertEqual(code + "a", GridExtension.ext(self.item).code)
66-
self.item.validate()
67-
68-
def test_from_dict(self) -> None:
69-
d: dict[str, Any] = {
70-
"type": "Feature",
71-
"stac_version": "1.1.0",
72-
"id": "an/asset",
73-
"properties": {
74-
"grid:code": code,
75-
"datetime": "2018-01-02T00:00:00Z",
76-
},
77-
"geometry": None,
78-
"links": [],
79-
"assets": {},
80-
"stac_extensions": [GridExtension.get_schema_uri()],
81-
}
82-
item = pystac.Item.from_dict(d)
83-
self.assertEqual(code, GridExtension.ext(item).code)
84-
85-
def test_to_from_dict(self) -> None:
86-
GridExtension.ext(self.item).apply(code)
87-
d = self.item.to_dict()
88-
self.assertEqual(code, d["properties"][grid.CODE_PROP])
89-
90-
item = pystac.Item.from_dict(d)
91-
self.assertEqual(code, GridExtension.ext(item).code)
92-
93-
def test_clear_code(self) -> None:
94-
GridExtension.ext(self.item).apply(code)
95-
96-
with self.assertRaises(ValueError):
97-
# Ignore type errors because this test intentionally checks behavior
98-
# that does not conform to the type signature.
99-
# https://github.com/stac-utils/pystac/pull/878#discussion_r957352232
100-
GridExtension.ext(self.item).code = None # type: ignore
101-
with self.assertRaises(ValueError):
102-
# First segment has to be all caps
103-
# https://github.com/stac-utils/pystac/pull/878#discussion_r957354927
104-
GridExtension.ext(self.item).code = "this-is-not-a-grid-code"
105-
with self.assertRaises(ValueError):
106-
# Folks might try to put an epsg code in
107-
# https://github.com/stac-utils/pystac/pull/878#discussion_r957355415
108-
GridExtension.ext(self.item).code = "4326"
109-
with self.assertRaises(ValueError):
110-
# Folks might try to put an epsg code in
111-
# https://github.com/stac-utils/pystac/pull/878#discussion_r957355415
112-
GridExtension.ext(self.item).code = "EPSG:4326"
113-
114-
def test_extension_not_implemented(self) -> None:
115-
# Should raise exception if Item does not include extension URI
116-
item = pystac.Item.from_file(self.sentinel_example_uri)
117-
item.stac_extensions.remove(GridExtension.get_schema_uri())
118-
119-
with self.assertRaises(pystac.ExtensionNotImplemented):
120-
_ = GridExtension.ext(item)
121-
122-
# Should raise exception if owning Item does not include extension URI
123-
item.properties["grid:code"] = None
124-
125-
with self.assertRaises(pystac.ExtensionNotImplemented):
126-
_ = GridExtension.ext(item)
127-
128-
def test_item_ext_add_to(self) -> None:
129-
item = pystac.Item.from_file(self.sentinel_example_uri)
130-
item.stac_extensions.remove(GridExtension.get_schema_uri())
131-
self.assertNotIn(GridExtension.get_schema_uri(), item.stac_extensions)
132-
133-
_ = GridExtension.ext(item, add_if_missing=True)
134-
135-
self.assertIn(GridExtension.get_schema_uri(), item.stac_extensions)
136-
137-
def test_should_raise_exception_when_passing_invalid_extension_object(
138-
self,
139-
) -> None:
140-
self.assertRaisesRegex(
141-
ExtensionTypeError,
142-
r"^GridExtension does not apply to type 'object'$",
143-
GridExtension.ext,
144-
object(),
145-
)
39+
def test_item_repr(self) -> None:
40+
grid_item_ext = GridExtension.ext(self.item)
41+
self.assertEqual(
42+
f"<ItemGridExtension Item id={self.item.id}>", grid_item_ext.__repr__()
43+
)
44+
45+
@pytest.mark.vcr()
46+
def test_attributes(self) -> None:
47+
GridExtension.ext(self.item).apply(code)
48+
self.assertEqual(code, GridExtension.ext(self.item).code)
49+
self.item.validate()
50+
51+
def test_invalid_code_value(self) -> None:
52+
with self.assertRaises(ValueError):
53+
GridExtension.ext(self.item).apply("not_a_valid_code")
54+
55+
@pytest.mark.vcr()
56+
def test_modify(self) -> None:
57+
GridExtension.ext(self.item).apply(code)
58+
GridExtension.ext(self.item).apply(code + "a")
59+
self.assertEqual(code + "a", GridExtension.ext(self.item).code)
60+
self.item.validate()
61+
62+
def test_from_dict(self) -> None:
63+
d: dict[str, Any] = {
64+
"type": "Feature",
65+
"stac_version": "1.1.0",
66+
"id": "an/asset",
67+
"properties": {
68+
"grid:code": code,
69+
"datetime": "2018-01-02T00:00:00Z",
70+
},
71+
"geometry": None,
72+
"links": [],
73+
"assets": {},
74+
"stac_extensions": [GridExtension.get_schema_uri()],
75+
}
76+
item = pystac.Item.from_dict(d)
77+
self.assertEqual(code, GridExtension.ext(item).code)
78+
79+
def test_to_from_dict(self) -> None:
80+
GridExtension.ext(self.item).apply(code)
81+
d = self.item.to_dict()
82+
self.assertEqual(code, d["properties"][grid.CODE_PROP])
83+
84+
item = pystac.Item.from_dict(d)
85+
self.assertEqual(code, GridExtension.ext(item).code)
86+
87+
def test_clear_code(self) -> None:
88+
GridExtension.ext(self.item).apply(code)
89+
90+
with self.assertRaises(ValueError):
91+
# Ignore type errors because this test intentionally checks behavior
92+
# that does not conform to the type signature.
93+
# https://github.com/stac-utils/pystac/pull/878#discussion_r957352232
94+
GridExtension.ext(self.item).code = None # type: ignore
95+
with self.assertRaises(ValueError):
96+
# First segment has to be all caps
97+
# https://github.com/stac-utils/pystac/pull/878#discussion_r957354927
98+
GridExtension.ext(self.item).code = "this-is-not-a-grid-code"
99+
with self.assertRaises(ValueError):
100+
# Folks might try to put an epsg code in
101+
# https://github.com/stac-utils/pystac/pull/878#discussion_r957355415
102+
GridExtension.ext(self.item).code = "4326"
103+
with self.assertRaises(ValueError):
104+
# Folks might try to put an epsg code in
105+
# https://github.com/stac-utils/pystac/pull/878#discussion_r957355415
106+
GridExtension.ext(self.item).code = "EPSG:4326"
107+
108+
def test_extension_not_implemented(self) -> None:
109+
# Should raise exception if Item does not include extension URI
110+
item = pystac.Item.from_file(SENTINEL_EXAMPLE_URI)
111+
item.stac_extensions.remove(GridExtension.get_schema_uri())
112+
113+
with self.assertRaises(pystac.ExtensionNotImplemented):
114+
_ = GridExtension.ext(item)
115+
116+
# Should raise exception if owning Item does not include extension URI
117+
item.properties["grid:code"] = None
118+
119+
with self.assertRaises(pystac.ExtensionNotImplemented):
120+
_ = GridExtension.ext(item)
121+
122+
def test_item_ext_add_to(self) -> None:
123+
item = pystac.Item.from_file(SENTINEL_EXAMPLE_URI)
124+
item.stac_extensions.remove(GridExtension.get_schema_uri())
125+
self.assertNotIn(GridExtension.get_schema_uri(), item.stac_extensions)
126+
127+
_ = GridExtension.ext(item, add_if_missing=True)
128+
129+
self.assertIn(GridExtension.get_schema_uri(), item.stac_extensions)
130+
131+
def test_should_raise_exception_when_passing_invalid_extension_object(
132+
self,
133+
) -> None:
134+
self.assertRaisesRegex(
135+
ExtensionTypeError,
136+
r"^GridExtension does not apply to type 'object'$",
137+
GridExtension.ext,
138+
object(),
139+
)
146140

147141

148142
@pytest.fixture

0 commit comments

Comments
 (0)