def setUp(self): # Make sure we're not going to clobber someone's existing repo remove_git_repo(changelog_abspath) os.putenv("GIT_DIR", git_dir) os.putenv("GIT_WORK_TREE", working_dir) execute("git init") setup = Setup(project_folder, working_dir, git_dir) setup.run() self.config = Config(working_dir) self.path = Path(self.config) self.changelog = ChangeLog(working_etc) self.changelog.initialize(self.config)
class ChangeLogTestCase(unittest.TestCase): def setUp(self): # Make sure we're not going to clobber someone's existing repo remove_git_repo(changelog_abspath) os.putenv("GIT_DIR", git_dir) os.putenv("GIT_WORK_TREE", working_dir) execute("git init") setup = Setup(project_folder, working_dir, git_dir) setup.run() self.config = Config(working_dir) self.path = Path(self.config) self.changelog = ChangeLog(working_etc) self.changelog.initialize(self.config) def test_init(self): assert working_dir == self.path.get_working_dir() assert git_dir == self.path.get_git_dir() assert changelog_abspath == self.path.get_changelog_abspath() path = "%s/etc/changelog.pickle" % working_dir assert self.changelog.path.get_changelog_abspath() == path def test_get(self): data = self.changelog.data assert isinstance(data, OrderedDict) assert len(data) == 0 def test_update(self): data = self.changelog.update() assert data is None self.changelog._execute("touch %s" % changelog_abspath) self.changelog._execute("git add .") self.changelog._execute("git commit -m test commit") dataA = self.changelog.update() assert isinstance(dataA, OrderedDict) dataB = self.changelog.data assert isinstance(dataB, OrderedDict) assert dataA == dataB assert len(dataB) > 1 status, timestamp = dataB['blog/source/lightbulb.rst'] assert status == 'A' assert type(timestamp) == int status, timestamp = dataB['blog/source/another-file.rst'] assert status == 'A' assert type(timestamp) == int def tearDown(self): # Remove the repo we created in setUp self.changelog._execute("rm -rf %s" % git_dir) self.changelog._execute("rm %s" % changelog_abspath)