Skip to content

Commit da634a7

Browse files
[Fixes #45]: "Task: Implement mockup tests"
2 parents d2eb9a9 + e6969be commit da634a7

File tree

8 files changed

+194
-0
lines changed

8 files changed

+194
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Run Unittest on PR to main
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
8+
jobs:
9+
test:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout code
13+
uses: actions/checkout@v4
14+
- name: Set up Python
15+
uses: actions/setup-python@v5
16+
with:
17+
python-version: '3.10'
18+
- name: Install dependencies
19+
run: |
20+
pip install .
21+
- name: Run unittests
22+
run: |
23+
python3 -m unittest discover -s tests

.pre-commit-config.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,9 @@ repos:
3636
"--max-line-length=127",
3737
"--statistics",
3838
]
39+
40+
- id: unittest
41+
name: unittest
42+
entry: bash -c "pip install . && python3 -m unittest discover -s tests"
43+
language: system
44+
types: [python]

tests/test_attributes.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import unittest
2+
from unittest.mock import patch
3+
from geonoderest.attributes import GeonodeAttributeHandler
4+
5+
6+
class TestGeonodeAttributeHandler(unittest.TestCase):
7+
@patch.object(GeonodeAttributeHandler, "http_get")
8+
def test_get(self, mock_http_get):
9+
mock_http_get.return_value = {"attributes": [{"pk": 1, "attribute": "name"}]}
10+
handler = GeonodeAttributeHandler(env={})
11+
result = handler.get(123)
12+
self.assertEqual(result["attributes"][0]["attribute"], "name")
13+
14+
@patch.object(GeonodeAttributeHandler, "http_patch")
15+
def test_patch(self, mock_http_patch):
16+
mock_http_patch.return_value = {"success": True}
17+
handler = GeonodeAttributeHandler(env={})
18+
result = handler.patch(123, json_content={"attribute_set": []})
19+
self.assertTrue(result["success"])
20+
21+
22+
if __name__ == "__main__":
23+
unittest.main()

tests/test_datasets.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import unittest
2+
from unittest.mock import patch
3+
from geonoderest.datasets import GeonodeDatasetsHandler
4+
import unittest
5+
from unittest.mock import patch
6+
7+
8+
class TestGeonodeDatasetsHandler(unittest.TestCase):
9+
@patch.object(GeonodeDatasetsHandler, "http_get")
10+
def test_get(self, mock_http_get):
11+
mock_http_get.return_value = {"dataset": [{"pk": 123, "title": "Test Dataset"}]}
12+
handler = GeonodeDatasetsHandler(env={})
13+
result = handler.get(123)
14+
self.assertEqual(result[0]["title"], "Test Dataset")
15+
16+
@patch.object(GeonodeDatasetsHandler, "http_patch")
17+
def test_patch(self, mock_http_patch):
18+
mock_http_patch.return_value = {"success": True}
19+
handler = GeonodeDatasetsHandler(env={})
20+
result = handler.patch(123, json_content={"title": "Updated"})
21+
self.assertTrue(result["success"])
22+
23+
24+
if __name__ == "__main__":
25+
unittest.main()
26+
27+
28+
class TestGeonodeDatasetHandler(unittest.TestCase):
29+
@patch.object(GeonodeDatasetsHandler, "http_get")
30+
def test_get(self, mock_http_get):
31+
mock_http_get.return_value = {"dataset": [{"pk": 1, "title": "Test Dataset"}]}
32+
handler = GeonodeDatasetsHandler(env={})
33+
result = handler.get(123)
34+
self.assertEqual(result[0]["title"], "Test Dataset")
35+
36+
@patch.object(GeonodeDatasetsHandler, "http_patch")
37+
def test_patch(self, mock_http_patch):
38+
mock_http_patch.return_value = {"success": True}
39+
handler = GeonodeDatasetsHandler(env={})
40+
result = handler.patch(123, json_content={"title": "Updated"})
41+
self.assertTrue(result["success"])
42+
43+
44+
if __name__ == "__main__":
45+
unittest.main()

