Ejemplo n.º 1
0
def test_import_module_from_data_dir(monkeypatch):
    real_data_dir = pkunit.data_dir()
    fake_data_dir = None
    def mock_data_dir():
        return fake_data_dir
    monkeypatch.setattr(pkunit, 'data_dir', mock_data_dir)
    fake_data_dir = str(real_data_dir.join('import1'))
    assert 'imp1' == pkunit.import_module_from_data_dir('p1').v, \
        'import1/p1 should be from "imp1"'
    fake_data_dir = str(real_data_dir.join('import2'))
    assert 'imp2' == pkunit.import_module_from_data_dir('p1').v, \
        'import2/p1 should be from "imp2"'
Ejemplo n.º 2
0
def test_module_basename():
    p1 = pkunit.import_module_from_data_dir('p1')
    assert pkinspect.module_basename(p1) == 'p1'
    m1 = pkunit.import_module_from_data_dir('p1.m1')
    assert pkinspect.module_basename(m1) == 'm1'
    assert pkinspect.module_basename(m1.C) == 'm1'
    assert pkinspect.module_basename(m1.C()) == 'm1'
    assert pkinspect.module_basename(m1) == 'm1'
    assert pkinspect.module_basename(m1.C) == 'm1'
    assert pkinspect.module_basename(m1.C()) == 'm1'
    p2 = pkunit.import_module_from_data_dir('p1.p2')
    assert pkinspect.module_basename(p2) == 'p2'
    m2 = pkunit.import_module_from_data_dir('p1.p2.m2')
    assert pkinspect.module_basename(m2) == 'm2'
Ejemplo n.º 3
0
def test_import_module_from_data_dir(monkeypatch):
    real_data_dir = pkunit.data_dir()
    fake_data_dir = None

    def mock_data_dir():
        return fake_data_dir

    monkeypatch.setattr(pkunit, 'data_dir', mock_data_dir)
    fake_data_dir = str(real_data_dir.join('import1'))
    assert 'imp1' == pkunit.import_module_from_data_dir('p1').v, \
        'import1/p1 should be from "imp1"'
    fake_data_dir = str(real_data_dir.join('import2'))
    assert 'imp2' == pkunit.import_module_from_data_dir('p1').v, \
        'import2/p1 should be from "imp2"'
Ejemplo n.º 4
0
def test_module_basename():
    p1 = pkunit.import_module_from_data_dir('p1')
    assert pkinspect.module_basename(p1) == 'p1'
    m1 = pkunit.import_module_from_data_dir('p1.m1')
    assert pkinspect.module_basename(m1) == 'm1'
    assert pkinspect.module_basename(m1.C) == 'm1'
    assert pkinspect.module_basename(m1.C()) == 'm1'
    assert pkinspect.module_basename(m1) == 'm1'
    assert pkinspect.module_basename(m1.C) == 'm1'
    assert pkinspect.module_basename(m1.C()) == 'm1'
    p2 = pkunit.import_module_from_data_dir('p1.p2')
    assert pkinspect.module_basename(p2) == 'p2'
    m2 = pkunit.import_module_from_data_dir('p1.p2.m2')
    assert pkinspect.module_basename(m2) == 'm2'
Ejemplo n.º 5
0
def test_load_resource():
    """Test file can be read"""
    from pykern import pkunit
    from pykern import pkyaml

    p1 = pkunit.import_module_from_data_dir('p1')
    assert 'v2' == p1.y['f2'], \
        'Resource should be loaded relative to root package of caller'
Ejemplo n.º 6
0
def test_is_caller_main():
    m1 = pkunit.import_module_from_data_dir('p1.m1')
    assert not m1.is_caller_main(), \
        'When not called from main, is_caller_main is False'
    with pkio.save_chdir(pkunit.data_dir()):
        subprocess.check_call([
            sys.executable, '-c',
            'from p1 import m1; assert m1.is_caller_main()'
        ])
