Skip to content

Commit

Permalink
blackify
Browse files Browse the repository at this point in the history
  • Loading branch information
ctheune committed Sep 28, 2020
1 parent eb54216 commit 6998ce7
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 81 deletions.
3 changes: 2 additions & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ def workdir(tmpdir):
def meta_args(tmpdir):
class Args(object):
pass

m_args = Args()
m_args.appenvdir = os.path.join(str(tmpdir), '.app')
m_args.appenvdir = os.path.join(str(tmpdir), ".app")
m_args.base = str(tmpdir)
m_args.unclean = False
return m_args
40 changes: 20 additions & 20 deletions tests/test_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,64 +4,64 @@


def test_init(meta_args, workdir, monkeypatch):
monkeypatch.setattr('sys.stdin', io.StringIO('ducker\n\n\n'))
monkeypatch.setattr("sys.stdin", io.StringIO("ducker\n\n\n"))
appenv.init([], meta_args)
assert os.path.exists(os.path.join(workdir, 'ducker'))
with open(os.path.join(workdir, 'ducker', 'ducker')) as f:
assert os.path.exists(os.path.join(workdir, "ducker"))
with open(os.path.join(workdir, "ducker", "ducker")) as f:
ducker_appenv = f.read()
with open(appenv.__file__) as f:
original_appenv = f.read()

with open(os.path.join(workdir, 'ducker', 'requirements.txt')) as f:
with open(os.path.join(workdir, "ducker", "requirements.txt")) as f:
requirements = f.read()

assert requirements == 'ducker\n'
assert requirements == "ducker\n"
assert ducker_appenv == original_appenv

# calling it again doesn't break:
monkeypatch.setattr('sys.stdin', io.StringIO('ducker\n\n\n'))
monkeypatch.setattr("sys.stdin", io.StringIO("ducker\n\n\n"))

os.chdir(workdir)
assert os.path.exists(os.path.join(workdir, 'ducker'))
with open(os.path.join(workdir, 'ducker', 'ducker')) as f:
assert os.path.exists(os.path.join(workdir, "ducker"))
with open(os.path.join(workdir, "ducker", "ducker")) as f:
ducker_appenv = f.read()
with open(appenv.__file__) as f:
original_appenv = f.read()

with open(os.path.join(workdir, 'ducker', 'requirements.txt')) as f:
with open(os.path.join(workdir, "ducker", "requirements.txt")) as f:
requirements = f.read()

assert requirements == 'ducker\n'
assert requirements == "ducker\n"
assert ducker_appenv == original_appenv


def test_init_explicit_target(meta_args, workdir, monkeypatch):
monkeypatch.setattr('sys.stdin', io.StringIO('ducker\n\nbaz\n'))
monkeypatch.setattr("sys.stdin", io.StringIO("ducker\n\nbaz\n"))
appenv.init([], meta_args)
assert os.path.exists(os.path.join(workdir, 'baz'))
with open(os.path.join(workdir, 'baz', 'ducker')) as f:
assert os.path.exists(os.path.join(workdir, "baz"))
with open(os.path.join(workdir, "baz", "ducker")) as f:
ducker_appenv = f.read()
with open(appenv.__file__) as f:
original_appenv = f.read()

with open(os.path.join(workdir, 'baz', 'requirements.txt')) as f:
with open(os.path.join(workdir, "baz", "requirements.txt")) as f:
requirements = f.read()

assert requirements == 'ducker\n'
assert requirements == "ducker\n"
assert ducker_appenv == original_appenv


def test_init_explicit_package_and_target(meta_args, workdir, monkeypatch):
monkeypatch.setattr('sys.stdin', io.StringIO('foo\nbar\nbaz\n'))
monkeypatch.setattr("sys.stdin", io.StringIO("foo\nbar\nbaz\n"))
appenv.init([], meta_args)
assert os.path.exists(os.path.join(workdir, 'baz'))
with open(os.path.join(workdir, 'baz', 'foo')) as f:
assert os.path.exists(os.path.join(workdir, "baz"))
with open(os.path.join(workdir, "baz", "foo")) as f:
ducker_appenv = f.read()
with open(appenv.__file__) as f:
original_appenv = f.read()

with open(os.path.join(workdir, 'baz', 'requirements.txt')) as f:
with open(os.path.join(workdir, "baz", "requirements.txt")) as f:
requirements = f.read()

