[qa] covers __main__
This commit is contained in:
2
Makefile
2
Makefile
@ -1,7 +1,7 @@
|
|||||||
# This file has been auto-generated.
|
# This file has been auto-generated.
|
||||||
# All changes will be lost, see Projectfile.
|
# All changes will be lost, see Projectfile.
|
||||||
#
|
#
|
||||||
# Updated at 2017-05-03 18:02:59.359160
|
# Updated at 2017-05-22 19:54:27.969596
|
||||||
|
|
||||||
PACKAGE ?= bonobo
|
PACKAGE ?= bonobo
|
||||||
PYTHON ?= $(shell which python)
|
PYTHON ?= $(shell which python)
|
||||||
|
|||||||
36
setup.py
36
setup.py
@ -18,13 +18,19 @@ except NameError:
|
|||||||
|
|
||||||
|
|
||||||
# Get the long description from the README file
|
# Get the long description from the README file
|
||||||
|
try:
|
||||||
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
|
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
|
||||||
long_description = f.read()
|
long_description = f.read()
|
||||||
|
except:
|
||||||
|
long_description = ''
|
||||||
|
|
||||||
# Get the classifiers from the classifiers file
|
# Get the classifiers from the classifiers file
|
||||||
tolines = lambda c: list(filter(None, map(lambda s: s.strip(), c.split('\n'))))
|
tolines = lambda c: list(filter(None, map(lambda s: s.strip(), c.split('\n'))))
|
||||||
|
try:
|
||||||
with open(path.join(here, 'classifiers.txt'), encoding='utf-8') as f:
|
with open(path.join(here, 'classifiers.txt'), encoding='utf-8') as f:
|
||||||
classifiers = tolines(f.read())
|
classifiers = tolines(f.read())
|
||||||
|
except:
|
||||||
|
classifiers = []
|
||||||
|
|
||||||
version_ns = {}
|
version_ns = {}
|
||||||
try:
|
try:
|
||||||
@ -36,41 +42,43 @@ else:
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='bonobo',
|
name='bonobo',
|
||||||
description=('Bonobo, a simple, modern and atomic extract-transform-load toolkit for '
|
description=
|
||||||
|
('Bonobo, a simple, modern and atomic extract-transform-load toolkit for '
|
||||||
'python 3.5+.'),
|
'python 3.5+.'),
|
||||||
license='Apache License, Version 2.0',
|
license='Apache License, Version 2.0',
|
||||||
install_requires=[
|
install_requires=[
|
||||||
'colorama >=0.3,<1.0', 'fs >=2.0,<3.0', 'psutil >=5.2,<6.0', 'requests >=2.0,<3.0', 'stevedore >=1.21,<2.0'
|
'colorama >=0.3,<1.0', 'fs >=2.0,<3.0', 'psutil >=5.2,<6.0',
|
||||||
|
'requests >=2.0,<3.0', 'stevedore >=1.21,<2.0'
|
||||||
],
|
],
|
||||||
version=version,
|
version=version,
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
classifiers=classifiers,
|
classifiers=classifiers,
|
||||||
packages=find_packages(exclude=['ez_setup', 'example', 'test']),
|
packages=find_packages(exclude=['ez_setup', 'example', 'test']),
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
data_files=[
|
data_files=[('share/jupyter/nbextensions/bonobo-jupyter', [
|
||||||
(
|
'bonobo/ext/jupyter/static/extension.js',
|
||||||
'share/jupyter/nbextensions/bonobo-jupyter', [
|
'bonobo/ext/jupyter/static/index.js',
|
||||||
'bonobo/ext/jupyter/static/extension.js', 'bonobo/ext/jupyter/static/index.js',
|
|
||||||
'bonobo/ext/jupyter/static/index.js.map'
|
'bonobo/ext/jupyter/static/index.js.map'
|
||||||
]
|
])],
|
||||||
)
|
|
||||||
],
|
|
||||||
extras_require={
|
extras_require={
|
||||||
'dev': [
|
'dev': [
|
||||||
'coverage >=4,<5', 'pylint >=1,<2', 'pytest >=3,<4', 'pytest-cov >=2,<3', 'pytest-timeout >=1,<2', 'sphinx',
|
'coverage >=4,<5', 'pylint >=1,<2', 'pytest >=3,<4',
|
||||||
|
'pytest-cov >=2,<3', 'pytest-timeout >=1,<2', 'sphinx',
|
||||||
'sphinx_rtd_theme', 'yapf'
|
'sphinx_rtd_theme', 'yapf'
|
||||||
],
|
],
|
||||||
'jupyter': ['jupyter >=1.0,<1.1', 'ipywidgets >=6.0.0.beta5']
|
'jupyter': ['jupyter >=1.0,<1.1', 'ipywidgets >=6.0.0.beta5']
|
||||||
},
|
},
|
||||||
entry_points={
|
entry_points={
|
||||||
'bonobo.commands': [
|
'bonobo.commands': [
|
||||||
'init = bonobo.commands.init:register', 'run = bonobo.commands.run:register',
|
'init = bonobo.commands.init:register',
|
||||||
|
'run = bonobo.commands.run:register',
|
||||||
'version = bonobo.commands.version:register'
|
'version = bonobo.commands.version:register'
|
||||||
],
|
],
|
||||||
'console_scripts': ['bonobo = bonobo.commands:entrypoint'],
|
'console_scripts': ['bonobo = bonobo.commands:entrypoint'],
|
||||||
'edgy.project.features': ['bonobo = '
|
'edgy.project.features':
|
||||||
|
['bonobo = '
|
||||||
'bonobo.ext.edgy.project.feature:BonoboFeature']
|
'bonobo.ext.edgy.project.feature:BonoboFeature']
|
||||||
},
|
},
|
||||||
url='https://www.bonobo-project.org/',
|
url='https://www.bonobo-project.org/',
|
||||||
download_url='https://github.com/python-bonobo/bonobo/tarball/{version}'.format(version=version),
|
download_url='https://github.com/python-bonobo/bonobo/tarball/{version}'.
|
||||||
)
|
format(version=version), )
|
||||||
|
|||||||
@ -1,10 +1,21 @@
|
|||||||
import pkg_resources
|
import pkg_resources
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from bonobo import get_examples_path, __version__
|
from bonobo import __version__, get_examples_path
|
||||||
from bonobo.commands import entrypoint
|
from bonobo.commands import entrypoint
|
||||||
|
|
||||||
|
|
||||||
|
def runner_entrypoint(*args):
|
||||||
|
return entrypoint(list(args))
|
||||||
|
|
||||||
|
|
||||||
|
def runner_module(*args):
|
||||||
|
return entrypoint(list(args))
|
||||||
|
|
||||||
|
|
||||||
|
all_runners = pytest.mark.parametrize('runner', [runner_entrypoint, runner_module])
|
||||||
|
|
||||||
|
|
||||||
def test_entrypoint():
|
def test_entrypoint():
|
||||||
commands = {}
|
commands = {}
|
||||||
|
|
||||||
@ -13,31 +24,31 @@ def test_entrypoint():
|
|||||||
|
|
||||||
assert 'init' in commands
|
assert 'init' in commands
|
||||||
assert 'run' in commands
|
assert 'run' in commands
|
||||||
|
assert 'version' in commands
|
||||||
|
|
||||||
|
|
||||||
def test_no_command(capsys):
|
@all_runners
|
||||||
|
def test_no_command(runner, capsys):
|
||||||
with pytest.raises(SystemExit):
|
with pytest.raises(SystemExit):
|
||||||
entrypoint([])
|
runner()
|
||||||
_, err = capsys.readouterr()
|
_, err = capsys.readouterr()
|
||||||
assert 'error: the following arguments are required: command' in err
|
assert 'error: the following arguments are required: command' in err
|
||||||
|
|
||||||
|
|
||||||
def test_init():
|
@all_runners
|
||||||
pass # need ext dir
|
def test_run(runner, capsys):
|
||||||
|
runner('run', '--quiet', get_examples_path('types/strings.py'))
|
||||||
|
|
||||||
def test_run(capsys):
|
|
||||||
entrypoint(['run', '--quiet', get_examples_path('types/strings.py')])
|
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
out = out.split('\n')
|
out = out.split('\n')
|
||||||
assert out[0].startswith('Foo ')
|
assert out[0].startswith('Foo ')
|
||||||
assert out[1].startswith('Bar ')
|
assert out[1].startswith('Bar ')
|
||||||
assert out[2].startswith('Baz ')
|
assert out[2].startswith('Baz ')
|
||||||
|
|
||||||
def test_version(capsys):
|
|
||||||
entrypoint(['version'])
|
@all_runners
|
||||||
|
def test_version(runner, capsys):
|
||||||
|
runner('version')
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
out = out.strip()
|
out = out.strip()
|
||||||
assert out.startswith('bonobo ')
|
assert out.startswith('bonobo ')
|
||||||
assert out.endswith(__version__)
|
assert out.endswith(__version__)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user