Esempio n. 1
0
def test_InstallerContext_ctor():
    from xylem.installers import InstallerContext
    from .os_detect import OsDetect

    context = InstallerContext()
    assert context.get_os_detect() is not None
    assert isinstance(context.get_os_detect(), OsDetect)

    detect = OsDetect()
    context = InstallerContext(detect)
    assert context.get_os_detect() == detect
    assert [] == context.get_installer_keys()
    assert [] == context.get_os_keys()

    context.verbose = True
    assert context.get_os_detect() == detect
    assert [] == context.get_installer_keys()
    assert [] == context.get_os_keys()
Esempio n. 2
0
def test_InstallerContext_ctor():
    from xylem.installers import InstallerContext
    from .os_detect import OsDetect

    context = InstallerContext()
    assert context.get_os_detect() is not None
    assert isinstance(context.get_os_detect(), OsDetect)

    detect = OsDetect()
    context = InstallerContext(detect)
    assert context.get_os_detect() == detect
    assert [] == context.get_installer_keys()
    assert [] == context.get_os_keys()

    context.verbose = True
    assert context.get_os_detect() == detect
    assert [] == context.get_installer_keys()
    assert [] == context.get_os_keys()
Esempio n. 3
0
def test_InstallerContext_installers():
    from xylem.installers import InstallerContext, Installer
    from .os_detect import OsDetect
    detect = OsDetect()
    context = InstallerContext(detect)
    context.verbose = True

    key = 'fake-apt'
    try:
        installer = context.get_installer(key)
        assert False, "should have raised: %s" % (installer)
    except KeyError:
        pass

    class Foo:
        pass

    class FakeInstaller(Installer):
        pass

    class FakeInstaller2(Installer):
        pass

    # test TypeError on set_installer
    try:
        context.set_installer(key, 1)
        assert False, "should have raised"
    except TypeError:
        pass
    try:
        context.set_installer(key, Foo())
        assert False, "should have raised"
    except TypeError:
        pass
    try:
        # must be instantiated
        context.set_installer(key, FakeInstaller)
        assert False, "should have raised"
    except TypeError:
        pass

    installer = FakeInstaller()
    installer2 = FakeInstaller2()
    context.set_installer(key, installer)
    assert context.get_installer(key) == installer
    assert context.get_installer_keys() == [key]

    # repeat with same args
    context.set_installer(key, installer)
    assert context.get_installer(key) == installer
    assert context.get_installer_keys() == [key]

    # repeat with new installer
    context.set_installer(key, installer2)
    assert context.get_installer(key) == installer2
    assert context.get_installer_keys() == [key]

    # repeat with new key
    key2 = 'fake-port'
    context.set_installer(key2, installer2)
    assert context.get_installer(key2) == installer2
    assert set(context.get_installer_keys()) == set([key, key2])

    # test installer deletion
    key3 = 'fake3'
    context.set_installer(key3, installer2)
    assert context.get_installer(key3) == installer2
    assert set(context.get_installer_keys()) == set([key, key2, key3])
    context.set_installer(key3, None)
    try:
        context.get_installer(key3)
        assert False
    except KeyError:
        pass
    assert set(context.get_installer_keys()) == set([key, key2])
Esempio n. 4
0
def test_InstallerContext_installers():
    from xylem.installers import InstallerContext, Installer
    from .os_detect import OsDetect
    detect = OsDetect()
    context = InstallerContext(detect)
    context.verbose = True

    key = 'fake-apt'
    try:
        installer = context.get_installer(key)
        assert False, "should have raised: %s"%(installer)
    except KeyError: pass

    class Foo: pass
    class FakeInstaller(Installer):
        pass
    class FakeInstaller2(Installer):
        pass

    # test TypeError on set_installer
    try:
        context.set_installer(key, 1)
        assert False, "should have raised"
    except TypeError: pass
    try:
        context.set_installer(key, Foo())
        assert False, "should have raised"
    except TypeError: pass
    try:
        # must be instantiated
        context.set_installer(key, FakeInstaller)
        assert False, "should have raised"
    except TypeError: pass

    installer = FakeInstaller()
    installer2 = FakeInstaller2()
    context.set_installer(key, installer)
    assert context.get_installer(key) == installer
    assert context.get_installer_keys() == [key]

    # repeat with same args
    context.set_installer(key, installer)
    assert context.get_installer(key) == installer
    assert context.get_installer_keys() == [key]

    # repeat with new installer
    context.set_installer(key, installer2)
    assert context.get_installer(key) == installer2
    assert context.get_installer_keys() == [key]
    
    # repeat with new key
    key2 = 'fake-port'
    context.set_installer(key2, installer2)
    assert context.get_installer(key2) == installer2
    assert set(context.get_installer_keys()) == set([key, key2])

    # test installer deletion
    key3 = 'fake3'
    context.set_installer(key3, installer2)
    assert context.get_installer(key3) == installer2
    assert set(context.get_installer_keys()) == set([key, key2, key3])
    context.set_installer(key3, None)
    try:
        context.get_installer(key3)
        assert False
    except KeyError:
        pass
    assert set(context.get_installer_keys()) == set([key, key2])