1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
from os import unlink
from tempfile import NamedTemporaryFile
from .common import check_assert, check_command, check_returncode
def test_hello():
result = check_command('./hello')
check_returncode(result)
check_assert(result, 'Hello, World, from cli.log.info!' in result.stdout)
check_assert(result, 'Hello, World, from cli.echo!' in result.stdout)
def test_hello_help():
result = check_command('./hello', '--help')
check_returncode(result)
check_assert(result, '[-n NAME]' in result.stdout)
check_assert(result, '[--no-comma]' in result.stdout)
def test_hello_no_color():
result = check_command('./hello', '--no-color')
check_returncode(result)
if 'ℹ' in result.stdout:
check_assert(result, result.stdout == 'ℹ Hello, World, from cli.log.info!\nHello, World, from cli.echo!\n')
else:
check_assert(result, result.stdout == 'INFO Hello, World, from cli.log.info!\nHello, World, from cli.echo!\n')
def test_hello_no_color_no_unicode():
result = check_command('./hello', '--no-color', '--no-unicode')
check_returncode(result)
check_assert(result, result.stdout == 'INFO Hello, World, from cli.log.info!\nHello, World, from cli.echo!\n')
def test_hello_no_color_no_comma():
result = check_command('./hello', '--no-color', '--no-comma')
check_returncode(result)
if 'ℹ' in result.stdout:
check_assert(result, result.stdout == 'ℹ Hello World, from cli.log.info!\nHello World, from cli.echo!\n')
else:
check_assert(result, result.stdout == 'INFO Hello World, from cli.log.info!\nHello World, from cli.echo!\n')
def test_hello_no_color_no_unicode_no_comma():
result = check_command('./hello', '--no-color', '--no-unicode', '--no-comma')
check_returncode(result)
check_assert(result, result.stdout == 'INFO Hello World, from cli.log.info!\nHello World, from cli.echo!\n')
def test_hello_no_color_log_file():
log_file = NamedTemporaryFile(delete=False)
result = check_command('./hello', '--no-color', '--log-file', log_file.name)
check_returncode(result)
if 'ℹ' in result.stdout:
check_assert(result, result.stdout == 'ℹ Hello, World, from cli.log.info!\nHello, World, from cli.echo!\n')
else:
check_assert(result, result.stdout == 'INFO Hello, World, from cli.log.info!\nHello, World, from cli.echo!\n')
log_file_contents = log_file.read().decode('utf-8')
log_file.close()
unlink(log_file.name)
if 'Hello, World, from cli.log.info!' not in log_file_contents:
print('Log File Contents:')
print(log_file_contents)
print()
raise AssertionError
def test_hello_no_color_no_unicode_log_file():
log_file = NamedTemporaryFile(delete=False)
result = check_command('./hello', '--no-color', '--no-unicode', '--log-file', log_file.name)
check_returncode(result)
check_assert(result, result.stdout == 'INFO Hello, World, from cli.log.info!\nHello, World, from cli.echo!\n')
log_file_contents = log_file.read().decode('utf-8')
log_file.close()
unlink(log_file.name)
if 'Hello, World, from cli.log.info!' not in log_file_contents:
print('Log File Contents:')
print(log_file_contents)
print()
raise AssertionError
def test_hello_no_color_verbose():
result = check_command('./hello', '--no-color', '-v')
check_returncode(result)
if '☐' in result.stdout:
check_assert(result, result.stdout == '☐ You used -v you lucky person!\nℹ Hello, World, from cli.log.info!\nHello, World, from cli.echo!\n')
else:
check_assert(result, result.stdout == 'DEBUG You used -v you lucky person!\nINFO Hello, World, from cli.log.info!\nHello, World, from cli.echo!\n')
def test_hello_no_color_no_unicode_verbose():
result = check_command('./hello', '--no-color', '--no-unicode', '-v')
check_returncode(result)
check_assert(result, result.stdout == 'DEBUG You used -v you lucky person!\nINFO Hello, World, from cli.log.info!\nHello, World, from cli.echo!\n')
|