Ejemplo n.º 1
0
def main_window_no_key(mocker, homedir):
    # Setup
    app = QApplication([])
    gui = Window()
    app.setActiveWindow(gui)
    gui.show()
    controller = Controller("http://localhost", gui, mocker.MagicMock(), homedir, proxy=False)
    controller.qubes = False
    gui.setup(controller)

    # Create a source widget
    source_list = gui.main_view.source_list
    source = factory.Source(public_key=None)
    source_list.update([source])

    # Create a file widget, message widget, and reply widget
    mocker.patch("securedrop_client.gui.widgets.humanize_filesize", return_value="100")
    mocker.patch(
        "securedrop_client.gui.SecureQLabel.get_elided_text", return_value="1-yellow-doc.gz.gpg"
    )
    source.collection.append(
        [
            factory.File(source=source, filename="1-yellow-doc.gz.gpg"),
            factory.Message(source=source, filename="2-yellow-msg.gpg"),
            factory.Reply(source=source, filename="3-yellow-reply.gpg"),
        ]
    )
    source_list.setCurrentItem(source_list.item(0))
    gui.main_view.on_source_changed()

    yield gui

    # Teardown
    gui.login_dialog.close()
    app.exit()
Ejemplo n.º 2
0
def test_setup():
    """
    Ensure the passed in controller is referenced and the various views are
    instantiated as expected.
    """
    w = Window()
    mock_controller = mock.MagicMock()
    w.setup(mock_controller)
    assert w.controller == mock_controller
Ejemplo n.º 3
0
def test_show_login_error():
    """
    Ensures that an error message is displayed in the login dialog.
    """
    mock_controller = mock.MagicMock()
    w = Window()
    w.setup(mock_controller)
    w.login_dialog = mock.MagicMock()
    w.show_login_error('boom')
    w.login_dialog.error.assert_called_once_with('boom')
Ejemplo n.º 4
0
def test_hide_login():
    """
    Ensure the login dialog is closed and hidden.
    """
    mock_controller = mock.MagicMock()
    w = Window()
    w.setup(mock_controller)
    ld = mock.MagicMock()
    w.login_dialog = ld
    w.hide_login()
    ld.accept.assert_called_once_with()
    assert w.login_dialog is None
Ejemplo n.º 5
0
def test_show_login():
    """
    The login dialog is displayed with a clean state.
    """
    mock_controller = mock.MagicMock()
    w = Window()
    w.setup(mock_controller)
    with mock.patch('securedrop_client.gui.main.LoginDialog') as mock_ld:
        w.show_login()
        mock_ld.assert_called_once_with(w)
    w.login_dialog.reset.assert_called_once_with()
    w.login_dialog.exec.assert_called_once_with()
Ejemplo n.º 6
0
def test_show_login_error(mocker):
    """
    Ensures that an error message is displayed in the login dialog.
    """
    w = Window()
    w.show_login = mocker.MagicMock()
    w.setup(mocker.MagicMock())
    w.login_dialog = mocker.MagicMock()

    w.show_login_error("boom")

    w.login_dialog.error.assert_called_once_with("boom")
Ejemplo n.º 7
0
def modal_dialog(mocker, homedir):
    app = QApplication([])
    gui = Window()
    gui.show()
    controller = Controller("http://localhost", gui, mocker.MagicMock(), homedir, proxy=False)
    controller.qubes = False
    gui.setup(controller)
    gui.login_dialog.close()
    app.setActiveWindow(gui)
    dialog = ModalDialog()

    yield dialog

    dialog.close()
    app.exit()
Ejemplo n.º 8
0
def export_dialog(mocker, homedir):
    app = QApplication([])
    gui = Window()
    gui.show()
    controller = Controller("http://localhost", gui, mocker.MagicMock(), homedir, proxy=False)
    controller.qubes = False
    gui.setup(controller)
    gui.login_dialog.close()
    app.setActiveWindow(gui)
    dialog = ExportDialog(controller, "file_uuid", "file_name")
    dialog.show()

    yield dialog

    dialog.close()
    gui.close()
Ejemplo n.º 9
0
def test_setup(mocker):
    """
    Ensure the passed in controller is referenced and the various views are
    instantiated as expected.
    """
    w = Window()
    mock_controller = mocker.MagicMock()
    w.show_login = mocker.MagicMock()
    w.top_pane = mocker.MagicMock()
    w.left_pane = mocker.MagicMock()
    w.main_view = mocker.MagicMock()

    w.setup(mock_controller)

    assert w.controller == mock_controller
    w.top_pane.setup.assert_called_once_with(mock_controller)
    w.left_pane.setup.assert_called_once_with(w, mock_controller)
    w.main_view.setup.assert_called_once_with(mock_controller)
    w.show_login.assert_called_once_with()