Feditest Session Report: Session 32

feditest-run-20241024-220237 [Summary]

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 Summary

Status Count
Passed
14 (77.8%)
Failed
Interoperability
Compromised Degraded Unaffected Unknown Total
Conformance Must
1
1
2
0
4 (22.2%)
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%)
2 (11.1%)
0 (0.0%)
4 (22.2%)
Skipped
0
Errors
0
Total
18

Constellation

client

ImpInProcessNodeDriver
Imp
0.4

server

FediverseSaasNodeDriver
Funkwhale
?

Test Results

Test: webfinger.server.4_1__2_parameter_ordering_not_significant::parameter_ordering

Parameter ordering is not significant.

Started 2024:10:24-22:09:19.038472Z, ended 2024:10:24-22:09:21.897689Z (duration: 0:00:02.859217)

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:10:24-22:09:21.897728Z, ended 2024:10:24-22:09:22.657384Z (duration: 0:00:00.759656)

Passed

Test: webfinger.server.4_2__2_perform_query::normal_query

Perform a normal, simple query on an existing account.

Started 2024:10:24-22:09:22.657404Z, ended 2024:10:24-22:09:23.437909Z (duration: 0:00:00.780505)

AssertionFailure: AssertionFailure (Must, Problem): Accessed URI: "https://open.audio/.well-known/webfinger?resource=acct%3Apubliccode%40open.audio":
0: Wrong HTTP content type.
 -> "application/json"
Expected: an empty collection
     but: was <[WrongContentTypeError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://open.audio/.well-known/webfinger?resource=acct%3Apubliccode%40open.audio), method='GET', accept_header=None, payload=None, content_type=None, when_started=datetime.datetime(2024, 10, 24, 22, 2, 37, 617816, tzinfo=datetime.timezone.utc)), final_request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://open.audio/.well-known/webfinger?resource=acct%3Apubliccode%40open.audio), method='GET', accept_header=None, payload=None, content_type=None, when_started=datetime.datetime(2024, 10, 24, 22, 2, 37, 617816, tzinfo=datetime.timezone.utc)), response=HttpResponse(http_status=200, response_headers=<MultiDict('server': 'openresty', 'date': 'Thu, 24 Oct 2024 22:09:23 GMT', 'content-type': 'application/json', 'content-length': '219', 'connection': 'keep-alive', 'vary': 'Accept, Origin', 'allow': 'GET, HEAD, OPTIONS', 'x-ratelimit-limit': '1000', 'x-ratelimit-scope': 'anonymous-wildcard', 'x-ratelimit-remaining': '46', 'x-ratelimit-duration': '3600', 'retry-after': '3', 'x-ratelimit-reset': '1729811363', 'x-ratelimit-resetseconds': '3600', 'access-control-allow-credentials': 'true', 'access-control-allow-origin': 'https://test.example', 'x-frame-options': 'DENY, SAMEORIGIN', 'x-content-type-options': 'nosniff', 'x-xss-protection': '1; mode=block', 'referrer-policy': 'same-origin, strict-origin-when-cross-origin', 'content-security-policy': "default-src 'self'; connect-src https: wss: http: ws: 'self' 'unsafe-eval'; script-src 'self' 'wasm-unsafe-eval'; style-src https: http: 'self' 'unsafe-inline'; img-src https: http: 'self' data:; font-src https: http: 'self' data:; media-src https: http: 'self' data:; object-src 'none'", 'service-worker-allowed': '/', 'strict-transport-security': 'max-age=63072000; preload', 'x-served-by': 'open.audio')>, payload=b'{"subject":"acct:publiccode@open.audio","links":[{"rel":"self","href":"https://open.audio/federation/actors/publiccode","type":"application/activity+json"}],"aliases":["https://open.audio/federation/actors/publiccode"]}', when_completed=datetime.datetime(2024, 10, 24, 22, 2, 37, 618161, tzinfo=datetime.timezone.utc))))]>
../feditest-tests-fediverse/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:10:24-22:09:23.442810Z, ended 2024:10:24-22:09:24.210115Z (duration: 0:00:00.767305)

Passed

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:10:24-22:09:24.210163Z, ended 2024:10:24-22:09:24.978477Z (duration: 0:00:00.768314)

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:10:24-22:09:24.978523Z, ended 2024:10:24-22:09:25.736234Z (duration: 0:00:00.757711)

Passed

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:10:24-22:09:25.736253Z, ended 2024:10:24-22:09:26.494506Z (duration: 0:00:00.758253)

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:10:24-22:09:26.494606Z, ended 2024:10:24-22:09:27.267472Z (duration: 0:00:00.772866)

Passed

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:10:24-22:09:27.267487Z, ended 2024:10:24-22:09:28.024400Z (duration: 0:00:00.756913)

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:10:24-22:09:28.024446Z, ended 2024:10:24-22:09:28.799170Z (duration: 0:00:00.774724)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 404.
Accessed URI: "https://open.audio/.well-known/webfinger?resource=acct%3Adoes-not-exist%40open.audio".
Expected: <404>
     but: was <400>
../feditest-tests-fediverse/tests/webfinger/server/4_2__5_status_404_for_nonexisting_resources.py:35

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:10:24-22:09:28.801237Z, ended 2024:10:24-22:09:29.566854Z (duration: 0:00:00.765617)

AssertionFailure: AssertionFailure (Must, Degraded): Wrong content type.
Accessed URI: "https://open.audio/.well-known/webfinger?resource=acct%3Apubliccode%40open.audio".
Expected: ('application/jrd+json' or a string starting with 'application/jrd+json;')
     but: was 'application/json'
../feditest-tests-fediverse/tests/webfinger/server/4_2__9_content_type.py:44

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:10:24-22:09:29.568422Z, ended 2024:10:24-22:09:30.332314Z (duration: 0:00:00.763892)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 404.
Accessed URI: "https://open.audio/.well-known/webfinger?resource=mailto%3Aabc%40def.com".
Expected: <404>
     but: was <400>
../feditest-tests-fediverse/tests/webfinger/server/4_5__1_any_uri_scheme_for_resource_identifiers.py:38

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:10:24-22:09:30.336034Z, ended 2024:10:24-22:09:32.624429Z (duration: 0:00:02.288395)

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:10:24-22:09:32.624488Z, ended 2024:10:24-22:09:34.912227Z (duration: 0:00:02.287739)

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:10:24-22:09:34.912276Z, ended 2024:10:24-22:09:36.441910Z (duration: 0:00:01.529634)

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:10:24-22:09:36.441944Z, ended 2024:10:24-22:09:36.822647Z (duration: 0:00:00.380703)

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:10:24-22:09:36.822673Z, ended 2024:10:24-22:09:37.604943Z (duration: 0:00:00.782270)

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:10:24-22:09:37.604971Z, ended 2024:10:24-22:09:38.373380Z (duration: 0:00:00.768409)

Passed

Test Run Metadata

Started 2024:10:24-22:09:19.037663Z
Ended 2024:10:24-22:09:38.373496Z (total: 0:00:19.335833)
Platform Linux-6.11.3-1-aarch64-ARCH-aarch64-with-glibc2.35
Feditest version 0.4