Improve platform mocking
Patch out charmhelpers.osplatform.get_platform() and charmhelpers.core.host.lsb_release() globally in the unit tests to insulate the unit tests from the platform that the unit tests are being run on. Change-Id: I3dd34ddb38141ec89896b1ce2d9dc6849f4faaa8
This commit is contained in:
parent
500a8bd029
commit
80dab0abd3
@ -1,6 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
_path = os.path.dirname(os.path.realpath(__file__))
|
_path = os.path.dirname(os.path.realpath(__file__))
|
||||||
_hooks = os.path.abspath(os.path.join(_path, '../hooks'))
|
_hooks = os.path.abspath(os.path.join(_path, '../hooks'))
|
||||||
@ -16,3 +17,15 @@ def _add_path(path):
|
|||||||
_add_path(_hooks)
|
_add_path(_hooks)
|
||||||
_add_path(_actions)
|
_add_path(_actions)
|
||||||
_add_path(_unit_tests)
|
_add_path(_unit_tests)
|
||||||
|
|
||||||
|
# Patch out lsb_release() and get_platform() as unit tests should be fully
|
||||||
|
# insulated from the underlying platform. Unit tests assume that the system is
|
||||||
|
# ubuntu jammy.
|
||||||
|
patch(
|
||||||
|
'charmhelpers.osplatform.get_platform', return_value='ubuntu'
|
||||||
|
).start()
|
||||||
|
patch(
|
||||||
|
'charmhelpers.core.host.lsb_release',
|
||||||
|
return_value={
|
||||||
|
'DISTRIB_CODENAME': 'jammy'
|
||||||
|
}).start()
|
||||||
|
Loading…
Reference in New Issue
Block a user