assert requirements == 'bar\n'
assert requirements == "bar\n"
assert ducker_appenv == original_appenv
68 changes: 33 additions & 35 deletions tests/test_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,61 +14,59 @@ def test_bootstrap_lockfile_missing_dependency():


def test_bootstrap_and_run_with_lockfile(meta_args, workdir, monkeypatch):
monkeypatch.setattr('sys.stdin', io.StringIO('ducker\nducker==2.0.1\n\n'))
meta_args.appenvdir = os.path.join(workdir, 'ducker', '.ducker')
meta_args.base = os.path.join(workdir, 'ducker')
meta_args.appname = 'ducker'
monkeypatch.setattr("sys.stdin", io.StringIO("ducker\nducker==2.0.1\n\n"))
meta_args.appenvdir = os.path.join(workdir, "ducker", ".ducker")
meta_args.base = os.path.join(workdir, "ducker")
meta_args.appname = "ducker"

appenv.init([], meta_args)
appenv.update_lockfile([], meta_args)
os.chdir(os.path.join(workdir, 'ducker'))
with open('ducker', 'r') as f:
os.chdir(os.path.join(workdir, "ducker"))
with open("ducker", "r") as f:
# Ensure we're called with the Python-interpreter-under-test.
script = '#!{}\n{}'.format(sys.executable, f.read())
with open('ducker', 'w') as f:
script = "#!{}\n{}".format(sys.executable, f.read())
with open("ducker", "w") as f:
f.write(script)

output = subprocess.check_output('./ducker --help', shell=True)
assert output.startswith(b'usage: Ducker')
output = subprocess.check_output("./ducker --help", shell=True)
assert output.startswith(b"usage: Ducker")


def test_bootstrap_and_run_python_with_lockfile(meta_args, workdir,
monkeypatch):
monkeypatch.setattr('sys.stdin', io.StringIO('ducker\nducker==2.0.1\n\n'))
meta_args.appenvdir = os.path.join(workdir, 'ducker', '.ducker')
meta_args.base = os.path.join(workdir, 'ducker')
meta_args.appname = 'ducker'
def test_bootstrap_and_run_python_with_lockfile(meta_args, workdir, monkeypatch):
monkeypatch.setattr("sys.stdin", io.StringIO("ducker\nducker==2.0.1\n\n"))
meta_args.appenvdir = os.path.join(workdir, "ducker", ".ducker")
meta_args.base = os.path.join(workdir, "ducker")
meta_args.appname = "ducker"

appenv.init([], meta_args)
appenv.update_lockfile([], meta_args)
os.chdir(os.path.join(workdir, 'ducker'))
with open('ducker', 'r') as f:
os.chdir(os.path.join(workdir, "ducker"))
with open("ducker", "r") as f:
# Ensure we're called with the Python-interpreter-under-test.
script = '#!{}\n{}'.format(sys.executable, f.read())
with open('ducker', 'w') as f:
script = "#!{}\n{}".format(sys.executable, f.read())
with open("ducker", "w") as f:
f.write(script)

output = subprocess.check_output(
'./ducker appenv-python -c "print(1)"', shell=True)
assert output == b'1\n'
output = subprocess.check_output('./ducker appenv-python -c "print(1)"', shell=True)
assert output == b"1\n"


def test_bootstrap_and_run_cmd_with_lockfile(meta_args, workdir,
monkeypatch):
monkeypatch.setattr('sys.stdin', io.StringIO('ducker\nducker==2.0.1\n\n'))
meta_args.appenvdir = os.path.join(workdir, 'ducker', '.ducker')
meta_args.base = os.path.join(workdir, 'ducker')
meta_args.appname = 'ducker'
def test_bootstrap_and_run_cmd_with_lockfile(meta_args, workdir, monkeypatch):
monkeypatch.setattr("sys.stdin", io.StringIO("ducker\nducker==2.0.1\n\n"))
meta_args.appenvdir = os.path.join(workdir, "ducker", ".ducker")
meta_args.base = os.path.join(workdir, "ducker")
meta_args.appname = "ducker"

appenv.init([], meta_args)
appenv.update_lockfile([], meta_args)
os.chdir(os.path.join(workdir, 'ducker'))
with open('ducker', 'r') as f:
os.chdir(os.path.join(workdir, "ducker"))
with open("ducker", "r") as f:
# Ensure we're called with the Python-interpreter-under-test.
script = '#!{}\n{}'.format(sys.executable, f.read())
with open('ducker', 'w') as f:
script = "#!{}\n{}".format(sys.executable, f.read())
with open("ducker", "w") as f:
f.write(script)

