Skip to content
Snippets Groups Projects
Verified Commit c5338da3 authored by Alexander Olofsson's avatar Alexander Olofsson
Browse files

api: Fix tests and finish discovery code

parent 78c32900
Branches
Tags
No related merge requests found
Pipeline #2557 passed
...@@ -74,7 +74,7 @@ module MatrixSdk ...@@ -74,7 +74,7 @@ module MatrixSdk
uri = URI("http#{ssl ? 's' : ''}://#{domain}") uri = URI("http#{ssl ? 's' : ''}://#{domain}")
target_uri = nil target_uri = nil
if !port.empty? if !port.nil? && !port.empty?
target_uri = URI("https://#{domain}:#{port}") target_uri = URI("https://#{domain}:#{port}")
elsif target == :server elsif target == :server
# Attempt SRV record discovery # Attempt SRV record discovery
...@@ -96,7 +96,7 @@ module MatrixSdk ...@@ -96,7 +96,7 @@ module MatrixSdk
target_uri = well_known['m.server'] if well_known && well_known.key?('m.server') target_uri = well_known['m.server'] if well_known && well_known.key?('m.server')
else else
target_uri = URI("https://#{target_uri.target}:#{target.port}") target_uri = URI("https://#{target_uri.target}:#{target_uri.port}")
end end
elsif %i[client identity].include? target_uri elsif %i[client identity].include? target_uri
# Attempt .well-known discovery # Attempt .well-known discovery
......
...@@ -21,35 +21,37 @@ class ApiTest < Test::Unit::TestCase ...@@ -21,35 +21,37 @@ class ApiTest < Test::Unit::TestCase
assert_equal URI('https://matrix.example.com'), api.homeserver assert_equal URI('https://matrix.example.com'), api.homeserver
end end
def test_creation_for_domain def test_server_creation_for_domain
::Resolv::DNS ::Resolv::DNS
.any_instance .any_instance
.expects(:getresource) .expects(:getresource)
.returns(Resolv::DNS::Resource::IN::SRV.new(10, 1, 443, 'matrix.example.com')) .returns(Resolv::DNS::Resource::IN::SRV.new(10, 1, 443, 'matrix.example.com'))
MatrixSdk::Api MatrixSdk::Api
.expects(:new) .expects(:new)
.with('https://example.com', address: 'matrix.example.com', port: 443) .with(URI('https://example.com'), address: 'matrix.example.com', port: 443)
MatrixSdk::Api.new_for_domain 'example.com' MatrixSdk::Api.new_for_domain 'example.com', target: :server
end end
def test_creation_for_missing_domain def test_server_creation_for_missing_domain
::Resolv::DNS ::Resolv::DNS
.any_instance .any_instance
.expects(:getresource) .expects(:getresource)
.raises(::Resolv::ResolvError) .raises(::Resolv::ResolvError)
MatrixSdk::Api MatrixSdk::Api
.expects(:new) .expects(:new)
.with('https://example.com', address: 'example.com', port: 8448) .with(URI('https://example.com'), address: 'example.com', port: 8448)
MatrixSdk::Api.new_for_domain 'example.com' MatrixSdk::Api.new_for_domain 'example.com', target: :server
end end
def test_creation_for_domain_and_port def test_server_creation_for_domain_and_port
MatrixSdk::Api MatrixSdk::Api
.expects(:new) .expects(:new)
.with('https://example.com', address: 'example.com', port: 8448) .with(URI('https://example.com'), address: 'example.com', port: 8448)
MatrixSdk::Api.new_for_domain 'example.com:8448' MatrixSdk::Api.new_for_domain 'example.com:8448', target: :server
end end
end end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment