google-cloud-ruby: Errors in storage acceptance test

On Ruby 2.5, we get this. This is from the nightly on 2021-04-26.

  1) Error:
Google::Cloud::Storage::Bucket::generate_signed_post_policy_v4::storage#test_0002_generates a signed post object v4 using signBlob API:
ArgumentError: unknown keyword: payload
    /h/.gem/gems/google-apis-iamcredentials_v1-0.3.0/lib/google/apis/iamcredentials_v1/service.rb:149:in `sign_service_account_blob'
    /workspace/google-cloud-storage/acceptance/storage/bucket_generate_signed_post_policy_v4_test.rb:79:in `block (3 levels) in <top (required)>'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v4.rb:355:in `generate_signature'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v4.rb:69:in `post_object'
    /workspace/google-cloud-storage/lib/google/cloud/storage/bucket.rb:1971:in `generate_signed_post_policy_v4'
    /workspace/google-cloud-storage/acceptance/storage/bucket_generate_signed_post_policy_v4_test.rb:83:in `block (2 levels) in <top (required)>'

  2) Error:
Google::Cloud::Storage::Bucket::post_object::v2::storage#test_0002_generates a signed post object using signBlob API:
ArgumentError: unknown keyword: payload
    /h/.gem/gems/google-apis-iamcredentials_v1-0.3.0/lib/google/apis/iamcredentials_v1/service.rb:149:in `sign_service_account_blob'
    /workspace/google-cloud-storage/acceptance/storage/bucket_post_object_v2_test.rb:79:in `block (3 levels) in <top (required)>'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v2.rb:135:in `generate_signature'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v2.rb:113:in `post_object'
    /workspace/google-cloud-storage/lib/google/cloud/storage/bucket.rb:1811:in `post_object'
    /workspace/google-cloud-storage/acceptance/storage/bucket_post_object_v2_test.rb:83:in `block (2 levels) in <top (required)>'

  3) Error:
Google::Cloud::Storage::signed_url::v2::storage::Google::Cloud::Storage::Bucket::signed_url#test_0002_should create a signed read url using IAM signBlob API:
ArgumentError: unknown keyword: payload
    /h/.gem/gems/google-apis-iamcredentials_v1-0.3.0/lib/google/apis/iamcredentials_v1/service.rb:149:in `sign_service_account_blob'
    /workspace/google-cloud-storage/acceptance/storage/signed_url_v2_test.rb:127:in `block (4 levels) in <top (required)>'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v2.rb:135:in `generate_signature'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v2.rb:128:in `signed_url'
    /workspace/google-cloud-storage/lib/google/cloud/storage/bucket.rb:1619:in `signed_url'
    /workspace/google-cloud-storage/acceptance/storage/signed_url_v2_test.rb:132:in `block (3 levels) in <top (required)>'

  4) Error:
Google::Cloud::Storage::signed_url::v4::storage::Google::Cloud::Storage::Bucket::signed_url#test_0002_should create a signed read url v4 using IAM signBlob API:
ArgumentError: unknown keyword: payload
    /h/.gem/gems/google-apis-iamcredentials_v1-0.3.0/lib/google/apis/iamcredentials_v1/service.rb:149:in `sign_service_account_blob'
    /workspace/google-cloud-storage/acceptance/storage/signed_url_v4_test.rb:127:in `block (4 levels) in <top (required)>'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v4.rb:214:in `block in service_account_signer'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v4.rb:124:in `signed_url'
    /workspace/google-cloud-storage/lib/google/cloud/storage/bucket.rb:1632:in `signed_url'
    /workspace/google-cloud-storage/acceptance/storage/signed_url_v4_test.rb:132:in `block (3 levels) in <top (required)>'

On Ruby 3.0, we get this. From the same nightly.

  1) Error:
