feat: add support for Wutta <-> Wutta import/export

This commit is contained in:
Lance Edgar 2026-03-17 17:15:34 -05:00
parent bfc45bd0f0
commit ae282ab468
25 changed files with 719 additions and 21 deletions

View file

@ -25,19 +25,55 @@ class TestImportCommandHandler(DataTestCase):
# as spec
handler = self.make_handler(import_handler=FromCsvToWutta.get_spec())
self.assertIsInstance(handler.import_handler, FromCsvToWutta)
self.assertFalse(hasattr(handler, "foo"))
self.assertFalse(hasattr(handler.import_handler, "foo"))
# as spec, w/ kwargs
handler = self.make_handler(import_handler=FromCsvToWutta.get_spec(), foo="bar")
self.assertIsInstance(handler.import_handler, FromCsvToWutta)
self.assertFalse(hasattr(handler, "foo"))
self.assertTrue(hasattr(handler.import_handler, "foo"))
self.assertEqual(handler.import_handler.foo, "bar")
# as factory
handler = self.make_handler(import_handler=FromCsvToWutta)
self.assertIsInstance(handler.import_handler, FromCsvToWutta)
self.assertFalse(hasattr(handler, "foo"))
self.assertFalse(hasattr(handler.import_handler, "foo"))
# as factory, w/ kwargs
handler = self.make_handler(import_handler=FromCsvToWutta, foo="bar")
self.assertIsInstance(handler.import_handler, FromCsvToWutta)
self.assertFalse(hasattr(handler, "foo"))
self.assertTrue(hasattr(handler.import_handler, "foo"))
self.assertEqual(handler.import_handler.foo, "bar")
# as instance
myhandler = FromCsvToWutta(self.config)
handler = self.make_handler(import_handler=myhandler)
self.assertIs(handler.import_handler, myhandler)
self.assertFalse(hasattr(handler, "foo"))
self.assertFalse(hasattr(handler.import_handler, "foo"))
# as instance, w/ kwargs (which are ignored)
myhandler = FromCsvToWutta(self.config)
handler = self.make_handler(import_handler=myhandler, foo="bar")
self.assertIs(handler.import_handler, myhandler)
self.assertFalse(hasattr(handler, "foo"))
self.assertFalse(hasattr(handler.import_handler, "foo"))
# as key
handler = self.make_handler(key="import.to_wutta.from_csv")
self.assertIsInstance(handler.import_handler, FromCsvToWutta)
self.assertFalse(hasattr(handler, "foo"))
self.assertFalse(hasattr(handler.import_handler, "foo"))
# as key, w/ kwargs
handler = self.make_handler(key="import.to_wutta.from_csv", foo="bar")
self.assertIsInstance(handler.import_handler, FromCsvToWutta)
self.assertFalse(hasattr(handler, "foo"))
self.assertTrue(hasattr(handler.import_handler, "foo"))
self.assertEqual(handler.import_handler.foo, "bar")
def test_run(self):
handler = self.make_handler(