def test_project_compound_child_can_be_modified_recursively(self): with TestDir() as test_dir: child1 = Project({ 'project_dir': osp.join(test_dir, 'child1'), }) child1.save() child2 = Project({ 'project_dir': osp.join(test_dir, 'child2'), }) child2.save() parent = Project() parent.add_source('child1', {'url': child1.config.project_dir}) parent.add_source('child2', {'url': child2.config.project_dir}) dataset = parent.make_dataset() item1 = DatasetItem(id='ch1', path=['child1']) item2 = DatasetItem(id='ch2', path=['child2']) dataset.put(item1) dataset.put(item2) self.assertEqual(2, len(dataset)) self.assertEqual(1, len(dataset.sources['child1'])) self.assertEqual(1, len(dataset.sources['child2']))
def test_can_dump_added_model(self): model_name = 'model' project = Project() saved = Model({'launcher': 'name'}) project.add_model(model_name, saved) with TestDir() as test_dir: project.save(test_dir) loaded = Project.load(test_dir) loaded = loaded.get_model(model_name) self.assertEqual(saved, loaded)
def test_added_source_can_be_dumped(self): source_name = 'source' origin = Source({ 'url': 'path', }) project = Project() project.add_source(source_name, origin) with TestDir() as test_dir: project.save(test_dir) loaded = Project.load(test_dir) loaded = loaded.get_source(source_name) self.assertEqual(origin, loaded)