tests/test_documents.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import unittest
2+
from unittest.mock import patch
3+
from geonoderest.documents import GeonodeDocumentsHandler
4+
import unittest
5+
from unittest.mock import patch
6+
7+
8+
class TestGeonodeDocumentsHandler(unittest.TestCase):
9+
@patch.object(GeonodeDocumentsHandler, "http_get")
10+
def test_get(self, mock_http_get):
11+
mock_http_get.return_value = {
12+
"document": [{"pk": 123, "title": "Test Document"}]
13+
}
14+
handler = GeonodeDocumentsHandler(env={})
15+
result = handler.get(123)
16+
print(result)
17+
self.assertEqual(result[0]["title"], "Test Document")
18+
19+
@patch.object(GeonodeDocumentsHandler, "http_patch")
20+
def test_patch(self, mock_http_patch):
21+
mock_http_patch.return_value = {"success": True}
22+
handler = GeonodeDocumentsHandler(env={})
23+
result = handler.patch(123, json_content={"title": "Updated"})
24+
self.assertTrue(result["success"])
25+
26+
27+
if __name__ == "__main__":
28+
unittest.main()

tests/test_geoapps.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import unittest
2+
from unittest.mock import patch
3+
from geonoderest.geoapps import GeonodeGeoappsHandler
4+
5+
6+
class TestGeonodeGeoAppsHandler(unittest.TestCase):
7+
@patch.object(GeonodeGeoappsHandler, "http_get")
8+
def test_get(self, mock_http_get):
9+
mock_http_get.return_value = {"geoapp": {"pk": 1, "title": "Test GeoApp"}}
10+
handler = GeonodeGeoappsHandler(env={})
11+
result = handler.get(123)
12+
self.assertEqual(result["title"], "Test GeoApp")
13+
14+
@patch.object(GeonodeGeoappsHandler, "http_patch")
15+
def test_patch(self, mock_http_patch):
16+
mock_http_patch.return_value = {"success": True}
17+
handler = GeonodeGeoappsHandler(env={})
18+
result = handler.patch(123, json_content={"title": "Updated"})
19+
self.assertTrue(result["success"])
20+
21+
22+
if __name__ == "__main__":
23+
unittest.main()

tests/test_maps.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import unittest
2+
from unittest.mock import patch
3+
from geonoderest.maps import GeonodeMapsHandler
4+
5+
6+
class TestGeonodeMapsHandler(unittest.TestCase):
7+
@patch.object(GeonodeMapsHandler, "http_get")
8+
def test_get(self, mock_http_get):
9+
mock_http_get.return_value = {"map": {"pk": 1, "title": "Test Map"}}
10+
handler = GeonodeMapsHandler(env={})
11+
result = handler.get(123)
12+
self.assertEqual(result["title"], "Test Map")
13+
14+
@patch.object(GeonodeMapsHandler, "http_patch")
15+
def test_patch(self, mock_http_patch):
16+
mock_http_patch.return_value = {"success": True}
17+
handler = GeonodeMapsHandler(env={})
18+
result = handler.patch(123, json_content={"title": "Updated"})
19+
self.assertTrue(result["success"])
20+
21+
22+
if __name__ == "__main__":
23+
unittest.main()

tests/test_resources.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import unittest
2+
from unittest.mock import patch
3+
from geonoderest.resources import GeonodeResourceHandler
4+
5+
6+
class TestGeonodeResourcesHandler(unittest.TestCase):
7+
@patch.object(GeonodeResourceHandler, "http_get")
8+
def test_get(self, mock_http_get):
9+
mock_http_get.return_value = {"resource": {"pk": 123, "title": "Test Resource"}}
10+
handler = GeonodeResourceHandler(env={})
11+
result = handler.get(123)
12+
self.assertEqual(result["title"], "Test Resource")
13+
14+
@patch.object(GeonodeResourceHandler, "http_patch")
15+
def test_patch(self, mock_http_patch):
16+
mock_http_patch.return_value = {"success": True}
17+
handler = GeonodeResourceHandler(env={})
18+
result = handler.patch(123, json_content={"title": "Updated"})
19+
self.assertTrue(result["success"])
20+
21+
22+
if __name__ == "__main__":
23+
unittest.main()

0 commit comments

Comments
 (0)