output = subprocess.check_output(
'./ducker appenv-run python -c "print(1)"', shell=True)
assert output == b'1\n'
'./ducker appenv-run python -c "print(1)"', shell=True
)
assert output == b"1\n"
13 changes: 8 additions & 5 deletions tests/test_update_lockfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,23 @@


def test_init_and_create_lockfile(meta_args, workdir, monkeypatch):
monkeypatch.setattr('sys.stdin', io.StringIO('ducker\nducker<2.0.2\n\n'))
meta_args.appenvdir = os.path.join(workdir, 'ducker', '.ducker')
meta_args.base = os.path.join(workdir, 'ducker')
monkeypatch.setattr("sys.stdin", io.StringIO("ducker\nducker<2.0.2\n\n"))
meta_args.appenvdir = os.path.join(workdir, "ducker", ".ducker")
meta_args.base = os.path.join(workdir, "ducker")

appenv.init([], meta_args)

lockfile = os.path.join(workdir, 'ducker', 'requirements.lock')
lockfile = os.path.join(workdir, "ducker", "requirements.lock")
assert not os.path.exists(lockfile)

appenv.update_lockfile([], meta_args)

assert os.path.exists(lockfile)
with open(lockfile) as f:
lockfile_content = f.read()
assert lockfile_content == """\
assert (
lockfile_content
== """\
ducker==2.0.1
"""
)
40 changes: 20 additions & 20 deletions tests/test_venv.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,33 @@

def test_new_venv(tmpdir):
tmpdir = str(tmpdir)
appenv.ensure_venv(os.path.join(tmpdir, 'venv'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'bin', 'pip3'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'bin', 'python'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'lib'))
appenv.ensure_venv(os.path.join(tmpdir, "venv"))
assert os.path.exists(os.path.join(tmpdir, "venv", "bin", "pip3"))
assert os.path.exists(os.path.join(tmpdir, "venv", "bin", "python"))
assert os.path.exists(os.path.join(tmpdir, "venv", "lib"))

# doesn't break things
appenv.ensure_venv(os.path.join(tmpdir, 'venv'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'bin', 'pip3'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'bin', 'python'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'lib'))
appenv.ensure_venv(os.path.join(tmpdir, "venv"))
assert os.path.exists(os.path.join(tmpdir, "venv", "bin", "pip3"))
assert os.path.exists(os.path.join(tmpdir, "venv", "bin", "python"))
assert os.path.exists(os.path.join(tmpdir, "venv", "lib"))


def test_new_broken_venv_recreated(tmpdir):
tmpdir = str(tmpdir)
appenv.ensure_venv(os.path.join(tmpdir, 'venv'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'bin', 'pip3'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'bin', 'python'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'lib'))
appenv.ensure_venv(os.path.join(tmpdir, "venv"))
assert os.path.exists(os.path.join(tmpdir, "venv", "bin", "pip3"))
assert os.path.exists(os.path.join(tmpdir, "venv", "bin", "python"))
assert os.path.exists(os.path.join(tmpdir, "venv", "lib"))

os.unlink(os.path.join(tmpdir, 'venv', 'bin', 'pip3'))
with open(os.path.join(tmpdir, 'venv', 'asdf'), 'w'):
os.unlink(os.path.join(tmpdir, "venv", "bin", "pip3"))
with open(os.path.join(tmpdir, "venv", "asdf"), "w"):
pass
assert os.path.exists(os.path.join(tmpdir, 'venv', 'asdf'))
assert os.path.exists(os.path.join(tmpdir, "venv", "asdf"))

# re-creates the venv
appenv.ensure_venv(os.path.join(tmpdir, 'venv'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'bin', 'pip3'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'bin', 'python'))
assert os.path.exists(os.path.join(tmpdir, 'venv', 'lib'))
assert not os.path.exists(os.path.join(tmpdir, 'venv', 'asdf'))
appenv.ensure_venv(os.path.join(tmpdir, "venv"))
assert os.path.exists(os.path.join(tmpdir, "venv", "bin", "pip3"))
assert os.path.exists(os.path.join(tmpdir, "venv", "bin", "python"))
assert os.path.exists(os.path.join(tmpdir, "venv", "lib"))
assert not os.path.exists(os.path.join(tmpdir, "venv", "asdf"))

0 comments on commit 6998ce7

Please sign in to comment.