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
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
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