Google::Cloud::Storage::signed_url::v2::storage::Google::Cloud::Storage::Bucket::signed_url#test_0002_should create a signed read url using IAM signBlob API:
Google::Apis::ClientError: Invalid request
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:228:in `check_status'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/api_command.rb:134:in `check_status'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:194:in `process_response'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:310:in `execute_once'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:113:in `block (2 levels) in execute'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:110:in `block in execute'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:102:in `execute'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/base_service.rb:377:in `execute_or_queue_command'
    /h/.gem/gems/google-apis-iamcredentials_v1-0.3.0/lib/google/apis/iamcredentials_v1/service.rb:158:in `sign_service_account_blob'
    /workspace/google-cloud-storage/acceptance/storage/signed_url_v2_test.rb:127:in `block (4 levels) in <top (required)>'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v2.rb:135:in `generate_signature'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v2.rb:128:in `signed_url'
    /workspace/google-cloud-storage/lib/google/cloud/storage/bucket.rb:1619:in `signed_url'
    /workspace/google-cloud-storage/acceptance/storage/signed_url_v2_test.rb:132:in `block (3 levels) in <top (required)>'

  2) Error:
Google::Cloud::Storage::Bucket::post_object::v2::storage#test_0002_generates a signed post object using signBlob API:
Google::Apis::ClientError: Invalid request
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:228:in `check_status'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/api_command.rb:134:in `check_status'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:194:in `process_response'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:310:in `execute_once'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:113:in `block (2 levels) in execute'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:110:in `block in execute'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:102:in `execute'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/base_service.rb:377:in `execute_or_queue_command'
    /h/.gem/gems/google-apis-iamcredentials_v1-0.3.0/lib/google/apis/iamcredentials_v1/service.rb:158:in `sign_service_account_blob'
    /workspace/google-cloud-storage/acceptance/storage/bucket_post_object_v2_test.rb:79:in `block (3 levels) in <top (required)>'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v2.rb:135:in `generate_signature'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v2.rb:113:in `post_object'
    /workspace/google-cloud-storage/lib/google/cloud/storage/bucket.rb:1811:in `post_object'
    /workspace/google-cloud-storage/acceptance/storage/bucket_post_object_v2_test.rb:83:in `block (2 levels) in <top (required)>'

  3) Error:
Google::Cloud::Storage::signed_url::v4::storage::Google::Cloud::Storage::Bucket::signed_url#test_0002_should create a signed read url v4 using IAM signBlob API:
Google::Apis::ClientError: Invalid request
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:228:in `check_status'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/api_command.rb:134:in `check_status'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:194:in `process_response'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:310:in `execute_once'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:113:in `block (2 levels) in execute'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:110:in `block in execute'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:102:in `execute'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/base_service.rb:377:in `execute_or_queue_command'
    /h/.gem/gems/google-apis-iamcredentials_v1-0.3.0/lib/google/apis/iamcredentials_v1/service.rb:158:in `sign_service_account_blob'
    /workspace/google-cloud-storage/acceptance/storage/signed_url_v4_test.rb:127:in `block (4 levels) in <top (required)>'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v4.rb:214:in `block in service_account_signer'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v4.rb:124:in `signed_url'
    /workspace/google-cloud-storage/lib/google/cloud/storage/bucket.rb:1632:in `signed_url'
    /workspace/google-cloud-storage/acceptance/storage/signed_url_v4_test.rb:132:in `block (3 levels) in <top (required)>'

  4) Error:
Google::Cloud::Storage::Bucket::generate_signed_post_policy_v4::storage#test_0002_generates a signed post object v4 using signBlob API:
Google::Apis::ClientError: Invalid request
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:228:in `check_status'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/api_command.rb:134:in `check_status'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:194:in `process_response'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:310:in `execute_once'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:113:in `block (2 levels) in execute'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:110:in `block in execute'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    /h/.gem/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/http_command.rb:102:in `execute'
    /h/.gem/gems/google-apis-core-0.3.0/lib/google/apis/core/base_service.rb:377:in `execute_or_queue_command'
    /h/.gem/gems/google-apis-iamcredentials_v1-0.3.0/lib/google/apis/iamcredentials_v1/service.rb:158:in `sign_service_account_blob'
    /workspace/google-cloud-storage/acceptance/storage/bucket_generate_signed_post_policy_v4_test.rb:79:in `block (3 levels) in <top (required)>'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v4.rb:355:in `generate_signature'
    /workspace/google-cloud-storage/lib/google/cloud/storage/file/signer_v4.rb:69:in `post_object'
    /workspace/google-cloud-storage/lib/google/cloud/storage/bucket.rb:1971:in `generate_signed_post_policy_v4'
    /workspace/google-cloud-storage/acceptance/storage/bucket_generate_signed_post_policy_v4_test.rb:83:in `block (2 levels) in <top (required)>'

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 25 (23 by maintainers)

Commits related to this issue

Most upvoted comments

Great, thanks for following up! I will close this.

@bajajneha27 I also see the successful CI acceptance test run now for your open PR #14407, thank you for providing the links. I would recommend closing this issue now.

I reproduced what’s happening inside ApiCommand:

irb(main):005:0> request_object = {"payload" => "123"}
=> {"payload"=>"123"}
irb(main):006:0> request_representation = Google::Apis::IamcredentialsV1::SignBlobRequest::Representation
=> Google::Apis::IamcredentialsV1::SignBlobRequest::Representation
irb(main):007:0> body = request_representation.new(request_object).to_json(user_options: { skip_undefined: true })
=> "{}"

@frankyn I wasn’t able to figure out how to log the request. I can try again this evening.