pip/tests/functional/test_hash.py

33 lines
1.2 KiB
Python

"""Tests for the ``pip hash`` command"""
def test_basic_hash(script, tmpdir):
"""Run 'pip hash' through its default behavior."""
expected = ('--hash=sha256:2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425'
'e73043362938b9824')
result = script.pip('hash', _hello_file(tmpdir))
assert expected in str(result)
def test_good_algo_option(script, tmpdir):
"""Make sure the -a option works."""
expected = ('--hash=sha512:9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caad'
'ae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e'
'5c3adef46f73bcdec043')
result = script.pip('hash', '-a', 'sha512', _hello_file(tmpdir))
assert expected in str(result)
def test_bad_algo_option(script, tmpdir):
"""Make sure the -a option raises an error when given a bad operand."""
result = script.pip('hash', '-a', 'invalidname', _hello_file(tmpdir),
expect_error=True)
assert "invalid choice: 'invalidname'" in str(result)
def _hello_file(tmpdir):
"""Return a temp file to hash containing "hello"."""
file = tmpdir / 'hashable'
file.write_text('hello')
return file