Feditest Session Report: Session 64

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
10 (55.6%)
Failed
Interoperability
Compromised Degraded Unaffected Unknown Total
Conformance Must
6
0
2
0
8 (44.4%)
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
6 (33.3%)
0 (0.0%)
2 (11.1%)
0 (0.0%)
8 (44.4%)
Skipped
0
Errors
0
Total
18

Constellation

client

ImpInProcessNodeDriver
Imp
0.4

server

FediverseSaasNodeDriver
moon-eyed
?

Test Results

Test: webfinger.server.4_1__2_parameter_ordering_not_significant::parameter_ordering

Parameter ordering is not significant.

Started 2024:10:24-22:15:49.962234Z, ended 2024:10:24-22:15:50.973066Z (duration: 0:00:01.010832)

AssertionFailure: AssertionFailure (Must, Problem): Accessed URI: "https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de&rel=http%3A//webfinger.net/rel/profile-page&rel=something-else&rel=self":
0: Wrong HTTP status code.
 -> 400
1: Wrong HTTP content type.
 -> "None"
2: Expecting value: line 1 column 1 (char 0)
Expected: an empty collection
     but: was <[WrongHttpStatusError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de&rel=http%3A//webfinger.net/rel/profile-page&rel=something-else&rel=self), 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://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de&rel=http%3A//webfinger.net/rel/profile-page&rel=something-else&rel=self), 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=400, response_headers=<MultiDict('server': 'nginx', 'date': 'Thu, 24 Oct 2024 22:15:50 GMT', 'content-length': '11', 'connection': 'keep-alive', 'access-control-allow-credentials': 'true', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'Link,X-RateLimit-Reset,X-RateLimit-Limit,X-RateLimit-Remaining,X-Request-Id,Idempotency-Key', 'cache-control': 'max-age=0, private, must-revalidate', 'permissions-policy': 'interest-cohort=()', 'referrer-policy': 'same-origin', 'x-content-type-options': 'nosniff', 'x-download-options': 'noopen', 'x-frame-options': 'DENY', 'x-permitted-cross-domain-policies': 'none', 'x-request-id': 'GAGDWSh0HHqIFkcAEl4C', 'x-xss-protection': '1; mode=block')>, payload=b'Bad Request', when_completed=datetime.datetime(2024, 10, 24, 22, 2, 37, 618161, tzinfo=datetime.timezone.utc)))), JSONDecodeError('Expecting value: line 1 column 1 (char 0)')]>
../feditest-tests-fediverse/tests/webfinger/server/4_1__2_parameter_ordering_not_significant.py:35

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:15:50.979420Z, ended 2024:10:24-22:15:51.752373Z (duration: 0:00:00.772953)

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:15:51.752506Z, ended 2024:10:24-22:15:52.356214Z (duration: 0:00:00.603708)

AssertionFailure: AssertionFailure (Must, Problem): Accessed URI: "https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de":
0: Wrong HTTP status code.
 -> 400
1: Wrong HTTP content type.
 -> "None"
2: Expecting value: line 1 column 1 (char 0)
Expected: an empty collection
     but: was <[WrongHttpStatusError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de), 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://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de), 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=400, response_headers=<MultiDict('server': 'nginx', 'date': 'Thu, 24 Oct 2024 22:15:52 GMT', 'content-length': '11', 'connection': 'keep-alive', 'access-control-allow-credentials': 'true', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'Link,X-RateLimit-Reset,X-RateLimit-Limit,X-RateLimit-Remaining,X-Request-Id,Idempotency-Key', 'cache-control': 'max-age=0, private, must-revalidate', 'permissions-policy': 'interest-cohort=()', 'referrer-policy': 'same-origin', 'x-content-type-options': 'nosniff', 'x-download-options': 'noopen', 'x-frame-options': 'DENY', 'x-permitted-cross-domain-policies': 'none', 'x-request-id': 'GAGDWXsLlhlAs9MAEl6C', 'x-xss-protection': '1; mode=block')>, payload=b'Bad Request', when_completed=datetime.datetime(2024, 10, 24, 22, 2, 37, 618161, tzinfo=datetime.timezone.utc)))), WrongContentTypeError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de), 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://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de), 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=400, response_headers=<MultiDict('server': 'nginx', 'date': 'Thu, 24 Oct 2024 22:15:52 GMT', 'content-length': '11', 'connection': 'keep-alive', 'access-control-allow-credentials': 'true', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'Link,X-RateLimit-Reset,X-RateLimit-Limit,X-RateLimit-Remaining,X-Request-Id,Idempotency-Key', 'cache-control': 'max-age=0, private, must-revalidate', 'permissions-policy': 'interest-cohort=()', 'referrer-policy': 'same-origin', 'x-content-type-options': 'nosniff', 'x-download-options': 'noopen', 'x-frame-options': 'DENY', 'x-permitted-cross-domain-policies': 'none', 'x-request-id': 'GAGDWXsLlhlAs9MAEl6C', 'x-xss-protection': '1; mode=block')>, payload=b'Bad Request', when_completed=datetime.datetime(2024, 10, 24, 22, 2, 37, 618161, tzinfo=datetime.timezone.utc)))), JSONDecodeError('Expecting value: line 1 column 1 (char 0)')]>
../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:15:52.358932Z, ended 2024:10:24-22:15:53.130158Z (duration: 0:00:00.771226)

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:15:53.130299Z, ended 2024:10:24-22:15:53.708507Z (duration: 0:00:00.578208)

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:15:53.708556Z, ended 2024:10:24-22:15:54.291957Z (duration: 0:00:00.583401)

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:15:54.292060Z, ended 2024:10:24-22:15:54.879741Z (duration: 0:00:00.587681)

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:15:54.879881Z, ended 2024:10:24-22:15:55.451459Z (duration: 0:00:00.571578)

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:15:55.451493Z, ended 2024:10:24-22:15:56.068400Z (duration: 0:00:00.616907)

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:15:56.068452Z, ended 2024:10:24-22:15:56.658508Z (duration: 0:00:00.590056)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 404.
Accessed URI: "https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Adoes-not-exist%40social.mooneyed.de".
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:15:56.668461Z, ended 2024:10:24-22:15:57.241344Z (duration: 0:00:00.572883)

AssertionFailure: AssertionFailure (Must, Problem): Not HTTP status 200.
Accessed URI: "https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de".
Expected: <200>
     but: was <400>
../feditest-tests-fediverse/tests/webfinger/server/4_2__9_content_type.py:27

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:15:57.243081Z, ended 2024:10:24-22:15:57.808428Z (duration: 0:00:00.565347)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 404.
Accessed URI: "https://social.mooneyed.de/.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:15:57.811329Z, ended 2024:10:24-22:15:58.384714Z (duration: 0:00:00.573385)

AssertionFailure: AssertionFailure (Must, Problem): Accessed URI: "https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de":
0: Wrong HTTP status code.
 -> 400
1: Wrong HTTP content type.
 -> "None"
2: Expecting value: line 1 column 1 (char 0)
Expected: an empty collection
     but: was <[WrongHttpStatusError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de), 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://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de), 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=400, response_headers=<MultiDict('server': 'nginx', 'date': 'Thu, 24 Oct 2024 22:15:58 GMT', 'content-length': '11', 'connection': 'keep-alive', 'access-control-allow-credentials': 'true', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'Link,X-RateLimit-Reset,X-RateLimit-Limit,X-RateLimit-Remaining,X-Request-Id,Idempotency-Key', 'cache-control': 'max-age=0, private, must-revalidate', 'permissions-policy': 'interest-cohort=()', 'referrer-policy': 'same-origin', 'x-content-type-options': 'nosniff', 'x-download-options': 'noopen', 'x-frame-options': 'DENY', 'x-permitted-cross-domain-policies': 'none', 'x-request-id': 'GAGDWuMLkRfUn3QAHmwB', 'x-xss-protection': '1; mode=block')>, payload=b'Bad Request', when_completed=datetime.datetime(2024, 10, 24, 22, 2, 37, 618161, tzinfo=datetime.timezone.utc)))), JSONDecodeError('Expecting value: line 1 column 1 (char 0)')]>
../feditest-tests-fediverse/tests/webfinger/server/4__1_accepts_all_link_rels_in_query.py:160

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:15:58.387861Z, ended 2024:10:24-22:15:59.241555Z (duration: 0:00:00.853694)

AssertionFailure: AssertionFailure (Must, Problem): Accessed URI: "https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de":
0: Wrong HTTP status code.
 -> 400
1: Wrong HTTP content type.
 -> "None"
2: Expecting value: line 1 column 1 (char 0)
Expected: an empty collection
     but: was <[WrongHttpStatusError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de), 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://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de), 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=400, response_headers=<MultiDict('server': 'nginx', 'date': 'Thu, 24 Oct 2024 22:15:59 GMT', 'content-length': '11', 'connection': 'keep-alive', 'access-control-allow-credentials': 'true', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'Link,X-RateLimit-Reset,X-RateLimit-Limit,X-RateLimit-Remaining,X-Request-Id,Idempotency-Key', 'cache-control': 'max-age=0, private, must-revalidate', 'permissions-policy': 'interest-cohort=()', 'referrer-policy': 'same-origin', 'x-content-type-options': 'nosniff', 'x-download-options': 'noopen', 'x-frame-options': 'DENY', 'x-permitted-cross-domain-policies': 'none', 'x-request-id': 'GAGDWxId-kwuM94AEmGC', 'x-xss-protection': '1; mode=block')>, payload=b'Bad Request', when_completed=datetime.datetime(2024, 10, 24, 22, 2, 37, 618161, tzinfo=datetime.timezone.utc)))), JSONDecodeError('Expecting value: line 1 column 1 (char 0)')]>
../feditest-tests-fediverse/tests/webfinger/server/4__1_accepts_all_link_rels_in_query.py:70

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:15:59.248019Z, ended 2024:10:24-22:15:59.831404Z (duration: 0:00:00.583385)

AssertionFailure: AssertionFailure (Must, Problem): Accessed URI: "https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de":
0: Wrong HTTP status code.
 -> 400
1: Wrong HTTP content type.
 -> "None"
2: Expecting value: line 1 column 1 (char 0)
Expected: an empty collection
     but: was <[WrongHttpStatusError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de), 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://social.mooneyed.de/.well-known/webfinger?resource=acct%3Akromonos%40social.mooneyed.de), 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=400, response_headers=<MultiDict('server': 'nginx', 'date': 'Thu, 24 Oct 2024 22:15:59 GMT', 'content-length': '11', 'connection': 'keep-alive', 'access-control-allow-credentials': 'true', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'Link,X-RateLimit-Reset,X-RateLimit-Limit,X-RateLimit-Remaining,X-Request-Id,Idempotency-Key', 'cache-control': 'max-age=0, private, must-revalidate', 'permissions-policy': 'interest-cohort=()', 'referrer-policy': 'same-origin', 'x-content-type-options': 'nosniff', 'x-download-options': 'noopen', 'x-frame-options': 'DENY', 'x-permitted-cross-domain-policies': 'none', 'x-request-id': 'GAGDWzkkBWg5uHkAEmHC', 'x-xss-protection': '1; mode=block')>, payload=b'Bad Request', when_completed=datetime.datetime(2024, 10, 24, 22, 2, 37, 618161, tzinfo=datetime.timezone.utc)))), JSONDecodeError('Expecting value: line 1 column 1 (char 0)')]>
../feditest-tests-fediverse/tests/webfinger/server/4__1_accepts_all_link_rels_in_query.py:115

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:15:59.834460Z, ended 2024:10:24-22:16:00.452753Z (duration: 0:00:00.618293)

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:16:00.452789Z, ended 2024:10:24-22:16:01.036863Z (duration: 0:00:00.584074)

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:16:01.036985Z, ended 2024:10:24-22:16:01.636052Z (duration: 0:00:00.599067)

Passed

Test Run Metadata

Started 2024:10:24-22:15:49.961781Z
Ended 2024:10:24-22:16:01.636461Z (total: 0:00:11.674680)
Platform Linux-6.11.3-1-aarch64-ARCH-aarch64-with-glibc2.35
Feditest version 0.4