def test_retry(requests, cups, cpp, xmpp_conn):
    cloudprint.num_retries = 0

    printer = cpp.test_add_printer('printer')
    printer.get_jobs.return_value = [{
        'fileUrl': 'http://print_job.pdf',
        'ticketUrl': 'http://ticket',
        'title': '*' * 300,
        'id': 'job_1',
    }]

    requests.get(url='http://print_job.pdf', status_code=500)

    cloudprint.process_jobs_once(cups, cpp, xmpp_conn)

    assert cloudprint.num_retries == 1
def test_failed(requests, cups, cpp, xmpp_conn):
    cloudprint.num_retries = 0

    printer = cpp.test_add_printer('printer')
    printer.get_jobs.return_value = [{
        'fileUrl': 'http://print_job.pdf',
        'ticketUrl': 'http://ticket',
        'title': '*' * 300,
        'id': 'job_1',
    }]

    requests.get(url='http://print_job.pdf', status_code=500)

    for _ in range(cloudprint.RETRIES + 1):
        cloudprint.process_jobs_once(cups, cpp, xmpp_conn)

    cpp.fail_job.assert_called_with('job_1')
    assert cloudprint.num_retries == 0
Beispiel #3
0
def test_print(requests, cups, cpp, xmpp_conn):
    cloudprint.num_retries = 0

    printer = cpp.test_add_printer('printer')
    printer.get_jobs.return_value = [{
        'fileUrl': 'http://print_job.pdf',
        'ticketUrl': 'http://ticket',
        'title': '*' * 300,
        'id': 'job_1',
        'ownerId': '*****@*****.**'
    }]

    xmpp_conn.is_connected.return_value = True

    requests.get('http://print_job.pdf', text='This is a PDF')
    requests.get(
        'http://ticket',
        json={
            'request': '',
            'a': 1,
            'b': 2,
        },
    )

    cloudprint.process_jobs_once(cups, cpp, xmpp_conn)

    cups.printFile.assert_called_with(
        'printer',
        mock.ANY,
        '*' * 255,
        {
            'a': '1',
            'b': '2',
            'job-originating-user-name': '*****@*****.**',
        },
    )
    cpp.finish_job.assert_called_with('job_1')
    assert xmpp_conn.await_notification.called
    assert cloudprint.num_retries == 0