示例#1
0
def test_can_decode_page_with_html_comments(localwebserver):
    d = driver.Driver()
    page = d.get(
        f'http://localhost:{localwebserver.port}/html/page_with_comments.html')
    text = page.body.p.text()

    assert "some body text" in text
示例#2
0
def test_can_submit_form_without_explicit_action(localwebserver):
    d = driver.Driver()
    page = d.get(f'http://*****:*****@id="no-action"]').submit({'fieldname': 'value'},
                                                          suppress_unspecified=True)

    assert result._raw_response.json() == {
        'fieldname': 'value'
    }
示例#3
0
def test_form_submission_includes_form_fields_which_arent_specified(localwebserver):
    d = driver.Driver()
    page = d.get(f"http://localhost:{localwebserver.port}/html/page_with_form.html")
    result = page.form.submit({"visible_field": "my-value"})

    assert result._raw_response.json() == {
        "visible_field": "my-value",
        "visible-field-with-value": "preset-value",
        "some-hidden-field": "5",
    }
示例#4
0
def test_unspecified_fields_can_be_suppressed_on_form_submission(
        localwebserver):
    d = driver.Driver()
    page = d.get(f'http://localhost:{localwebserver.port}/html/page_with_form.html')
    result = page.form.submit(
        {'visible_field': 'my-value'}, suppress_unspecified=True)

    assert result._raw_response.json() == {
        'visible_field': 'my-value'
    }
示例#5
0
def test_can_submit_form_without_explicit_method(localwebserver):
    d = driver.Driver()
    page = d.get(
        f"http://*****:*****@id="no-method"]').submit(
        {"fieldname": "value"}, suppress_unspecified=True
    )

    assert result._raw_response.json() == {"fieldname": "value"}
示例#6
0
def test_form_submission_includes_form_fields_which_arent_specified(
        localwebserver):
    d = driver.Driver()
    page = d.get(f'http://localhost:{localwebserver.port}/html/page_with_form.html')
    result = page.form.submit({'visible_field': 'my-value'})

    assert result._raw_response.json() == {
        'visible_field': 'my-value',
        'visible-field-with-value': 'preset-value',
        'some-hidden-field': '5'
    }
示例#7
0
def test_submits_checked_checkboxes_and_selected_radios(localwebserver):
    d = driver.Driver()
    page = d.get(
        f"http://localhost:{localwebserver.port}/form/page_with_checkboxes_and_radios.html"
    )

    result = page.find(".//form").submit(data={})

    assert result._raw_response.json() == {
        "checkbox-field-1": ["label-1", "label-2", "label-3"],
        "radio-field-1": "label-1",
    }
示例#8
0
def test_sets_headers_on_request(requests_mock):
    d = driver.Driver()

    requests_mock.get(
        "http://remote.test",
        request_headers={"X-Test-Header": "Value"},
        headers={"Content-Type": "text/html"},
        text="<html><body>test-response</body></html>",
    )

    page = d.get("http://remote.test", headers={"X-Test-Header": "Value"})
    text = page.body.text()

    assert "test-response" == text
示例#9
0
def test_json_response_decoded_as_json_object(localwebserver):
    d = driver.Driver()
    resp = d.get(f'http://localhost:{localwebserver.port}/json?foo=bar')
    assert resp['foo'] == 'bar'
示例#10
0
def test_json_response_decoded_as_json_object(localwebserver):
    d = driver.Driver()
    resp = d.get(f"http://localhost:{localwebserver.port}/json?foo=bar")
    assert resp["foo"] == "bar"
示例#11
0
def nested_objects_page(localwebserver):
    d = driver.Driver()
    yield d.get(
        f"http://localhost:{localwebserver.port}/html/page_with_nested_objects.html"
    )
示例#12
0
def articles_list_page(localwebserver):
    d = driver.Driver()
    yield d.get(
        f"http://localhost:{localwebserver.port}/html/page_with_article_list.html"
    )
示例#13
0
def test_can_decodes_html_into_bs_like_api_document(localwebserver):
    d = driver.Driver()
    page = d.get(
        f'http://localhost:{localwebserver.port}/html/simple_page.html')
    page_text = page.body.p.text()
    assert page_text == 'text-in-body'
示例#14
0
def test_can_get_something(localwebserver):
    d = driver.Driver()
    d.get(f'http://localhost:{localwebserver.port}/foo')