def test_generate_meta_deps(self): fake = {"surprise": "me"} meta = met.generate_meta("first", (1, 0, 1), fake) self.assertIsInstance(meta, dict) self.assertEqual(meta["model"], "first") uuid.UUID(meta["uuid"]) self.assertEqual(meta["dependencies"], [{"surprise": "me"}]) self.assertEqual(meta["version"], (1, 0, 1)) self.assertIsInstance(meta["created_at"], datetime)
def test_generate_meta(self): fake = argparse.Namespace(meta="surprise") meta = met.generate_meta("first", (1, 0, 1), fake) self.assertIsInstance(meta, dict) self.assertEqual(meta["model"], "first") uuid.UUID(meta["uuid"]) self.assertEqual(meta["dependencies"], ["surprise"]) self.assertEqual(meta["version"], (1, 0, 1)) self.assertIsInstance(meta["created_at"], datetime)
def test_write_fileobj(self): model = Model() model._meta = generate_meta("test", (1, 0, 3)) buffer = BytesIO() model._write_tree({"xxx": 100500}, buffer) buffer.seek(0) with asdf.open(buffer) as f: self.assertEqual(f.tree["meta"]["model"], "test") self.assertEqual(f.tree["xxx"], 100500)
def test_write(self): model = Model() model._meta = generate_meta("test", (1, 0, 3)) with tempfile.NamedTemporaryFile() as tmp: model._write_tree({"xxx": 100500}, tmp.name) with asdf.open(tmp.name) as f: self.assertEqual(f.tree["meta"]["model"], "test") self.assertEqual(f.tree["xxx"], 100500) self.assertEqual(oct(os.stat(tmp.name).st_mode)[-3:], "666")
def __init__(self, **kwargs): """ Initializes a new Model instance. :param kwargs: Everything is ignored except ``log_level``. """ self._log = logging.getLogger(self.NAME) self._log.setLevel(kwargs.get("log_level", logging.DEBUG)) self._source = None self._meta = generate_meta(self.NAME, (1, 0, 0)) self._meta["__init__"] = True