commit 66b10504dcb39d6fa97e4ec63b708d4f7aaed384
parent c74f0c12317a67604574494e376d95debea77779
Author: Carlosokumu <carlosokumu254@gmail.com>
Date: Fri, 14 Nov 2025 10:25:39 +0300
test: add tests for missing tests
Diffstat:
5 files changed, 108 insertions(+), 0 deletions(-)
diff --git a/tests/cmd/test_args_parser.py b/tests/cmd/test_args_parser.py
@@ -56,6 +56,22 @@ class TestArgsParser(unittest.TestCase):
self.assertEqual(args.presenter, "http://presenter.com")
+ @patch("sys.argv", ["prog", "merge", "--input-dir", "./events", "--output", "merged.ics"])
+ def test_parse_args_merge_command(self):
+ args = self.args_parser.parse_args()
+ self.assertEqual(args.command, "merge")
+ self.assertEqual(args.input_dir, "./events")
+ self.assertEqual(args.output, "merged.ics")
+
+ @patch("sys.argv", ["prog", "merge"])
+ def test_parse_args_merge_command_defaults(self):
+ args = self.args_parser.parse_args()
+ self.assertEqual(args.command, "merge")
+ self.assertEqual(args.input_dir, "./events")
+ self.assertEqual(args.output, "merged_events.ics")
+
+
+
if __name__ == "__main__":
unittest.main()
diff --git a/tests/store/__init__.py b/tests/store/__init__.py
diff --git a/tests/store/test_fs_store.py b/tests/store/test_fs_store.py
@@ -0,0 +1,27 @@
+import tempfile
+import unittest
+from ungana.store.fs_store import UnganaFSStore
+
+
+class TestUnganaFSStore(unittest.TestCase):
+
+ def test_fs_store_put_and_get(self):
+ with tempfile.TemporaryDirectory() as tmpdir:
+ store = UnganaFSStore()
+
+ base_uri = tmpdir
+ key = "testfile.bin"
+ data = b"foo bar"
+
+ result_uri = store.put(base_uri, key, data)
+ self.assertTrue(result_uri.startswith("file://"))
+
+ retrieved = store.get(base_uri, key)
+ self.assertEqual(retrieved, b"foo bar")
+
+ def test_fs_store_get_missing_raises(self):
+ with tempfile.TemporaryDirectory() as tmpdir:
+ store = UnganaFSStore()
+
+ with self.assertRaises(FileNotFoundError):
+ store.get(tmpdir, "does_not_exist.bin")
diff --git a/tests/store/test_resolve_backend.py b/tests/store/test_resolve_backend.py
@@ -0,0 +1,27 @@
+import unittest
+from ungana.store.fs_store import UnganaFSStore
+from ungana.store.resolve import resolve_backend_store
+from ungana.store.wala_store import UnganaWalaStore
+
+
+class TestResolveBackendStore(unittest.TestCase):
+
+ def test_resolve_fs_store_file_scheme(self):
+ store = resolve_backend_store("file:///tmp/data")
+ self.assertIsInstance(store, UnganaFSStore)
+
+ def test_resolve_fs_store_no_scheme(self):
+ store = resolve_backend_store("/tmp/data")
+ self.assertIsInstance(store, UnganaFSStore)
+
+ def test_resolve_wala_store_http(self):
+ store = resolve_backend_store("http://wala.ungana.com/storage")
+ self.assertIsInstance(store, UnganaWalaStore)
+
+ def test_resolve_wala_store_https(self):
+ store = resolve_backend_store("https://wala.ungana.com/storage")
+ self.assertIsInstance(store, UnganaWalaStore)
+
+ def test_resolve_invalid_scheme(self):
+ with self.assertRaises(ValueError):
+ resolve_backend_store("ftp://walaaaas.com/storage")
+\ No newline at end of file
diff --git a/tests/store/test_wala_store.py b/tests/store/test_wala_store.py
@@ -0,0 +1,37 @@
+import unittest
+from unittest.mock import patch, MagicMock
+from ungana.store.wala_store import UnganaWalaStore
+
+
+class TestUnganaWalaStore(unittest.TestCase):
+
+ @patch("ungana.store.wala_store.requests.put")
+ def test_wala_store_put(self, mock_put):
+ mock_put.return_value = MagicMock(status_code=200, text="digest123")
+
+ store = UnganaWalaStore()
+ url = "https://wala.ungana.com/store"
+ key = "ignored_key"
+ data = b"foobar"
+
+ result_url = store.put(url, key, data)
+ self.assertEqual(result_url, "https://wala.ungana.com/store/digest123")
+ mock_put.assert_called_once_with(url, data=data, timeout=10)
+
+ @patch("ungana.store.wala_store.requests.get")
+ def test_wala_store_get(self, mock_get):
+ mock_get.return_value = MagicMock(status_code=200, content=b"ABCDEF")
+
+ store = UnganaWalaStore()
+ base_url = "https://wala.ungana.com/store"
+ key = "digest123"
+
+ result = store.get(base_url, key)
+ self.assertEqual(result, b"ABCDEF")
+ mock_get.assert_called_once_with(
+ "https://wala.ungana.com/store/digest123", timeout=10
+ )
+
+
+if __name__ == "__main__":
+ unittest.main()