def test_meta_is_preserved(tmp_dir, dvc): (stage,) = tmp_dir.dvc_gen("foo", "foo content") # Add meta to DVC-file data = (tmp_dir / stage.path).parse() data["meta"] = {"custom_key": 42} (tmp_dir / stage.path).dump(data) # Loading and dumping to test that it works and meta is retained dvcfile = SingleStageFile(dvc, stage.path) new_stage = dvcfile.stage dvcfile.dump(new_stage) new_data = (tmp_dir / stage.path).parse() assert new_data["meta"] == data["meta"]
def test_desc_is_preserved(tmp_dir, dvc): (stage,) = tmp_dir.dvc_gen("foo", "foo content") data = (tmp_dir / stage.path).parse() stage_desc = "test stage description" out_desc = "test out description" data["desc"] = stage_desc data["outs"][0]["desc"] = out_desc (tmp_dir / stage.path).dump(data) dvcfile = SingleStageFile(dvc, stage.path) new_stage = dvcfile.stage dvcfile.dump(new_stage) new_data = (tmp_dir / stage.path).parse() assert new_data["desc"] == stage_desc assert new_data["outs"][0]["desc"] == out_desc
def test(self): stages = self.dvc.add(self.FOO) self.assertEqual(len(stages), 1) stage = stages[0] self.assertTrue(stage is not None) d = load_yaml(stage.relpath) # NOTE: checking that reloaded stage didn't change its checksum md5 = "11111111111111111111111111111111" d[stage.PARAM_MD5] = md5 dump_yaml(stage.relpath, d) dvcfile = SingleStageFile(self.dvc, stage.relpath) stage = dvcfile.stage self.assertTrue(stage is not None) dvcfile.dump(stage) d = load_yaml(stage.relpath) self.assertEqual(d[stage.PARAM_MD5], md5)