FediTest: Test Run Session 10/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
9 (50.0%)
Failed
Interoperability
Compromised Degraded Unaffected Unknown Total
Conformance Must
2
1
4
0
7 (38.9%)
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
2 (11.1%)
1 (5.6%)
4 (22.2%)
0 (0.0%)
7 (38.9%)
Skipped
0
Errors
2 (11.1%)
Total
18

Constellation

client

ImpInProcessNodeDriver
Imp
0.6.dev20241229191155

server

FediverseSaasNodeDriver
Bugle
?

Test Results

Test: webfinger.server.4_1__2_parameter_ordering_not_significant::parameter_ordering

Parameter ordering is not significant.

Started 2024:12:29-19:14:26.766936Z, ended 2024:12:29-19:14:28.686285Z (duration: 0:00:01.919349)

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:14:28.686416Z, ended 2024:12:29-19:14:34.101671Z (duration: 0:00:05.415255)

ReadTimeout: The read operation timed out
./tests/webfinger/server/4_2__14_must_only_redirect_to_https.py:17
/usr/lib/python3.11/contextlib.py:158

Test: webfinger.server.4_2__2_perform_query::normal_query

Perform a normal, simple query on an existing account.

Started 2024:12:29-19:14:34.136642Z, ended 2024:12:29-19:14:34.748250Z (duration: 0:00:00.611608)

AssertionFailure: AssertionFailure (Must, Problem): Accessed URI: "https://bugle.lol/.well-known/webfinger?resource=acct%3Awegotfamily%40bugle.lol":
0: Wrong HTTP content type.
 -> "application/json"
