コード例 #1
0
def test_auto_import_mock_package():
    import patched
    mock_package = unit_test.AutoImportMockPackage(name='patched.module')
    unit_test.patch_module('patched.module', mock_package)
    assert not isinstance(patched.module.import_over_patch, MagicMock)
    assert isinstance(patched.module, MagicMock)
    assert patched.module.import_over_patch.real_or_fake == 'real'
コード例 #2
0
def test_unpatched_with_patched_child():
    unit_test.patch_module('dummy.test.module')
    import dummy.test
    import dummy.test.module as dummy_test_module
    assert isinstance(dummy.test, MagicMock)
    assert isinstance(dummy.test.module, MagicMock)
    assert dummy.test.module is dummy_test_module
コード例 #3
0
def test_patch_with_patched_ancestor():
    unit_test.patch_module('dummy')
    unit_test.patch_module('dummy.test')
    import dummy.test as dummy_test
    import dummy
    assert isinstance(dummy_test, MagicMock)
    assert dummy.test is dummy_test
コード例 #4
0
def test_auto_import_mock_package_top_level():
    mock_package = unit_test.AutoImportMockPackage(name='module')
    unit_test.patch_module('module', mock_package)
    import module
    assert not isinstance(module.import_over_patch, MagicMock)
    assert isinstance(module, MagicMock)
    assert module.import_over_patch.real_or_fake == 'real'
コード例 #5
0
def test_import_real_over_patched_ancestor():
    sys.path.insert(0, str(Path(__file__).parent / 'lib'))
    unit_test.patch_module('patched.module')
    import patched.module.import_over_patch as import_over_patch
    import patched.module
    assert not isinstance(import_over_patch, MagicMock)
    assert isinstance(patched.module, MagicMock)
    assert import_over_patch.real_or_fake == 'real'
    assert patched.module.import_over_patch is import_over_patch
コード例 #6
0
ファイル: conftest.py プロジェクト: hemanthnakkina/hotsos
import os

from charms.unit_test import patch_module, identity, MockKV, flags, MockEndpoint

ch = patch_module("charmhelpers")
ch.core.hookenv.atexit = identity
ch.core.hookenv.charm_dir.return_value = "charm_dir"
ch.core.unitdata.kv.return_value = MockKV()

reactive = patch_module("charms.reactive")
reactive.when.return_value = identity
reactive.when_all.return_value = identity
reactive.when_any.return_value = identity
reactive.when_not.return_value = identity
reactive.when_not_all.return_value = identity
reactive.when_none.return_value = identity
reactive.hook.return_value = identity
reactive.set_flag.side_effect = flags.add
reactive.clear_flag.side_effect = flags.discard
reactive.set_state.side_effect = flags.add
reactive.remove_state.side_effect = flags.discard
reactive.toggle_flag.side_effect = lambda f, s: (flags.add(f)
                                                 if s else flags.discard(f))
reactive.is_flag_set.side_effect = lambda f: f in flags
reactive.is_state.side_effect = lambda f: f in flags
reactive.get_flags.side_effect = lambda: sorted(flags)
reactive.get_unset_flags.side_effect = lambda *f: sorted(set(f) - flags)

reactive.Endpoint = MockEndpoint

os.environ["JUJU_MODEL_UUID"] = "test-1234"
コード例 #7
0
def test_unpatched_with_patched_ancestor():
    unit_test.patch_module('dummy')
    from dummy import test
    import dummy.test.module as dummy_test_module
    assert isinstance(dummy_test_module, MagicMock)
    assert test.module is dummy_test_module
コード例 #8
0
def test_patch_with_real_ancestor():
    unit_test.patch_module('charms.dummy')
    import charms.dummy as charms_dummy
    import charms
    assert isinstance(charms_dummy, MagicMock)
    assert charms.dummy is charms_dummy
コード例 #9
0
def test_patch():
    unit_test.patch_module('dummy')
    import dummy
    assert isinstance(dummy, MagicMock)
    assert isinstance(dummy.foo, MagicMock)