Ejemplo n.º 7
0
def test_is_caller_main():
    m1 = pkunit.import_module_from_data_dir('p1.m1')
    assert not m1.is_caller_main(), \
        'When not called from main, is_caller_main is False'
    with pkio.save_chdir(pkunit.data_dir()):
        subprocess.check_call([
            sys.executable,
            '-c',
            'from p1 import m1; assert m1.is_caller_main()'])
Ejemplo n.º 8
0
def test_render_resource():
    t1 = pkunit.import_module_from_data_dir('t1')
    with pkunit.save_chdir_work():
        out = 'out'
        expect = '\n!v1!\n'
        assert expect == t1.render(None), \
            'render_resource should return rendered template'
        assert not glob.glob('*'), \
            'render_resource should not create any files'
        assert expect == t1.render(out), \
            'render_resource should return string even when writing to file'
        assert expect == pkio.read_text(out), \
            'With out, render_resource should write file'
Ejemplo n.º 9
0
def test_caller():
    import inspect
    m1 = pkunit.import_module_from_data_dir('p1.m1')
    c = m1.caller()
    expect = inspect.currentframe().f_lineno - 1
    assert expect == c.lineno, \
        '{}: unexpected lineno, should be {}'.format(c.lineno, expect)
    expect = 'test_caller'
    assert expect == c.name, \
        '{}: expected function name {}'.format(c.name, expect)
    this_module = sys.modules[__name__]
    c = m1.caller(ignore_modules=[this_module])
    assert expect != c.name, \
        '{}: should not be {}'.format(c.name, expect)
    my_caller = pkinspect.caller()
    expect = my_caller._module
    assert expect == c._module, \
        '{}: should be {}'.format(c._module, expect)
Ejemplo n.º 10
0
def test_caller():
    import inspect
    m1 = pkunit.import_module_from_data_dir('p1.m1')
    c = m1.caller()
    expect = inspect.currentframe().f_lineno - 1
    assert expect == c.lineno, \
        '{}: unexpected lineno, should be {}'.format(c.lineno, expect)
    expect = 'test_caller'
    assert expect == c.name, \
        '{}: expected function name {}'.format(c.name, expect)
    this_module = sys.modules[__name__]
    c = m1.caller(ignore_modules=[this_module])
    assert expect != c.name, \
        '{}: should not be {}'.format(c.name, expect)
    my_caller = pkinspect.caller()
    expect = my_caller._module
    assert expect == c._module, \
        '{}: should be {}'.format(c._module, expect)
Ejemplo n.º 11
0
def test_load_resource():
    """Test file can be read"""
    p1 = pkunit.import_module_from_data_dir('p1')
    assert 'v2' == p1.y['f2'], \
        'Resource should be loaded relative to root package of caller'
Ejemplo n.º 12
0
def test_caller_module():
    m1 = pkunit.import_module_from_data_dir('p1.m1')
    assert __name__ == m1.caller_module().__name__, \
        'caller_module should return this module'
Ejemplo n.º 13
0
def test_root_pkg():
    m2 = pkunit.import_module_from_data_dir('p1.p2.m2')
    assert pkinspect.root_package(m2) == 'p1'
Ejemplo n.º 14
0
def test_submodule_name():
    m2 = pkunit.import_module_from_data_dir('p1.p2.m2')
    assert pkinspect.submodule_name(m2) == 'p2.m2'
Ejemplo n.º 15
0
def test_submodule_name():
    m2 = pkunit.import_module_from_data_dir('p1.p2.m2')
    assert pkinspect.submodule_name(m2) == 'p2.m2'
Ejemplo n.º 16
0
def test_caller_module():
    m1 = pkunit.import_module_from_data_dir('p1.m1')
    assert __name__ == m1.caller_module().__name__, \
        'caller_module should return this module'
Ejemplo n.º 17
0
def test_root_pkg():
    m2 = pkunit.import_module_from_data_dir('p1.p2.m2')
    assert pkinspect.root_package(m2) == 'p1'