1
0
Fork 0
forked from gitea/nas

Merge remote-tracking branch 'parent/stable-4.3' into upstream-20241005

This commit is contained in:
KMY 2024-10-05 09:02:38 +09:00
commit cc857e57c6
132 changed files with 775 additions and 312 deletions

View file

@ -6,7 +6,7 @@ require 'webauthn/fake_client'
RSpec.describe 'Security Key Options' do
describe 'GET /auth/sessions/security_key_options' do
let!(:user) do
Fabricate(:user, email: 'x@y.com', password: 'abcdefgh', otp_required_for_login: true, otp_secret: User.generate_otp_secret(32))
Fabricate(:user, email: 'x@y.com', password: 'abcdefgh', otp_required_for_login: true, otp_secret: User.generate_otp_secret)
end
context 'with WebAuthn and OTP enabled as second factor' do

View file

@ -9,19 +9,39 @@ RSpec.describe 'The /.well-known/host-meta request' do
expect(response)
.to have_http_status(200)
.and have_attributes(
media_type: 'application/xrd+xml',
body: host_meta_xml_template
media_type: 'application/xrd+xml'
)
doc = Nokogiri::XML(response.parsed_body)
expect(doc.at_xpath('/xrd:XRD/xrd:Link[@rel="lrdd"]/@template', 'xrd' => 'http://docs.oasis-open.org/ns/xri/xrd-1.0').value)
.to eq 'https://cb6e6126.ngrok.io/.well-known/webfinger?resource={uri}'
end
it 'returns http success with valid JSON response with .json extension' do
get '/.well-known/host-meta.json'
expect(response)
.to have_http_status(200)
.and have_attributes(
media_type: 'application/json'
)
expect(response.parsed_body)
.to include(
links: [
'rel' => 'lrdd',
'template' => 'https://cb6e6126.ngrok.io/.well-known/webfinger?resource={uri}',
]
)
end
private
it 'returns http success with valid JSON response with Accept header' do
get '/.well-known/host-meta', headers: { 'Accept' => 'application/json' }
def host_meta_xml_template
<<~XML
<?xml version="1.0" encoding="UTF-8"?>
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
<Link rel="lrdd" template="https://cb6e6126.ngrok.io/.well-known/webfinger?resource={uri}"/>
</XRD>
XML
expect(response)
.to have_http_status(200)
.and have_attributes(
media_type: 'application/json'
)
end
end