@@ -18,7 +18,7 @@ def setup
1818 @a1 . loaded_from = File . join ( @gemhome , "specifications" , @a1 . full_name )
1919 end
2020
21- def assert_fetch_s3 ( url , signature , token = nil , region = "us-east-1" , instance_profile_json = nil , head = false )
21+ def assert_fetch_s3 ( url , signature , token = nil , region = "us-east-1" , instance_profile_json = nil , method = "GET" )
2222 fetcher = Gem ::RemoteFetcher . new nil
2323 @fetcher = fetcher
2424 $fetched_uri = nil
@@ -33,9 +33,9 @@ def res.body
3333 res
3434 end
3535
36- def fetcher . s3_uri_signer ( uri , head )
36+ def fetcher . s3_uri_signer ( uri , method )
3737 require "json"
38- s3_uri_signer = Gem ::S3URISigner . new ( uri , head )
38+ s3_uri_signer = Gem ::S3URISigner . new ( uri , method )
3939 def s3_uri_signer . ec2_metadata_credentials_json
4040 JSON . parse ( $instance_profile)
4141 end
@@ -45,13 +45,13 @@ def s3_uri_signer.ec2_metadata_credentials_json
4545 s3_uri_signer
4646 end
4747
48- res = fetcher . fetch_s3 Gem ::URI . parse ( url ) , nil , head
48+ res = fetcher . fetch_s3 Gem ::URI . parse ( url ) , nil , ( method == "HEAD" )
4949
5050 assert_equal "https://my-bucket.s3.#{ region } .amazonaws.com/gems/specs.4.8.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=testuser%2F20190624%2F#{ region } %2Fs3%2Faws4_request&X-Amz-Date=20190624T051941Z&X-Amz-Expires=86400#{ token ? "&X-Amz-Security-Token=" + token : "" } &X-Amz-SignedHeaders=host&X-Amz-Signature=#{ signature } " , $fetched_uri. to_s
51- if !head
52- assert_equal "success" , res
53- else
51+ if method == "HEAD"
5452 assert_equal 200 , res . code
53+ else
54+ assert_equal "success" , res
5555 end
5656 ensure
5757 $fetched_uri = nil
@@ -78,8 +78,8 @@ def test_fetch_s3_head_request
7878 token = nil
7979 region = "us-east-1"
8080 instance_profile_json = nil
81- head = true
82- assert_fetch_s3 url , "a3c6cf9a2db62e85f4e57f8fc8ac8b5ff5c1fdd4aeef55935d05e05174d9c885" , token , region , instance_profile_json , head
81+ method = "HEAD"
82+ assert_fetch_s3 url , "a3c6cf9a2db62e85f4e57f8fc8ac8b5ff5c1fdd4aeef55935d05e05174d9c885" , token , region , instance_profile_json , method
8383 end
8484 ensure
8585 Gem . configuration [ :s3_source ] = nil
0 commit comments