Пример #1
0
async def test_stop(test_client, loop):
    agent = Agent("jid@server", "password")
    agent.web.setup_routes()
    client = await test_client(agent.web.app)

    response = await client.get("/spade/stop")
    response = await response.text()

    sel = Selector(text=response)
    assert sel.css("div.alert-warning > span::text").get().strip(
    ) == "Agent is stopping now."

    with LogCapture() as log:
        try:
            await client.get("/spade/stop/now/", timeout=0.0005)
        except requests.exceptions.ReadTimeout:
            pass

        log.check_present(
            ('spade.Web', 'WARNING', "Stopping agent from web interface."))

    counter = 5
    while agent.is_alive() and counter > 0:
        counter -= 0.5
        time.sleep(0.5)

    assert not agent.is_alive()
Пример #2
0
async def test_stop(test_client):
    agent = Agent("jid@server", "password")
    agent.web.setup_routes()
    client = await test_client(agent.web.app)

    response = await client.get("/spade/stop")
    response = await response.text()

    sel = Selector(text=response)
    assert sel.css("div.alert-warning > span::text").get().strip() == "Agent is stopping now."

    with LogCapture() as log:
        try:
            await client.get("/spade/stop/now/", timeout=0.0005)
        except requests.exceptions.ReadTimeout:
            pass

        log.check_present(('spade.Web', 'WARNING', "Stopping agent from web interface."))

    counter = 5
    while agent.is_alive() and counter > 0:
        counter -= 0.5
        time.sleep(0.5)

    assert not agent.is_alive()
Пример #3
0
def test_create_agent(mocker):
    mocker.patch("spade.agent.AioThread.connect")
    agent = Agent("jid@server", "fake_password")

    assert agent.is_alive() is False

    agent.start(auto_register=False)

    assert agent.is_alive() is True

    agent.aiothread.connect.assert_called_once()
    assert agent.stream is None

    agent.aiothread.conn_coro = mocker.Mock()
    agent.aiothread.conn_coro.__aexit__ = CoroutineMock()

    agent.stop()

    agent.aiothread.conn_coro.__aexit__.assert_called_once()

    assert agent.is_alive() is False
Пример #4
0
def test_create_agent(mocker):
    agent = Agent("jid@server", "fake_password")
    agent._async_connect = CoroutineMock()

    assert agent.is_alive() is False

    future = agent.start(auto_register=False)
    assert future.result() is None

    agent._async_connect.assert_called_once()
    assert agent.stream is None

    agent.conn_coro = mocker.Mock()
    agent.conn_coro.__aexit__ = CoroutineMock()

    assert agent.is_alive() is True
    future = agent.stop()
    future.result()

    agent.conn_coro.__aexit__.assert_called_once()

    assert agent.is_alive() is False
Пример #5
0
def test_create_agent(mocker):
    agent = Agent("jid@server", "fake_password")
    agent._async_connect = CoroutineMock()

    assert agent.is_alive() is False

    future = agent.start(auto_register=False)
    assert future.result() is None

    agent._async_connect.assert_called_once()
    assert agent.stream is None

    agent.conn_coro = mocker.Mock()
    agent.conn_coro.__aexit__ = CoroutineMock()

    assert agent.is_alive() is True
    future = agent.stop()
    future.result()

    agent.conn_coro.__aexit__.assert_called_once()

    assert agent.is_alive() is False