FediTest: Test Run Session 65/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
7 (38.9%)
Failed
Interoperability
Compromised Degraded Unaffected Unknown Total
Conformance Must
4
1
5
1
11 (61.1%)
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
4 (22.2%)
1 (5.6%)
5 (27.8%)
1 (5.6%)
11 (61.1%)
Skipped
0
Errors
0
Total
18

Constellation

client

ImpInProcessNodeDriver
Imp
0.6.dev20241229191155

server

FediverseSaasNodeDriver
pelican-activitypub
?

Test Results

Test: webfinger.server.4_1__2_parameter_ordering_not_significant::parameter_ordering

Parameter ordering is not significant.

Started 2024:12:29-19:26:11.604409Z, ended 2024:12:29-19:26:13.600556Z (duration: 0:00:01.996147)

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:26:13.600703Z, ended 2024:12:29-19:26:14.181817Z (duration: 0:00:00.581114)

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:26:14.181951Z, ended 2024:12:29-19:26:14.788490Z (duration: 0:00:00.606539)

AssertionFailure: AssertionFailure (Must, Problem): Accessed URI: "https://s3lph.me/.well-known/webfinger?resource=acct%3As3lph%40s3lph.me":
0: Wrong HTTP content type.
 -> "application/json; charset=utf-8"
Expected: No exception
     but: was <[WrongContentTypeError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://s3lph.me/.well-known/webfinger?resource=acct%3As3lph%40s3lph.me), 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://s3lph.me/.well-known/webfinger?resource=acct%3As3lph%40s3lph.me), 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:26:14 GMT', 'server': 'Apache/2.4.62 (Debian)', 'strict-transport-security': 'max-age=63072000; includeSubDomains; preload', 'content-security-policy': "default-src 'self'; media-src 'self' https://cdn.media.ccc.de; frame-src 'self' https://media.ccc.de;", 'last-modified': 'Wed, 09 Nov 2022 04:05:07 GMT', 'etag': '"16b-5ed01c313d9d3"', 'accept-ranges': 'bytes', 'content-length': '363', 'content-type': 'application/json; charset=utf-8')>, payload=b'{"subject": "acct:s3lph@s3lph.me", "aliases": ["https://s3lph.me/author/s3lph.html", "https://s3lph.me/activitypub/users/s3lph"], "links": [{"rel": "http://webfinger.net/rel/profile-page", "type": "text/html", "href": "https://s3lph.me/author/s3lph.html"}, {"rel": "self", "type": "application/activity+json", "href": "https://s3lph.me/activitypub/users/s3lph"}]}', 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:26:14.790612Z, ended 2024:12:29-19:26:15.377654Z (duration: 0:00:00.587042)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 400.
Accessed URI: "https://s3lph.me/.well-known/webfinger".
Expected: <400>
     but: was <200>
./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:26:15.379879Z, ended 2024:12:29-19:26:15.965658Z (duration: 0:00:00.585779)

AssertionFailure: AssertionFailure (Must, Unknown): Returns JRD content.
Accessed URI: "https://s3lph.me/.well-known/webfinger".
./tests/webfinger/server/4_2__3_requires_resource_uri.py:79

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:26:15.972085Z, ended 2024:12:29-19:26:16.561212Z (duration: 0:00:00.589127)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 4xx.
Accessed URI: "https://s3lph.me/.well-known/webfinger?resource==acct%3As3lph%40s3lph.me".
Expected: (a value greater than or equal to <400> and a value less than <500>)
     but: a value greater than or equal to <400> was <200>
./tests/webfinger/server/4_2__4_do_not_accept_malformed_resource_parameters.py:105

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:26:16.563971Z, ended 2024:12:29-19:26:17.146351Z (duration: 0:00:00.582380)

AssertionFailure: AssertionFailure (Must, Unaffected): Returns JRD content.
Accessed URI: "https://s3lph.me/.well-known/webfinger?resource==acct%3As3lph%40s3lph.me".
./tests/webfinger/server/4_2__4_do_not_accept_malformed_resource_parameters.py:142

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:26:17.152366Z, ended 2024:12:29-19:26:17.750103Z (duration: 0:00:00.597737)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 4xx.
Accessed URI: "https://s3lph.me/.well-known/webfinger?resource=s3lph@s3lph.me".
Expected: (a value greater than or equal to <400> and a value less than <500>)
     but: a value greater than or equal to <400> was <200>
./tests/webfinger/server/4_2__4_do_not_accept_malformed_resource_parameters.py:32

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:26:17.755043Z, ended 2024:12:29-19:26:18.359369Z (duration: 0:00:00.604326)

AssertionFailure: AssertionFailure (Must, Unaffected): Returns JRD content.
Accessed URI: "https://s3lph.me/.well-known/webfinger?resource=s3lph@s3lph.me".
./tests/webfinger/server/4_2__4_do_not_accept_malformed_resource_parameters.py:70

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:26:18.363974Z, ended 2024:12:29-19:26:18.949971Z (duration: 0:00:00.585997)

AssertionFailure: AssertionFailure (Must, Problem): HTTP status 200.
Accessed URI: "https://s3lph.me/.well-known/webfinger?resource=acct%3Adoes-not-exist%40s3lph.me".
Expected: (a value greater than or equal to <300> or a value less than <200>)
     but: was <200>
./tests/webfinger/server/4_2__5_status_404_for_nonexisting_resources.py:26

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:26:18.953324Z, ended 2024:12:29-19:26:19.535371Z (duration: 0:00:00.582047)

AssertionFailure: AssertionFailure (Must, Degraded): Wrong content type.
Accessed URI: "https://s3lph.me/.well-known/webfinger?resource=acct%3As3lph%40s3lph.me".
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:26:19.542870Z, ended 2024:12:29-19:26:20.134726Z (duration: 0:00:00.591856)

AssertionFailure: AssertionFailure (Must, Problem): HTTP status 200.
Accessed URI: "https://s3lph.me/.well-known/webfinger?resource=mailto%3Aabc%40def.com".
Expected: (a value greater than or equal to <300> or a value less than <200>)
     but: was <200>
./tests/webfinger/server/4_5__1_any_uri_scheme_for_resource_identifiers.py:29

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:26:20.139459Z, ended 2024:12:29-19:26:21.923801Z (duration: 0:00:01.784342)

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:26:21.923851Z, ended 2024:12:29-19:26:23.658669Z (duration: 0:00:01.734818)

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:26:23.658783Z, ended 2024:12:29-19:26:24.843934Z (duration: 0:00:01.185151)

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:26:24.844038Z, ended 2024:12:29-19:26:25.238331Z (duration: 0:00:00.394293)

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:26:25.238589Z, ended 2024:12:29-19:26:25.855476Z (duration: 0:00:00.616887)

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:26:25.855603Z, ended 2024:12:29-19:26:26.462093Z (duration: 0:00:00.606490)

AssertionFailure: AssertionFailure (Must, Problem): Missing CORS header.
Accessed URI: "https://s3lph.me/.well-known/webfinger?resource=acct%3As3lph%40s3lph.me".
Not present: "access-control-allow-origin".
./tests/webfinger/server/5_1_cors_header_required.py:21

Test Run Session Metadata

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