def setUp(self): super(LocalRepositoryTest, self).setUp() # bundle sample charms CharmDirectory(self.sample_dir1).make_archive( os.path.join(self.bundled_repo_path, "series", "old.charm")) CharmDirectory(self.sample_dir2).make_archive( os.path.join(self.bundled_repo_path, "series", "new.charm")) # define repository objects self.repository1 = LocalCharmRepository(self.unbundled_repo_path) self.repository2 = LocalCharmRepository(self.bundled_repo_path)
def add_charm(self, metadata, revision, repository_dir=None, bundle=False): if repository_dir is None: repository_dir = self.makeDir() series_dir = os.path.join(repository_dir, "series") os.mkdir(series_dir) charm_dir = self.makeDir() with open(os.path.join(charm_dir, "metadata.yaml"), "w") as f: f.write(dump(metadata)) with open(os.path.join(charm_dir, "revision"), "w") as f: f.write(str(revision)) if bundle: CharmDirectory(charm_dir).make_archive( os.path.join(series_dir, "%s.charm" % metadata["name"])) else: os.rename(charm_dir, os.path.join(series_dir, metadata["name"])) return LocalCharmRepository(repository_dir)