mirror of
https://github.com/semantica-agi/semantica.git
synced 2026-08-29 04:26:20 +00:00
test(seed): use a real file for CSV loading (#873)
Co-authored-by: nightcityblade <nightcityblade@gmail.com> Co-authored-by: Sameer Kadam <sskadam6305@gmail.com> Co-authored-by: Mohd Kaif <kaifahmad087@gmail.com>
This commit is contained in:
co-authored by
nightcityblade
Sameer Kadam
Mohd Kaif
parent
9ec7959899
commit
bc63e962c9
@@ -1,9 +1,12 @@
|
||||
import tempfile
|
||||
import unittest
|
||||
from unittest.mock import MagicMock, patch, mock_open
|
||||
from pathlib import Path
|
||||
from semantica.seed.seed_manager import SeedDataManager, SeedDataSource, SeedData
|
||||
from unittest.mock import patch
|
||||
|
||||
from semantica.seed.seed_manager import SeedData, SeedDataManager, SeedDataSource
|
||||
from semantica.utils.exceptions import ProcessingError
|
||||
|
||||
|
||||
class TestSeedDataManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
@@ -32,12 +35,14 @@ class TestSeedDataManager(unittest.TestCase):
|
||||
self.assertEqual(source.entity_type, "Person")
|
||||
self.assertIn(name, self.manager.versions)
|
||||
|
||||
@patch("pathlib.Path.exists")
|
||||
@patch("builtins.open", new_callable=mock_open, read_data="name,age\nAlice,30\nBob,25")
|
||||
def test_load_from_csv(self, mock_file, mock_exists):
|
||||
mock_exists.return_value = True
|
||||
def test_load_from_csv(self):
|
||||
with tempfile.TemporaryDirectory() as tmp_dir:
|
||||
csv_file = Path(tmp_dir) / "test.csv"
|
||||
csv_file.write_text("name,age\nAlice,30\nBob,25", encoding="utf-8")
|
||||
|
||||
records = self.manager.load_from_csv("test.csv", entity_type="Person", source_name="test_source")
|
||||
records = self.manager.load_from_csv(
|
||||
csv_file, entity_type="Person", source_name="test_source"
|
||||
)
|
||||
|
||||
self.assertEqual(len(records), 2)
|
||||
self.assertEqual(records[0]["name"], "Alice")
|
||||
@@ -45,8 +50,6 @@ class TestSeedDataManager(unittest.TestCase):
|
||||
self.assertEqual(records[0]["entity_type"], "Person")
|
||||
self.assertEqual(records[0]["source"], "test_source")
|
||||
|
||||
mock_file.assert_called_once_with(Path("test.csv"), "r", encoding="utf-8")
|
||||
|
||||
@patch("pathlib.Path.exists")
|
||||
def test_load_from_csv_file_not_found(self, mock_exists):
|
||||
mock_exists.return_value = False
|
||||
|
||||
Reference in New Issue
Block a user