|
1 | | -import unittest |
2 | 1 | from pathlib import Path |
3 | 2 |
|
4 | 3 | import pytest |
|
8 | 7 | from pystac.extensions.table import Column, TableExtension |
9 | 8 | from tests.utils import TestCases |
10 | 9 |
|
| 10 | +@pytest.fixture |
| 11 | +def example_uri() -> str: |
| 12 | + return TestCases.get_path("data-files/table/item.json") |
11 | 13 |
|
12 | | -class TableTest(unittest.TestCase): |
13 | | - def setUp(self) -> None: |
14 | | - self.example_uri = TestCases.get_path("data-files/table/item.json") |
15 | 14 |
|
16 | | - @pytest.mark.vcr() |
17 | | - def test_validate(self) -> None: |
18 | | - item = pystac.Item.from_file(self.example_uri) |
19 | | - item.validate() |
| 15 | +@pytest.mark.vcr() |
| 16 | +def test_validate(self) -> None: |
| 17 | + item = pystac.Item.from_file(self.example_uri) |
| 18 | + item.validate() |
20 | 19 |
|
21 | | - def test_extension_not_implemented(self) -> None: |
22 | | - # Should raise exception if item does not include extension URI |
23 | | - item = pystac.Item.from_file(self.example_uri) |
24 | | - item.stac_extensions.remove(TableExtension.get_schema_uri()) |
| 20 | +def test_extension_not_implemented(self) -> None: |
| 21 | + # Should raise exception if item does not include extension URI |
| 22 | + item = pystac.Item.from_file(self.example_uri) |
| 23 | + item.stac_extensions.remove(TableExtension.get_schema_uri()) |
25 | 24 |
|
26 | | - with self.assertRaises(pystac.ExtensionNotImplemented): |
27 | | - _ = TableExtension.ext(item) |
| 25 | + with self.assertRaises(pystac.ExtensionNotImplemented): |
| 26 | + _ = TableExtension.ext(item) |
28 | 27 |
|
29 | | - # Should raise exception if owning item does not include extension URI |
30 | | - asset = item.assets["data"] |
| 28 | + # Should raise exception if owning item does not include extension URI |
| 29 | + asset = item.assets["data"] |
31 | 30 |
|
32 | | - with self.assertRaises(pystac.ExtensionNotImplemented): |
33 | | - _ = TableExtension.ext(asset) |
| 31 | + with self.assertRaises(pystac.ExtensionNotImplemented): |
| 32 | + _ = TableExtension.ext(asset) |
34 | 33 |
|
35 | | - # Should succeed if Asset has no owner |
36 | | - ownerless_asset = pystac.Asset.from_dict(asset.to_dict()) |
37 | | - _ = TableExtension.ext(ownerless_asset) |
| 34 | + # Should succeed if Asset has no owner |
| 35 | + ownerless_asset = pystac.Asset.from_dict(asset.to_dict()) |
| 36 | + _ = TableExtension.ext(ownerless_asset) |
38 | 37 |
|
39 | | - def test_item_ext_add_to(self) -> None: |
40 | | - item = pystac.Item.from_file(self.example_uri) |
41 | | - item.stac_extensions.remove(TableExtension.get_schema_uri()) |
| 38 | +def test_item_ext_add_to(self) -> None: |
| 39 | + item = pystac.Item.from_file(self.example_uri) |
| 40 | + item.stac_extensions.remove(TableExtension.get_schema_uri()) |
42 | 41 |
|
43 | | - _ = TableExtension.ext(item, add_if_missing=True) |
| 42 | + _ = TableExtension.ext(item, add_if_missing=True) |
44 | 43 |
|
45 | | - self.assertIn(TableExtension.get_schema_uri(), item.stac_extensions) |
| 44 | + self.assertIn(TableExtension.get_schema_uri(), item.stac_extensions) |
46 | 45 |
|
47 | | - def test_asset_ext_add_to(self) -> None: |
48 | | - item = pystac.Item.from_file(self.example_uri) |
49 | | - item.stac_extensions.remove(TableExtension.get_schema_uri()) |
| 46 | +def test_asset_ext_add_to(self) -> None: |
| 47 | + item = pystac.Item.from_file(self.example_uri) |
| 48 | + item.stac_extensions.remove(TableExtension.get_schema_uri()) |
50 | 49 |
|
51 | | - self.assertNotIn(TableExtension.get_schema_uri(), item.stac_extensions) |
52 | | - asset = item.assets["data"] |
| 50 | + self.assertNotIn(TableExtension.get_schema_uri(), item.stac_extensions) |
| 51 | + asset = item.assets["data"] |
53 | 52 |
|
54 | | - _ = TableExtension.ext(asset, add_if_missing=True) |
55 | | - self.assertIn(TableExtension.get_schema_uri(), item.stac_extensions) |
| 53 | + _ = TableExtension.ext(asset, add_if_missing=True) |
| 54 | + self.assertIn(TableExtension.get_schema_uri(), item.stac_extensions) |
56 | 55 |
|
57 | | - def test_should_raise_exception_when_passing_invalid_extension_object( |
58 | | - self, |
59 | | - ) -> None: |
60 | | - self.assertRaisesRegex( |
61 | | - ExtensionTypeError, |
62 | | - r"^TableExtension does not apply to type 'object'$", |
63 | | - TableExtension.ext, |
64 | | - object(), |
65 | | - ) |
| 56 | +def test_should_raise_exception_when_passing_invalid_extension_object( |
| 57 | + self, |
| 58 | +) -> None: |
| 59 | + self.assertRaisesRegex( |
| 60 | + ExtensionTypeError, |
| 61 | + r"^TableExtension does not apply to type 'object'$", |
| 62 | + TableExtension.ext, |
| 63 | + object(), |
| 64 | + ) |
66 | 65 |
|
67 | 66 |
|
68 | 67 | def test_item_with_table_extension_is_serilalizable_and_roundtrips( |
|
0 commit comments