charm-neutron-gateway/unit_tests/__init__.py
Alex Kavanagh 1890a97952 Modify paths to ensure that charms' charmhelpers is first
The pre-patch version of unit-testing tested the git-repo version of
charm-helpers instead of the version that was synced to the charm.

The git-repo version of charmhelpers is pip installed to obtain the
testing part of charm-helpers, for the unit tests.  Whilst this is a bug
(really), it was compounded in that - due to how the paths worked - the
unit tests' git version of charm-helpers was in the path first, and thus
all unit tests were performed using that version of charm-helpers, and
not the version actually synced into the charm.  This has led to all
sorts of 'odd' double mocking of config in the tests as there are
potentially two copies of charm-helpers (as was the case for py27).  A
further commit will undo that madness.

This patchset moves the charm synced version of charm-helpers earlier
into the path so it gets picked first when the modules are loaded.

Change-Id: Iff0566c52a283ff0cd2fc7707d981d8c47f3e6b2
2019-07-30 15:17:58 +01:00

19 lines
411 B
Python

import os
import sys
_path = os.path.dirname(os.path.realpath(__file__))
_hooks = os.path.abspath(os.path.join(_path, '../hooks'))
_actions = os.path.abspath(os.path.join(_path, '../actions'))
_unit_tests = os.path.abspath(os.path.join(_path, '../unit_tests'))
def _add_path(path):
if path not in sys.path:
sys.path.insert(1, path)
_add_path(_hooks)
_add_path(_actions)
_add_path(_unit_tests)