def test_create(self, tmp_path): dba = DatabaseAccess(tmp_path / "db.json") d = DummyContextOut() schemaRepo = SchemaRepository() with ModelAccess(dba, schemaRepo, d) as mdb: id = mdb.insert("dummy.output", {"name": "dummy model"}) assert id is not None ctxs = dba.table('fashion.prime.context').all() assert len(ctxs) == 1 assert len(ctxs[0]["insert"]) == 1 assert 'dummy.output' in ctxs[0]["insert"] assert id in ctxs[0]["insert"]['dummy.output'] models = dba.table('dummy.output').all() assert len(models) == 1 dba.close()
def test_contextReset(self, tmp_path): ''' Test that when a context is re-entered, the previous context data is reset. ''' dba = DatabaseAccess(tmp_path / "db.json") d = DummyContextOut() schemaRepo = SchemaRepository() with ModelAccess(dba, schemaRepo, d) as mdb: id = mdb.insert("dummy.output", {"name": "dummy model"}) assert id is not None ctxs = dba.table('fashion.prime.context').all() assert len(ctxs) == 1 models = dba.table('dummy.output').all() assert len(models) == 1 # Now re-enter the same context with ModelAccess(dba, schemaRepo, d) as mdb: ctxs = dba.table('fashion.prime.context').all() assert len(ctxs) == 0 models = dba.table('dummy.output').all() assert len(models) == 0 id = mdb.insert("dummy.output", {"name": "dummy model the second"}) assert id is not None ctxs = dba.table('fashion.prime.context').all() assert len(ctxs) == 1 models = dba.table('dummy.output').all() assert len(models) == 1 assert models[0]["name"] == "dummy model the second" dba.close()