예제 #1
0
def test_activate():
    try:
        assert deal.activate()
        assert not deal.activate()
    finally:
        assert deactivate()
        assert not deactivate()
예제 #2
0
def test_state_switch_activate():
    try:
        assert deal.activate()
        assert deactivate()

        deal.disable()
        assert not deal.activate()
    finally:
        deactivate()
        deal.enable()
예제 #3
0
def test_state_switch_module_load_debug():
    with pytest.raises(RuntimeError):
        deal.module_load()
    try:
        deal.disable()
        deal.activate()
        deal.enable()
    finally:
        deactivate()
        deal.reset()
예제 #4
0
def test_state_switch_activate():
    try:
        assert deal.activate()
        assert deactivate()

        deal.switch(main=False)
        assert not deal.activate()
    finally:
        deactivate()
        deal.switch(main=True)
예제 #5
0
def test_state_switch_module_load_debug():
    with pytest.raises(RuntimeError):
        deal.module_load(debug=True)
    try:
        deal.switch(debug=False)
        deal.activate()
        deal.module_load(debug=True)
    finally:
        deactivate()
        deal.switch(debug=True)
예제 #6
0
def test_module_load():
    assert deal.activate()
    try:
        deal.module_load(deal.silent)
    finally:
        assert deactivate()

    with pytest.raises(RuntimeError):
        deal.module_load(deal.silent)
예제 #7
0
def test_smoke():
    text = """
        import deal
        deal.module_load(deal.silent)
        print(1)
        """
    text = dedent(text)
    Path('tmp123.py').write_text(text)

    try:
        assert deal.activate()
        with pytest.raises(deal.SilentContractError):
            __import__('tmp123')
    finally:
        assert deactivate()
        assert not deactivate()
        Path('tmp123.py').unlink()
예제 #8
0
def test_smoke_has():
    text = """
        import urllib3
        import deal

        deal.module_load(deal.has('stdout'))
        # stdout is ok
        print(1)

        # network is not ok
        http = urllib3.PoolManager()
        http.request('GET', 'http://httpbin.org/robots.txt')
        """
    text = dedent(text)
    Path('tmp123.py').write_text(text)

    try:
        assert deal.activate()
        with pytest.raises(deal.OfflineContractError):
            __import__('tmp123')
    finally:
        assert deactivate()
        assert not deactivate()
        Path('tmp123.py').unlink()