def test_check_release(qtbot, mocker, mainwindow):
    retry_get = mocker.patch("mozregui.check_release.retry_get")
    retry_get.return_value = mocker.Mock(
        json=lambda *a: {
            'tag_name': '0.0',
            'html_url': 'url'
        }
    )
    status_bar = mainwindow.ui.status_bar
    assert status_bar.findChild(QLabel, '') is None

    checker = CheckRelease(mainwindow)
    with qtbot.waitSignal(checker.thread.finished, raising=True):
        checker.check()

    lbl = status_bar.findChild(QLabel, '')
    assert lbl
    assert "There is a new release available!" in str(lbl.text())
    assert '0.0' in str(lbl.text())

    # simulate click on the link
    open_url = mocker.patch("mozregui.check_release.QDesktopServices.openUrl")
    checker.label_clicked("http://url")

    open_url.assert_called_once_with(QUrl("http://url"))
    assert not lbl.isVisible()
Esempio n. 2
0
def main():
    logger = StructuredLogger('mozregression-gui')
    set_default_logger(logger)
    # Create a Qt application
    log_model = LogModel()
    logger.add_handler(log_model)
    argv = [sys.argv[0].replace("main.py", "mozregression")] + sys.argv[1:]
    app = QApplication(argv)
    crash_reporter = CrashReporter(app)
    crash_reporter.install()
    app.setOrganizationName('mozilla')
    app.setOrganizationDomain('mozilla.org')
    app.setApplicationName('mozregression-gui')
    set_default_prefs()
    # Create the main window and show it
    win = MainWindow()
    app.aboutToQuit.connect(win.bisect_runner.stop)
    app.aboutToQuit.connect(win.single_runner.stop)
    app.aboutToQuit.connect(win.clear)
    release_checker = CheckRelease(win)
    release_checker.check()
    log_model.log.connect(win.ui.log_view.on_log_received)
    win.show()
    # Enter Qt application main loop
    sys.exit(app.exec_())
Esempio n. 3
0
def test_check_release_no_update(qtbot, mocker, mainwindow):
    retry_get = mocker.patch("mozregui.check_release.retry_get")
    retry_get.return_value = mocker.Mock(json=lambda *a: {
        "tag_name": __version__,
        "html_url": "url"
    })
    status_bar = mainwindow.ui.status_bar
    assert status_bar.findChild(QLabel, "") is None

    checker = CheckRelease(mainwindow)
    with qtbot.waitSignal(checker.thread.finished, raising=True):
        checker.check()

    assert status_bar.findChild(QLabel, "") is None
def test_check_release_no_update(qtbot, mocker, mainwindow):
    retry_get = mocker.patch("mozregui.check_release.retry_get")
    retry_get.return_value = mocker.Mock(
        json=lambda *a: {
            'tag_name': 'gui-' + __version__,
            'html_url': 'url'
        }
    )
    status_bar = mainwindow.ui.status_bar
    assert status_bar.findChild(QLabel, '') is None

    checker = CheckRelease(mainwindow)
    with qtbot.waitSignal(checker.thread.finished, raising=True):
        checker.check()

    assert status_bar.findChild(QLabel, '') is None
Esempio n. 5
0
def test_check_release(qtbot, mocker, mainwindow):
    retry_get = mocker.patch("mozregui.check_release.retry_get")
    retry_get.return_value = mocker.Mock(json=lambda *a: {
        "tag_name": "0.0",
        "html_url": "url"
    })
    status_bar = mainwindow.ui.status_bar
    assert status_bar.findChild(QLabel, "") is None

    checker = CheckRelease(mainwindow)
    with qtbot.waitSignal(checker.thread.finished, raising=True):
        checker.check()

    lbl = status_bar.findChild(QLabel, "")
    assert lbl
    assert "There is a new release available!" in str(lbl.text())
    assert "0.0" in str(lbl.text())

    # simulate click on the link
    open_url = mocker.patch("mozregui.check_release.QDesktopServices.openUrl")
    checker.label_clicked("http://url")

    open_url.assert_called_once_with(QUrl("http://url"))
    assert not lbl.isVisible()