Expected: No exception
     but: was <[WrongContentTypeError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://bugle.lol/.well-known/webfinger?resource=acct%3Awegotfamily%40bugle.lol), 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://bugle.lol/.well-known/webfinger?resource=acct%3Awegotfamily%40bugle.lol), 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('server': 'nginx', 'content-type': 'application/json', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'vary': 'Accept-Encoding', 'cache-control': 'no-cache, private', 'date': 'Sun, 29 Dec 2024 19:14:34 GMT', 'set-cookie': 'XSRF-TOKEN=eyJpdiI6InJGclpDVVFyUDUvMGRSRDhteWw3Tmc9PSIsInZhbHVlIjoieDNGZGFzRW1McnNnbGF0MkJjRVozdEJKYkpzSnZtK0I2Z09IMlRVZjdxRDVWNXVUeGlkVFZHV0RXNGRrNUtjeFU4VFByTmFlb3F6cFNIWTY0NktqSHdJTnp3N3EzMStXT2l6LytFUDFXRm1tbTlxaTh2eDhXVzAzWE50YzlTUGciLCJtYWMiOiJmYmYyM2NhMmY4NDM1ZjM3MWRjYjcyNjA1YzdlNjUyNjU0YjZkODk3N2NmMWU0MmE3ZDhhODQ4NzIyMzViNTg1IiwidGFnIjoiIn0%3D; expires=Mon, 29 Dec 2025 19:14:34 GMT; Max-Age=31536000; path=/; samesite=lax, laravel_session=eyJpdiI6IlltN1JHVUxLUktXMmxsdkNTMFhOSEE9PSIsInZhbHVlIjoiVURva0xieG5qdFFhbVkzVTFIeStKVFg0YW44Q3dYZ1dnTzkwZ3pTZWo4enBzNFNEbStkTXR6ZTcvUUFwMVR2T0FYUG03M0Q3cDFJYlJSelFKS3BRWGJ1bHVDL08vSG50cTNqcWZYVE5rRmpPQ2k0SFRpYUFaUHA5MVJrU2h2dWQiLCJtYWMiOiI1MTJkZWQ2NzdjYjkwZTQ4YjRkZWE5OWU4YTgxNjIzOWM2OGM5OGM4ZGYxNWM1OWRkMzJjNGI4Nzg3NWVkZmI5IiwidGFnIjoiIn0%3D; expires=Mon, 29 Dec 2025 19:14:34 GMT; Max-Age=31536000; path=/; httponly; samesite=lax', 'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '1; mode=block', 'x-content-type-options': 'nosniff')>, payload=b'{"subject":"acct:wegotfamily@bugle.lol","aliases":["https:\\/\\/bugle.lol\\/@wegotfamily"],"links":[{"type":"text\\/html","rel":"http:\\/\\/webfinger.net\\/rel\\/profile-page","href":"https:\\/\\/bugle.lol\\/@wegotfamily"},{"rel":"self","type":"application\\/activity+json","href":"https:\\/\\/bugle.lol\\/@wegotfamily"},{"rel":"http:\\/\\/webfinger.net\\/rel\\/avatar","type":"image\\/jpeg","href":"https:\\/\\/bugledotlol.s3.amazonaws.com\\/avatars\\/wegotfamily-1688246730.png"}]}', 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:14:34.750173Z, ended 2024:12:29-19:14:35.373055Z (duration: 0:00:00.622882)

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:12:29-19:14:35.373386Z, ended 2024:12:29-19:14:35.998439Z (duration: 0:00:00.625053)

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:14:35.998575Z, ended 2024:12:29-19:14:36.619800Z (duration: 0:00:00.621225)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 400
Accessed URI: "https://bugle.lol/.well-known/webfinger?resource==acct%3Awegotfamily%40bugle.lol".
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:14:36.629494Z, ended 2024:12:29-19:14:37.268565Z (duration: 0:00:00.639071)

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:14:37.268684Z, ended 2024:12:29-19:14:37.891493Z (duration: 0:00:00.622809)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 4xx.
Accessed URI: "https://bugle.lol/.well-known/webfinger?resource=wegotfamily@bugle.lol".
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:14:37.899499Z, ended 2024:12:29-19:14:38.535315Z (duration: 0:00:00.635816)

AssertionFailure: AssertionFailure (Must, Unaffected): Returns JRD content.
Accessed URI: "https://bugle.lol/.well-known/webfinger?resource=wegotfamily@bugle.lol".
./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:14:38.538119Z, ended 2024:12:29-19:14:39.162369Z (duration: 0:00:00.624250)

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:14:39.162496Z, ended 2024:12:29-19:14:39.780323Z (duration: 0:00:00.617827)

AssertionFailure: AssertionFailure (Must, Degraded): Wrong content type.
Accessed URI: "https://bugle.lol/.well-known/webfinger?resource=acct%3Awegotfamily%40bugle.lol".
Expected: ('application/jrd+json' or a string starting with 'application/jrd+json;')
     but: was 'application/json'
./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:14:39.785078Z, ended 2024:12:29-19:14:40.399903Z (duration: 0:00:00.614825)

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

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:14:40.404309Z, ended 2024:12:29-19:14:45.828326Z (duration: 0:00:05.424017)

ReadTimeout: The read operation timed out
./tests/webfinger/server/4__1_accepts_all_link_rels_in_query.py:155
/usr/lib/python3.11/contextlib.py:158

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:14:45.838698Z, ended 2024:12:29-19:14:47.687163Z (duration: 0:00:01.848465)

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:14:47.687284Z, ended 2024:12:29-19:14:48.909976Z (duration: 0:00:01.222692)

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:14:48.910017Z, ended 2024:12:29-19:14:49.306081Z (duration: 0:00:00.396064)

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:14:49.306236Z, ended 2024:12:29-19:14:49.957786Z (duration: 0:00:00.651550)

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:14:49.957865Z, ended 2024:12:29-19:14:50.573905Z (duration: 0:00:00.616040)

AssertionFailure: AssertionFailure (Must, Problem): Missing CORS header.
Accessed URI: "https://bugle.lol/.well-known/webfinger?resource=acct%3Awegotfamily%40bugle.lol".
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:14:26.766795Z
Ended 2024:12:29-19:14:50.594456Z (total: 0:00:23.827661)
Platform Linux-6.8.0-1-aarch64-ARCH-aarch64-with-glibc2.35
FediTest version 0.6.dev20241229191155