Feditest Session Report: Session 60

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
11 (61.1%)
Failed
Interoperability
Compromised Degraded Unaffected Unknown Total
Conformance Must
3
0
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
3 (16.7%)
0 (0.0%)
4 (22.2%)
0 (0.0%)
7 (38.9%)
Skipped
0
Errors
0
Total
18

Constellation

client

ImpInProcessNodeDriver
Imp
0.4

server

FediverseSaasNodeDriver
Misskey
?

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:04.750694Z, ended 2024:10:24-22:15:04.929889Z (duration: 0:00:00.179195)

AssertionFailure: AssertionFailure (Must, Problem): Accessed URI: "https://misskey.io/.well-known/webfinger?resource=acct%3Asyuilo%40misskey.io&rel=http%3A//webfinger.net/rel/profile-page&rel=something-else&rel=self":
0: Wrong HTTP status code.
 -> 403
1: Wrong HTTP content type.
 -> "text/html; charset=UTF-8"
2: Expecting value: line 1 column 1 (char 0)
Expected: an empty collection
     but: was <[WrongHttpStatusError(HttpRequestResponsePair(request=HttpRequest(parsed_uri=ParsedNonAcctUri(https://misskey.io/.well-known/webfinger?resource=acct%3Asyuilo%40misskey.io&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://misskey.io/.well-known/webfinger?resource=acct%3Asyuilo%40misskey.io&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=403, response_headers=<MultiDict('date': 'Thu, 24 Oct 2024 22:15:04 GMT', 'content-type': 'text/html; charset=UTF-8', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'cache-control': 'max-age=15', 'expires': 'Thu, 24 Oct 2024 22:15:19 GMT', 'strict-transport-security': 'max-age=2592000; includeSubDomains; preload', 'expect-ct': 'max-age=86400, enforce', 'referrer-policy': 'same-origin', 'x-content-type-options': 'nosniff', 'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '1; mode=block', 'server': 'cloudflare', 'cf-ray': '8d7d52cf79f67ad3-SJC', 'alt-svc': 'h3=":443"; ma=86400')>, payload=b'<!DOCTYPE html>\n<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->\n<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->\n<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->\n<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->\n<head>\n<title>Attention Required! | Cloudflare</title>\n<meta charset="UTF-8" />\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\n<meta http-equiv="X-UA-Compatible" content="IE=Edge" />\n<meta name="robots" content="noindex, nofollow" />\n<meta name="viewport" content="width=device-width,initial-scale=1" />\n<link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/cf.errors.css" />\n<!--[if lt IE 9]><link rel="stylesheet" id=\'cf_styles-ie-css\' href="/cdn-cgi/styles/cf.errors.ie.css" /><![endif]-->\n<style>body{margin:0;padding:0}</style>\n\n\n<!--[if gte IE 10]><!-->\n<script>\n  if (!navigator.cookieEnabled) {\n    window.addEventListener(\'DOMContentLoaded\', function () {\n      var cookieEl = document.getElementById(\'cookie-alert\');\n      cookieEl.style.display = \'block\';\n    })\n  }\n</script>\n<!--<![endif]-->\n\n\n</head>\n<body>\n  <div id="cf-wrapper">\n    <div class="cf-alert cf-alert-error cf-cookie-error" id="cookie-alert" data-translate="enable_cookies">Please enable cookies.</div>\n    <div id="cf-error-details" class="cf-error-details-wrapper">\n      <div class="cf-wrapper cf-header cf-error-overview">\n        <h1 data-translate="block_headline">Sorry, you have been blocked</h1>\n        <h2 class="cf-subheadline"><span data-translate="unable_to_access">You are unable to access</span> misskey.io</h2>\n      </div><!-- /.header -->\n\n      <div class="cf-section cf-highlight">\n        <div class="cf-wrapper">\n          <div class="cf-screenshot-container cf-screenshot-full">\n            \n              <span class="cf-no-screenshot error"></span>\n            \n          </div>\n        </div>\n      </div><!-- /.captcha-container -->\n\n      <div class="cf-section cf-wrapper">\n        <div class="cf-columns two">\n          <div class="cf-column">\n            <h2 data-translate="blocked_why_headline">Why have I been blocked?</h2>\n\n            <p data-translate="blocked_why_detail">This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.</p>\n          </div>\n\n          <div class="cf-column">\n            <h2 data-translate="blocked_resolve_headline">What can I do to resolve this?</h2>\n\n            <p data-translate="blocked_resolve_detail">You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.</p>\n          </div>\n        </div>\n      </div><!-- /.section -->\n\n      <div class="cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4 sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t border-gray-300">\n  <p class="text-13">\n    <span class="cf-footer-item sm:block sm:mb-1">Cloudflare Ray ID: <strong class="font-semibold">8d7d52cf79f67ad3</strong></span>\n    <span class="cf-footer-separator sm:hidden">&bull;</span>\n    <span id="cf-footer-item-ip" class="cf-footer-item hidden sm:block sm:mb-1">\n      Your IP:\n      <button type="button" id="cf-footer-ip-reveal" class="cf-footer-ip-reveal-btn">Click to reveal</button>\n      <span class="hidden" id="cf-footer-ip">107.215.1.140</span>\n      <span class="cf-footer-separator sm:hidden">&bull;</span>\n    </span>\n    <span class="cf-footer-item sm:block sm:mb-1"><span>Performance &amp; security by</span> <a rel="noopener noreferrer" href="https://www.cloudflare.com/5xx-error-landing" id="brand_link" target="_blank">Cloudflare</a></span>\n    \n  </p>\n  <script>(function(){function d(){var b=a.getElementById("cf-footer-item-ip"),c=a.getElementById("cf-footer-ip-reveal");b&&"classList"in b&&(b.classList.remove("hidden"),c.addEventListener("click",function(){c.classList.add("hidden");a.getElementById("cf-footer-ip").classList.remove("hidden")}))}var a=document;document.addEventListener&&a.addEventListener("DOMContentLoaded",d)})();</script>\n</div><!-- /.error-footer -->\n\n\n    </div><!-- /#cf-error-details -->\n  </div><!-- /#cf-wrapper -->\n\n  <script>\n  window._cf_translation = {};\n  \n  \n</script>\n\n<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement(\'script\');d.innerHTML="window.__CF$cv$params={r:\'8d7d52cf79f67ad3\',t:\'MTcyOTgwODEwNC4wMDAwMDA=\'};var a=document.createElement(\'script\');a.nonce=\'\';a.src=\'/cdn-cgi/challenge-platform/scripts/jsd/main.js\';document.getElementsByTagName(\'head\')[0].appendChild(a);";b.getElementsByTagName(\'head\')[0].appendChild(d)}}if(document.body){var a=document.createElement(\'iframe\');a.height=1;a.width=1;a.style.position=\'absolute\';a.style.top=0;a.style.left=0;a.style.border=\'none\';a.style.visibility=\'hidden\';document.body.appendChild(a);if(\'loading\'!==document.readyState)c();else if(window.addEventListener)document.addEventListener(\'DOMContentLoaded\',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);\'loading\'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>\n</html>\n', 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:04.930666Z, ended 2024:10:24-22:15:05.405822Z (duration: 0:00:00.475156)

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:05.405852Z, ended 2024:10:24-22:15:05.528225Z (duration: 0:00:00.122373)

Passed

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:05.528289Z, ended 2024:10:24-22:15:06.013695Z (duration: 0:00:00.485406)

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:06.013765Z, ended 2024:10:24-22:15:06.294950Z (duration: 0:00:00.281185)

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:06.295250Z, ended 2024:10:24-22:15:06.795815Z (duration: 0:00:00.500565)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 400
Accessed URI: "https://misskey.io/.well-known/webfinger?resource==acct%3Asyuilo%40misskey.io".
Expected: <400>
     but: was <404>
../feditest-tests-fediverse/tests/webfinger/server/4_2__4_do_not_accept_malformed_resource_parameters.py:114

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:06.799285Z, ended 2024:10:24-22:15:07.285622Z (duration: 0:00:00.486337)

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:07.285639Z, ended 2024:10:24-22:15:08.092793Z (duration: 0:00:00.807154)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 4xx.
Accessed URI: "https://misskey.io/.well-known/webfinger?resource=syuilo@misskey.io".
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>
../feditest-tests-fediverse/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:10:24-22:15:08.099683Z, ended 2024:10:24-22:15:08.218093Z (duration: 0:00:00.118410)

AssertionFailure: AssertionFailure (Must, Unaffected): Returns JRD content.
Accessed URI: "https://misskey.io/.well-known/webfinger?resource=syuilo@misskey.io".
../feditest-tests-fediverse/tests/webfinger/server/4_2__4_do_not_accept_malformed_resource_parameters.py:71

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:08.218946Z, ended 2024:10:24-22:15:08.982294Z (duration: 0:00:00.763348)

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:10:24-22:15:08.982376Z, ended 2024:10:24-22:15:09.116537Z (duration: 0:00:00.134161)

Passed

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:09.116627Z, ended 2024:10:24-22:15:09.486407Z (duration: 0:00:00.369780)

AssertionFailure: AssertionFailure (Must, Unaffected): Not HTTP status 404.
Accessed URI: "https://misskey.io/.well-known/webfinger?resource=mailto%3Aabc%40def.com".
Expected: <404>
     but: was <422>
../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:09.508623Z, ended 2024:10:24-22:15:09.758675Z (duration: 0:00:00.250052)

AssertionFailure: AssertionFailure (Must, Problem): JRD cannot be parsed
../feditest-tests-fediverse/tests/webfinger/server/4__1_accepts_all_link_rels_in_query.py:176

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:09.761479Z, ended 2024:10:24-22:15:09.992583Z (duration: 0:00:00.231104)

AssertionFailure: AssertionFailure (Must, Problem): JRD cannot be parsed
../feditest-tests-fediverse/tests/webfinger/server/4__1_accepts_all_link_rels_in_query.py:84

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:09.993740Z, ended 2024:10:24-22:15:10.877299Z (duration: 0:00:00.883559)

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:15:10.877365Z, ended 2024:10:24-22:15:10.992365Z (duration: 0:00:00.115000)

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:15:10.992457Z, ended 2024:10:24-22:15:11.140638Z (duration: 0:00:00.148181)

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:15:11.140734Z, ended 2024:10:24-22:15:11.258837Z (duration: 0:00:00.118103)

Passed

Test Run Metadata

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