Skip to content

Commit

Permalink
better test coverage for not equals version spec
Browse files Browse the repository at this point in the history
  • Loading branch information
alanhamlett committed May 12, 2016
1 parent 69398c6 commit d757727
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 3 deletions.
4 changes: 3 additions & 1 deletion tests/samples/requirements-with-multiline.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
afakepackage == 0.9, < 3.0, \
< 2.0, <= 1.0
> 0.1, >= 0.2, < 2.0, <= 1.0, != 0.9.1
afakepackage == 0.9, < 3.0, \
< 2.0, <= 1.0, != 0.9.1\
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
afakepackage == 1.0, < 3.0, \
< 2.0, <= 1.0
> 0.1, >= 0.2, < 2.0, <= 1.0, != 0.9.1
afakepackage == 1.0, < 3.0, \
< 2.0, <= 1.0, != 0.9.1\
24 changes: 23 additions & 1 deletion tests/test_pur.py
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,28 @@ def test_max_version_spec_prevents_updating_package(self):
expected_requirements = open(tmpfile).read()
self.assertEquals(open(tmpfile).read(), expected_requirements)

def test_notequal_version_spec_prevents_updating_package(self):
requirements = 'tests/samples/requirements-with-multiline.txt'
tempdir = tempfile.mkdtemp()
tmpfile = os.path.join(tempdir, 'requirements.txt')
shutil.copy(requirements, tmpfile)
args = ['-r', tmpfile]

with utils.mock.patch('pip.index.PackageFinder.find_all_candidates') as mock_find_all_candidates:
project = 'afakepackage'
version = '0.9.1'
link = Link('')
candidate = InstallationCandidate(project, version, link)
mock_find_all_candidates.return_value = [candidate]

result = self.runner.invoke(pur, args)
self.assertIsNone(result.exception)
expected_output = "All requirements up-to-date.\n"
self.assertEquals(u(result.output), u(expected_output))
self.assertEquals(result.exit_code, 0)
expected_requirements = open(tmpfile).read()
self.assertEquals(open(tmpfile).read(), expected_requirements)

def test_updates_package_with_multiline_spec(self):
requirements = 'tests/samples/requirements-with-multiline.txt'
tempdir = tempfile.mkdtemp()
Expand All @@ -363,7 +385,7 @@ def test_updates_package_with_multiline_spec(self):

result = self.runner.invoke(pur, args)
self.assertIsNone(result.exception)
expected_output = "Updated afakepackage: 0.9 -> 1.0\nAll requirements up-to-date.\n"
expected_output = "Updated afakepackage: 0.9 -> 1.0\nUpdated afakepackage: 0.9 -> 1.0\nAll requirements up-to-date.\n"
self.assertEquals(u(result.output), u(expected_output))
self.assertEquals(result.exit_code, 0)
expected_requirements = open('tests/samples/results/test_updates_package_with_multiline_spec').read()
Expand Down

0 comments on commit d757727

Please sign in to comment.