FediTest: Test Run Session 80/84

feditest-run-20241229-191246

This FediTest report requires a desktop or laptop-class monitor.

It cannot be viewed on a mobile device with a small screen.

Sorry about that. But then, you weren't going to use a phone to fix reported bugs, either, right?

Test Run Session Summary

Status Count
Passed
13 (72.2%)
Failed
Interoperability
Compromised Degraded Unaffected Unknown Total
Conformance Must
1
1
3
0
5 (27.8%)
Should
0
0
0
0
0 (0.0%)
Implied
0
0
0
0
0 (0.0%)
Unspecified
0
0
0
0
0 (0.0%)
Total
1 (5.6%)
1 (5.6%)
3 (16.7%)
0 (0.0%)
5 (27.8%)
Skipped
0
Errors
0
Total
18

Constellation

client

ImpInProcessNodeDriver
Imp
0.6.dev20241229191155

server

FediverseSaasNodeDriver
wafrn
?

Test Results

Test: webfinger.server.4_1__2_parameter_ordering_not_significant::parameter_ordering

Parameter ordering is not significant.

Started 2024:12:29-19:29:19.068118Z, ended 2024:12:29-19:29:20.789771Z (duration: 0:00:01.721653)

Passed

Test: webfinger.server.4_2__14_must_only_redirect_to_https::must_only_redirect_to_https

Test that if the server redirected, the final URL is an HTTPS URL.

Started 2024:12:29-19:29:20.789816Z, ended 2024:12:29-19:29:21.338321Z (duration: 0:00:00.548505)

Passed

Test: webfinger.server.4_2__2_perform_query::normal_query

Perform a normal, simple query on an existing account.

Started 2024:12:29-19:29:21.338404Z, ended 2024:12:29-19:29:21.880916Z (duration: 0:00:00.542512)

AssertionFailure: AssertionFailure (Must, Problem): Accessed URI: "https://app.wafrn.net/.well-known/webfinger?resource=acct%3Agabboman%40app.wafrn.net":
0: Wrong HTTP content type.
 -> "application/json; charset=utf-8"
