summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2016-11-13 20:46:16 +0000
committerrsiddharth <s@ricketyspace.net>2016-11-13 20:46:16 +0000
commit5428e3ac379727e1a4d1c279b940403e5d7898b0 (patch)
tree93d4582baed2fe4613822fb7a0ab02a65f346d90 /tests
parentf0a75c4b3a5bf21146e28be6391786fe4478450a (diff)
Update all gns readme functions.
The functions, now, does not take `local_dir` as an argument. * gd_diff.py (save_gns_readme, slurp_gns_readme, slurp_all_gns_readmes) (read_gns_readme): Update functions. * tests/test_gd_diff.py (test_save_gns_readme, test_save_gns_readme_double, test_slurp_gns_readme_success, test_slurp_gns_readme_error, test_slurp_all_gns_readmes, test_read_gns_readme): Update tests. (test_save_gns_readme_error): Remove test. (test_read_gns_readme_none): Add test.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_gd_diff.py121
1 files changed, 72 insertions, 49 deletions
diff --git a/tests/test_gd_diff.py b/tests/test_gd_diff.py
index f91c2b8..92533dd 100644
--- a/tests/test_gd_diff.py
+++ b/tests/test_gd_diff.py
@@ -104,86 +104,109 @@ class TestGdDiff(object):
def test_save_gns_readme(self):
- cmd = 'bzr cat bzr://bzr.sv.gnu.org/gnewsense/packages-parkes/antlr/debian/README.gNewSense'
- cp = execute(cmd, out=subprocess.PIPE)
- readme_content = cp.stdout.decode() # convert to str
+ def env(e):
+ return self.test_home
- # save it
- save_gns_readme(readme_content, 'parkes', 'antlr', self.gns_pkgs_dir)
+ with mock.patch('os.getenv', new=env):
+ cmd = 'bzr cat bzr://bzr.sv.gnu.org/gnewsense/packages-parkes/antlr/debian/README.gNewSense'
+ cp = execute(cmd, out=subprocess.PIPE)
+ readme_content = cp.stdout.decode() # convert to str
- gns_readme_file = path.join(self.gns_pkgs_dir, 'parkes', 'antlr', 'debian', 'README.gNewSense')
- with open(gns_readme_file, 'rb') as f:
- assert f.read() == b'Changed-From-Debian: Removed example with non-free files.\nChange-Type: Modified\n\nFor gNewSense, the non-free unicode.IDENTs files are *actually* removed (see\nalso README.source). See gNewSense bug #34218 for details.\n'
+ # save it
+ save_gns_readme(readme_content, 'parkes', 'antlr')
+ gns_readme_file = path.join(self.test_home, '.config',
+ 'gns-deb-diff', 'readmes',
+ 'parkes', 'antlr', 'debian',
+ 'README.gNewSense')
+ with open(gns_readme_file, 'rb') as f:
+ assert f.read() == b'Changed-From-Debian: Removed example with non-free files.\nChange-Type: Modified\n\nFor gNewSense, the non-free unicode.IDENTs files are *actually* removed (see\nalso README.source). See gNewSense bug #34218 for details.\n'
- def test_save_gns_readme_double(self):
- cmd = 'bzr cat bzr://bzr.sv.gnu.org/gnewsense/packages-parkes/antlr/debian/README.gNewSense'
- cp = execute(cmd, out=subprocess.PIPE)
- readme_content = cp.stdout.decode() # convert to str
- # save it twice
- save_gns_readme(readme_content, 'parkes', 'antlr', self.gns_pkgs_dir)
- save_gns_readme(readme_content, 'parkes', 'antlr', self.gns_pkgs_dir)
+ def test_save_gns_readme_double(self):
+ def env(e):
+ return self.test_home
- gns_readme_file = path.join(self.gns_pkgs_dir, 'parkes', 'antlr', 'debian', 'README.gNewSense')
- with open(gns_readme_file, 'rb') as f:
- assert f.read() == b'Changed-From-Debian: Removed example with non-free files.\nChange-Type: Modified\n\nFor gNewSense, the non-free unicode.IDENTs files are *actually* removed (see\nalso README.source). See gNewSense bug #34218 for details.\n'
+ with mock.patch('os.getenv', new=env):
+ cmd = 'bzr cat bzr://bzr.sv.gnu.org/gnewsense/packages-parkes/antlr/debian/README.gNewSense'
+ cp = execute(cmd, out=subprocess.PIPE)
+ readme_content = cp.stdout.decode() # convert to str
- @raises(SystemExit)
- def test_save_gns_readme_error(self):
- os.mkdir(self.gns_pkgs_dir, mode=0o500)
+ # save it twice
+ save_gns_readme(readme_content, 'parkes', 'antlr')
+ save_gns_readme(readme_content, 'parkes', 'antlr')
- # must error out
- readme_content = 'lorem ipsum'
- with open(os.devnull, 'w') as sys.stderr:
- save_gns_readme(readme_content, 'parkes', 'antlr', self.gns_pkgs_dir)
+ gns_readme_file = path.join(self.test_home, '.config',
+ 'gns-deb-diff', 'readmes',
+ 'parkes', 'antlr', 'debian',
+ 'README.gNewSense')
+ with open(gns_readme_file, 'rb') as f:
+ assert f.read() == b'Changed-From-Debian: Removed example with non-free files.\nChange-Type: Modified\n\nFor gNewSense, the non-free unicode.IDENTs files are *actually* removed (see\nalso README.source). See gNewSense bug #34218 for details.\n'
def test_slurp_gns_readme_success(self):
- saved = slurp_gns_readme('parkes', 'antlr', self.gns_pkgs_dir)
- assert saved == True
+ def env(e):
+ return self.test_home
- gns_readme_file = path.join(self.gns_pkgs_dir, 'parkes',
- 'antlr', 'debian',
- 'README.gNewSense')
- with open(gns_readme_file, 'rb') as f:
- assert f.read() == b'Changed-From-Debian: Removed example with non-free files.\nChange-Type: Modified\n\nFor gNewSense, the non-free unicode.IDENTs files are *actually* removed (see\nalso README.source). See gNewSense bug #34218 for details.\n'
+ with mock.patch('os.getenv', new=env):
+ saved = slurp_gns_readme('parkes', 'antlr')
+ assert saved == True
+
+ gns_readme_file = path.join(self.test_home, '.config',
+ 'gns-deb-diff', 'readmes',
+ 'parkes', 'antlr', 'debian',
+ 'README.gNewSense')
+ with open(gns_readme_file, 'rb') as f:
+ assert f.read() == b'Changed-From-Debian: Removed example with non-free files.\nChange-Type: Modified\n\nFor gNewSense, the non-free unicode.IDENTs files are *actually* removed (see\nalso README.source). See gNewSense bug #34218 for details.\n'
def test_slurp_gns_readme_error(self):
- saved = slurp_gns_readme('parkes', 'non-existent-pkg', self.gns_pkgs_dir)
- assert saved == False
+ def env(e):
+ return self.test_home
- gns_readme_file = path.join(self.gns_pkgs_dir, 'parkes',
- 'non-existent-pkg', 'debian',
- 'README.gNewSense')
- assert not path.exists(gns_readme_file)
+ with mock.patch('os.getenv', new=env):
+ saved = slurp_gns_readme('parkes', 'non-existent-pkg')
+ assert saved == False
+
+ gns_readme_file = path.join(self.test_home, '.config',
+ 'gns-deb-diff', 'readmes',
+ 'parkes', 'non-existent-pkg',
+ 'debian', 'README.gNewSense')
+ assert not path.exists(gns_readme_file)
def test_slurp_all_gns_readmes(self):
- pkgs = read_packages(self.small_pkgs_file)
+ def env(e):
+ return self.test_home
+
+ with mock.patch('os.getenv', new=env):
+ pkgs = read_packages(self.small_pkgs_file)
- # expected packages with no readmes
- expected_pkgs_noreadmes = [
- 'pkg-with-no-readme',
- 'another-pkgs-no-readme',
- ]
+ # expected packages with no readmes
+ expected_pkgs_noreadmes = [
+ 'pkg-with-no-readme',
+ 'another-pkgs-no-readme',
+ ]
- pkgs_noreadmes = slurp_all_gns_readmes('parkes', pkgs, self.gns_pkgs_dir)
- assert_equal(pkgs_noreadmes, expected_pkgs_noreadmes)
+ pkgs_noreadmes = slurp_all_gns_readmes('parkes', pkgs)
+ assert_equal(pkgs_noreadmes, expected_pkgs_noreadmes)
def test_read_gns_readme(self):
# first download the antlr readme
- saved = slurp_gns_readme('parkes', 'antlr', self.gns_pkgs_dir)
+ saved = slurp_gns_readme('parkes', 'antlr')
assert saved
- antlr_readme_content = read_gns_readme('parkes', 'antlr', self.gns_pkgs_dir)
+ antlr_readme_content = read_gns_readme('parkes', 'antlr')
expected_antlr_readme_content = 'Changed-From-Debian: Removed example with non-free files.\nChange-Type: Modified\n\nFor gNewSense, the non-free unicode.IDENTs files are *actually* removed (see\nalso README.source). See gNewSense bug #34218 for details.\n'
-
assert_equal(antlr_readme_content, expected_antlr_readme_content)
+ def test_read_gns_readme_none(self):
+ readme_content = read_gns_readme('parkes', 'non-existent-pkg')
+ assert_equal(readme_content, None)
+
+
def test_slurp_fields_from_readme(self):
readme_content = ''
field_values = slurp_fields_from_readme(readme_content)