예제 #1
0
def test_debug_exporter_export_to_file_no_dest_return(monkeypatch, tmpdir):
    de = DebugExporter(None)
    de.close = Mock()
    fake_get_save_file_name = Mock(return_value=(None, None))
    monkeypatch.setattr(
        "gridsync.gui.debug.QFileDialog.getSaveFileName",
        fake_get_save_file_name,
    )
    de.export_to_file()
    assert de.close.call_count == 0
예제 #2
0
def test_debug_exporter_export_to_file_success(monkeypatch, tmpdir):
    de = DebugExporter(None)
    expected_content = "EXPECTED_CONTENT"
    de.plaintextedit.setPlainText(expected_content)
    dest = str(tmpdir.join("log.txt"))
    fake_get_save_file_name = Mock(return_value=(dest, None))
    monkeypatch.setattr(
        "gridsync.gui.debug.QFileDialog.getSaveFileName",
        fake_get_save_file_name,
    )
    de.export_to_file()
    with open(dest) as f:
        assert f.read() == expected_content
예제 #3
0
def test_debug_exporter_export_to_file_failure(monkeypatch, tmpdir):
    de = DebugExporter(None)
    de.plaintextedit.setPlainText("TEST_CONTENT")
    dest = str(tmpdir.join("log.txt"))
    fake_getSaveFileName = Mock(return_value=(dest, None))
    monkeypatch.setattr("gridsync.gui.debug.QFileDialog.getSaveFileName",
                        fake_getSaveFileName)
    error_message = "Something Bad Happened"
    fake_to_plain_text = Mock(side_effect=OSError(error_message))
    monkeypatch.setattr("gridsync.gui.debug.QPlainTextEdit.toPlainText",
                        fake_to_plain_text)
    fake_error = Mock()
    monkeypatch.setattr("gridsync.gui.debug.error", fake_error)
    de.export_to_file()
    assert fake_error.call_args[0][2] == error_message