diff options
| author | Kali Kaneko <kali@leap.se> | 2017-08-16 11:28:21 -0400 | 
|---|---|---|
| committer | Kali Kaneko <kali@leap.se> | 2017-08-30 16:18:46 -0400 | 
| commit | 6cb13e80a5e0ea1ab614d51e7ed831d6ec251306 (patch) | |
| tree | d7bf94376370d35d04d9d6be01cbd17a62ac6d1c | |
| parent | e074c4bd23f4386519dae02d5687270ba294f636 (diff) | |
[tests] prepare to run behave against bundle
| -rwxr-xr-x | pkg/build_bundle_with_venv.sh | 4 | ||||
| -rw-r--r-- | tests/functional/features/environment.py | 31 | ||||
| -rw-r--r-- | tests/functional/features/steps/bitmask.py | 14 | 
3 files changed, 40 insertions, 9 deletions
| diff --git a/pkg/build_bundle_with_venv.sh b/pkg/build_bundle_with_venv.sh index 706f17e5..17fc0a2e 100755 --- a/pkg/build_bundle_with_venv.sh +++ b/pkg/build_bundle_with_venv.sh @@ -49,9 +49,7 @@ $VIRTUAL_ENV/bin/python setup.py sdist bdist_wheel --universal  echo "[+] Installing Bitmask from latest wheel..."  $VIRTUAL_ENV/bin/pip install `ls -ltr dist/*.whl | tail -n 1 | cut -d' ' -f 9` -  # Get the bundled libzmq -$VIRTUAL_ENV/bin/pip uninstall --yes pyzmq -$VIRTUAL_ENV/bin/pip install pyzmq --install-option="--zmq=bundled" +$VIRTUAL_ENV/bin/pip install -I pyzmq --install-option="--zmq=bundled"  make bundle_linux diff --git a/tests/functional/features/environment.py b/tests/functional/features/environment.py index ae72b496..5b179cd5 100644 --- a/tests/functional/features/environment.py +++ b/tests/functional/features/environment.py @@ -12,9 +12,27 @@ from leap.common.config import get_path_prefix  DEFAULT_IMPLICIT_WAIT_TIMEOUT_IN_S = 10  HOME_PATH = os.path.abspath('./tmp/bitmask-test') +VIRTUALENV = 'virtualenv' +BUNDLE = 'bundle' +BUNDLE_CI = 'bundle-ci' + +MODE = VIRTUALENV + + +def set_mode(mode): +    global MODE +    if mode not in (VIRTUALENV, BUNDLE, BUNDLE_CI): +        raise ValueError('Unknown test mode: %s' % mode) +    MODE = mode +    return mode +  def before_all(context):      os.environ['HOME'] = HOME_PATH +    mode = os.environ.get('TEST_MODE', 'virtualenv') +    set_mode(mode) +    context.mode = mode +      _setup_webdriver(context)      userdata = context.config.userdata      context.host = userdata.get('host', 'http://localhost') @@ -30,6 +48,16 @@ def before_all(context):          print('TEST_USERNAME or TEST_PASSWORD not set')          sys.exit(0) +    if MODE == BUNDLE: +        next_version = open('pkg/next-version').read().strip() +        context.bundle_path = os.path.abspath( +            os.path.join('dist', 'bitmask-' + next_version)) +    elif MODE == BUNDLE_CI: +        # TODO set path to artifact XXX --- +        context.bundle_path = None +    else: +        context.bundle_path = None +  def _setup_webdriver(context):      chrome_options = Options() @@ -45,7 +73,8 @@ def _setup_webdriver(context):  def after_all(context):      context.browser.quit() -    commands.getoutput('bitmaskctl stop') +    if MODE == VIRTUALENV: +        commands.getoutput('bitmaskctl stop')  def after_step(context, step): diff --git a/tests/functional/features/steps/bitmask.py b/tests/functional/features/steps/bitmask.py index d9f90578..7e1201f6 100644 --- a/tests/functional/features/steps/bitmask.py +++ b/tests/functional/features/steps/bitmask.py @@ -9,11 +9,15 @@ from behave import given  @given('I start bitmask for the first time')  def initial_run(context): -    commands.getoutput('bitmaskctl stop') -    # TODO: fix bitmaskctl to only exit once bitmaskd has stopped -    time.sleep(2) -    _initialize_home_path() -    commands.getoutput('bitmaskctl start') +    if context.mode == 'virtualenv': +        commands.getoutput('bitmaskctl stop') +        # TODO: fix bitmaskctl to only exit once bitmaskd has stopped +        time.sleep(2) +        _initialize_home_path() +        commands.getoutput('bitmaskctl start') +    elif context.mode in ('bundle', 'bundle-ci'): +        commands.getoutput(context.bundle_path) +        time.sleep(2)      tokenpath = os.path.join(get_path_prefix(), 'leap', 'authtoken')      token = open(tokenpath).read().strip()      context.login_url = "http://localhost:7070/#%s" % token | 
