예제 #1
0
def test_fetch_icon_emit_got_icon_signal(monkeypatch, qtbot, tmpdir):
    sr = SetupRunner([])
    dest = str(tmpdir.join('icon.png'))
    monkeypatch.setattr('treq.get', fake_get)
    monkeypatch.setattr('treq.content', lambda _: b'0')
    with qtbot.wait_signal(sr.got_icon) as blocker:
        yield sr.fetch_icon('http://example.org/icon.png', dest)
    assert blocker.args == [dest]
예제 #2
0
def test_fetch_icon(monkeypatch, tmpdir):
    sr = SetupRunner([])
    dest = str(tmpdir.join('icon.png'))
    monkeypatch.setattr('treq.get', fake_get)
    monkeypatch.setattr('treq.content', lambda _: b'0')
    yield sr.fetch_icon('http://example.org/icon.png', dest)
    with open(dest) as f:
        assert f.read() == '0'
예제 #3
0
def test_fetch_icon(monkeypatch, tmpdir):
    sr = SetupRunner([])
    dest = str(tmpdir.join("icon.png"))
    monkeypatch.setattr("treq.get", fake_get)
    monkeypatch.setattr("treq.content", lambda _: b"0")
    yield sr.fetch_icon("http://example.org/icon.png", dest)
    with open(dest) as f:
        assert f.read() == "0"
예제 #4
0
def test_fetch_icon_use_tor(monkeypatch, tmpdir):
    sr = SetupRunner([], use_tor=True)
    dest = str(tmpdir.join("icon.png"))
    fake_tor_web_agent = MagicMock()

    def fake_tor(*args):
        tor = MagicMock()
        tor.web_agent.return_value = fake_tor_web_agent
        return tor

    kwargs_received = []

    def fake_treq_get(*args, **kwargs):
        response = MagicMock()
        response.code = 200
        kwargs_received.append(kwargs)
        return response

    monkeypatch.setattr("treq.get", fake_treq_get)
    monkeypatch.setattr("treq.content", lambda _: b"0")
    monkeypatch.setattr("gridsync.setup.get_tor", fake_tor)
    yield sr.fetch_icon("http://example.org/icon.png", dest)
    assert kwargs_received == [{"agent": fake_tor_web_agent}]
예제 #5
0
def test_fetch_icon_no_emit_got_icon_signal(monkeypatch, qtbot, tmpdir):
    sr = SetupRunner([])
    dest = str(tmpdir.join('icon.png'))
    monkeypatch.setattr('treq.get', fake_get_code_500)
    with qtbot.assert_not_emitted(sr.got_icon):
        yield sr.fetch_icon('http://example.org/icon.png', dest)
예제 #6
0
def test_fetch_icon_use_tor_raise_tor_error(monkeypatch, tmpdir):
    sr = SetupRunner([], use_tor=True)
    dest = str(tmpdir.join("icon.png"))
    monkeypatch.setattr("gridsync.setup.get_tor", lambda _: None)
    with pytest.raises(TorError):
        yield sr.fetch_icon("http://example.org/icon.png", dest)