[rubygems/rubygems] Remove defensive guards

https://github.com/rubygems/rubygems/commit/dba130cd80
This commit is contained in:
Daniel Niknam 2021-08-22 19:55:40 +10:00 коммит произвёл Hiroshi SHIBATA
Родитель fafd9d280a
Коммит a508693f06
2 изменённых файлов: 4 добавлений и 23 удалений

Просмотреть файл

@ -16,7 +16,7 @@ class Gem::PrintableUri
def parse_uri def parse_uri
@original_uri = Gem::UriParser.parse_uri(@original_uri) @original_uri = Gem::UriParser.parse_uri(@original_uri)
@uri = @original_uri.clone @uri = @original_uri.clone
redact_credential redact_credential if valid_uri?
self self
end end
@ -30,8 +30,6 @@ class Gem::PrintableUri
end end
def original_password def original_password
return unless valid_uri?
@original_uri.password @original_uri.password
end end
@ -42,40 +40,31 @@ class Gem::PrintableUri
private private
def redact_credential def redact_credential
return unless redactable_credential?
if token? if token?
@uri.user = 'REDACTED' @uri.user = 'REDACTED'
@credential_redacted = true
elsif oauth_basic? elsif oauth_basic?
@uri.user = 'REDACTED' @uri.user = 'REDACTED'
@credential_redacted = true
elsif password? elsif password?
@uri.password = 'REDACTED' @uri.password = 'REDACTED'
@credential_redacted = true
end end
@credential_redacted = true
end end
def redactable_credential? def redactable_credential?
return false unless valid_uri?
password? || oauth_basic? || token? password? || oauth_basic? || token?
end end
def password? def password?
return false unless valid_uri?
!!@uri.password !!@uri.password
end end
def oauth_basic? def oauth_basic?
return false unless valid_uri?
@uri.password == 'x-oauth-basic' @uri.password == 'x-oauth-basic'
end end
def token? def token?
return false unless valid_uri?
!@uri.user.nil? && @uri.password.nil? !@uri.user.nil? && @uri.password.nil?
end end
end end

Просмотреть файл

@ -63,10 +63,6 @@ class TestPrintableUri < Gem::TestCase
assert_equal nil, Gem::PrintableUri.parse_uri("https://www.example.com").original_password assert_equal nil, Gem::PrintableUri.parse_uri("https://www.example.com").original_password
end end
def test_original_password_with_invalid_uri
assert_equal nil, Gem::PrintableUri.parse_uri("https://www.example.com:80index").original_password
end
def test_original_password_with_empty_uri_object def test_original_password_with_empty_uri_object
assert_equal nil, Gem::PrintableUri.parse_uri(URI("")).original_password assert_equal nil, Gem::PrintableUri.parse_uri(URI("")).original_password
end end
@ -75,10 +71,6 @@ class TestPrintableUri < Gem::TestCase
assert_equal "pass", Gem::PrintableUri.parse_uri(URI("https://user:pass@example.com")).original_password assert_equal "pass", Gem::PrintableUri.parse_uri(URI("https://user:pass@example.com")).original_password
end end
def test_original_password_with_other_objects
assert_equal nil, Gem::PrintableUri.parse_uri(Object.new).original_password
end
def test_to_s_with_user_pass def test_to_s_with_user_pass
assert_equal "https://user:REDACTED@example.com", Gem::PrintableUri.parse_uri("https://user:pass@example.com").to_s assert_equal "https://user:REDACTED@example.com", Gem::PrintableUri.parse_uri("https://user:pass@example.com").to_s
end end