Expected: No exception
     but: was <[WrongContentTypeError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://app.wafrn.net/.well-known/webfinger?resource=acct%3Agabboman%40app.wafrn.net), method='GET', accept_header=None, payload=None, content_type=None, when_started=datetime.datetime(2024, 12, 29, 19, 12, 46, 457527, tzinfo=datetime.timezone.utc)), final_request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://app.wafrn.net/.well-known/webfinger?resource=acct%3Agabboman%40app.wafrn.net), method='GET', accept_header=None, payload=None, content_type=None, when_started=datetime.datetime(2024, 12, 29, 19, 12, 46, 457527, tzinfo=datetime.timezone.utc)), response=HttpResponse(http_status=200, response_headers=<MultiDict('date': 'Sun, 29 Dec 2024 19:29:21 GMT', 'server': 'Apache/2.4.58 (Ubuntu)', 'x-powered-by': 'Express', 'access-control-allow-origin': '*', 'cache-control': 'max-age=15, must-revalidate', 'x-cacher-hit': 'true', 'content-type': 'application/json; charset=utf-8', 'content-length': '381', 'etag': 'W/"17d-3qyVMmQQWOt4eyNDlLU7h9zzFZs"', 'content-security-policy': "default-src 'self' 'unsafe-inline' 'unsafe-eval' https://app.wafrn.net https://media.wafrn.net https://cdn.wafrn.net https://cache.wafrn.net ; script-src 'self' 'unsafe-inline' 'wasm-unsafe-eval' ; style-src 'self' 'unsafe-inline' https://app.wafrn.net https://media.wafrn.net https://cdn.wafrn.net https://cache.wafrn.net; img-src 'self'  https://app.wafrn.net https://media.wafrn.net https://cdn.wafrn.net https://cache.wafrn.net; font-src 'self' https://app.wafrn.net https://media.wafrn.net https://cdn.wafrn.net https://cache.wafrn.net ; object-src https://app.wafrn.net https://media.wafrn.net https://cdn.wafrn.net https://cache.wafrn.net ; frame-src https://app.wafrn.net https://media.wafrn.net https://cdn.wafrn.net https://cache.wafrn.net ; frame-ancestors https://app.wafrn.net https://media.wafrn.net https://cdn.wafrn.net https://cache.wafrn.net ; upgrade-insecure-requests; block-all-mixed-content", 'service-worker-allowed': '/')>, payload=b'{"subject":"acct:gabboman@app.wafrn.net","aliases":["https://app.wafrn.net/fediverse/blog/gabboman","https://app.wafrn.net/blog/gabboman"],"links":[{"rel":"self","type":"application/activity+json","href":"https://app.wafrn.net/fediverse/blog/gabboman"},{"rel":"http://ostatus.org/schema/1.0/subscribe","template":"https://app.wafrn.net/fediverse/authorize_interaction?uri={uri}"}]}', when_completed=datetime.datetime(2024, 12, 29, 19, 12, 46, 457820, tzinfo=datetime.timezone.utc))))]>
./tests/webfinger/server/4_2__2_perform_query.py:20

Test: webfinger.server.4_2__3_requires_resource_uri::requires_resource_uri_http_status

Do not accept requests with missing resource parameter: HTTP status.

Started 2024:12:29-19:29:21.891068Z, ended 2024:12:29-19:29:22.443552Z (duration: 0:00:00.552484)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 400.
Accessed URI: "https://app.wafrn.net/.well-known/webfinger".
Expected: <400>
     but: was <404>
./tests/webfinger/server/4_2__3_requires_resource_uri.py:37

Test: webfinger.server.4_2__3_requires_resource_uri::requires_resource_uri_jrd

Do not accept requests with missing resource parameter: JRD content.

Started 2024:12:29-19:29:22.445365Z, ended 2024:12:29-19:29:22.993742Z (duration: 0:00:00.548377)

Passed

Test: webfinger.server.4_2__4_do_not_accept_malformed_resource_parameters::double_equals_http_status

Do not accept malformed resource parameters. Test HTTP status for inserting an extra = character.

Started 2024:12:29-19:29:22.993869Z, ended 2024:12:29-19:29:23.531525Z (duration: 0:00:00.537656)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 400
Accessed URI: "https://app.wafrn.net/.well-known/webfinger?resource==acct%3Agabboman%40app.wafrn.net".
Expected: <400>
     but: was <404>
./tests/webfinger/server/4_2__4_do_not_accept_malformed_resource_parameters.py:112

Test: webfinger.server.4_2__4_do_not_accept_malformed_resource_parameters::double_equals_jrd

Do not accept malformed resource parameters. Test JRD content for inserting an extra = character.

Started 2024:12:29-19:29:23.543179Z, ended 2024:12:29-19:29:24.112811Z (duration: 0:00:00.569632)

Passed

Test: webfinger.server.4_2__4_do_not_accept_malformed_resource_parameters::requires_valid_resource_uri_http_status

Do not accept malformed resource parameters. Test HTTP status for missing acct: scheme.

Started 2024:12:29-19:29:24.113035Z, ended 2024:12:29-19:29:24.675089Z (duration: 0:00:00.562054)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 400
Accessed URI: "https://app.wafrn.net/.well-known/webfinger?resource=gabboman@app.wafrn.net".
Expected: <400>
     but: was <404>
./tests/webfinger/server/4_2__4_do_not_accept_malformed_resource_parameters.py:39

Test: webfinger.server.4_2__4_do_not_accept_malformed_resource_parameters::requires_valid_resource_uri_jrd

Do not accept malformed resource parameters. Test JRD content for missing acct: scheme.

Started 2024:12:29-19:29:24.682408Z, ended 2024:12:29-19:29:25.259672Z (duration: 0:00:00.577264)

Passed

Test: webfinger.server.4_2__5_status_404_for_nonexisting_resources::status_404_for_nonexisting_resources

The server responds with 404 when the resource parameter identifies a non-existent resource.

Started 2024:12:29-19:29:25.259714Z, ended 2024:12:29-19:29:25.826673Z (duration: 0:00:00.566959)

Passed

Test: webfinger.server.4_2__9_content_type::returns_jrd_in_response_to_https

Test that a query over HTTPS produces a JRD.

Started 2024:12:29-19:29:25.826771Z, ended 2024:12:29-19:29:26.379556Z (duration: 0:00:00.552785)

AssertionFailure: AssertionFailure (Must, Degraded): Wrong content type.
Accessed URI: "https://app.wafrn.net/.well-known/webfinger?resource=acct%3Agabboman%40app.wafrn.net".
Expected: ('application/jrd+json' or a string starting with 'application/jrd+json;')
     but: was 'application/json; charset=utf-8'
./tests/webfinger/server/4_2__9_content_type.py:43

Test: webfinger.server.4_5__1_any_uri_scheme_for_resource_identifiers::any_uri_scheme_for_resource_identifiers

The server must accept resource identifiers provided in the query that use any scheme.

Started 2024:12:29-19:29:26.382288Z, ended 2024:12:29-19:29:27.512557Z (duration: 0:00:01.130269)

Passed

Test: webfinger.server.4__1_accepts_all_link_rels_in_query::accepts_combined_link_rels_in_query

A server must accept all link rels in the query, even if it does not understand them. Tests several known an unknown link rels at a time.

Started 2024:12:29-19:29:27.512704Z, ended 2024:12:29-19:29:29.193810Z (duration: 0:00:01.681106)

Passed

Test: webfinger.server.4__1_accepts_all_link_rels_in_query::accepts_known_link_rels_in_query

A server must accept all link rels in the query, even if it does not understand them. Tests one known link rel at a time.

Started 2024:12:29-19:29:29.193854Z, ended 2024:12:29-19:29:30.858913Z (duration: 0:00:01.665059)

Passed

Test: webfinger.server.4__1_accepts_all_link_rels_in_query::accepts_unknown_link_rels_in_query

A server must accept all link rels in the query, even if it does not understand them. Tests one unknown link rels at a time.

Started 2024:12:29-19:29:30.859115Z, ended 2024:12:29-19:29:31.991597Z (duration: 0:00:01.132482)

Passed

Test: webfinger.server.4__3_only_returns_jrd_in_response_to_https_requests::does_not_return_jrd_in_response_to_http

Test that a query over HTTP does not produce a JRD.

Started 2024:12:29-19:29:31.991732Z, ended 2024:12:29-19:29:32.376931Z (duration: 0:00:00.385199)

Passed

Test: webfinger.server.4__3_only_returns_jrd_in_response_to_https_requests::uses_valid_https_certificate

Test that the server uses a valid HTTPS certificate.

Started 2024:12:29-19:29:32.377055Z, ended 2024:12:29-19:29:32.970783Z (duration: 0:00:00.593728)

Passed

Test: webfinger.server.5_1_cors_header_required::cors_header_required

The server must provide a valid value for HTTP Header "Access-Control-Allow-Origin".

Started 2024:12:29-19:29:32.970917Z, ended 2024:12:29-19:29:33.532747Z (duration: 0:00:00.561830)

Passed

Test Run Session Metadata

Started 2024:12:29-19:29:19.067678Z
Ended 2024:12:29-19:29:33.533018Z (total: 0:00:14.465340)
Platform Linux-6.8.0-1-aarch64-ARCH-aarch64-with-glibc2.35
FediTest version 0.6.dev20241229191155