X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c436da861845723ab18f56dba96052cf2569e539..0561bd0c3c07257fd58ded6c7cfa5feeae97af57:/services/api/test/unit/blob_test.rb?ds=sidebyside diff --git a/services/api/test/unit/blob_test.rb b/services/api/test/unit/blob_test.rb index 0794a751e0..429ebde976 100644 --- a/services/api/test/unit/blob_test.rb +++ b/services/api/test/unit/blob_test.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'test_helper' class BlobTest < ActiveSupport::TestCase @@ -17,7 +21,7 @@ class BlobTest < ActiveSupport::TestCase 'vu5wm9fpnwjyxfldw3vbo01mgjs75rgo7qioh8z8ij7jpyp8508okhgbbex3ceei' + '786u5rw2a9gx743dj3fgq2irk' @@known_signed_locator = 'acbd18db4cc2f85cedef654fccc4a4d8+3' + - '+A257f3f5f5f0a4e4626a18fc74bd42ec34dcb228a@7fffffff' + '+A89118b78732c33104a4d6231e8b5a5fa1e4301e3@7fffffff' test 'generate predictable invincible signature' do signed = Blob.sign_locator @@known_locator, { @@ -118,4 +122,23 @@ class BlobTest < ActiveSupport::TestCase Blob.verify_signature!(@@blob_locator, api_token: @@api_token, key: @@key) end end + + test 'signature changes when ttl changes' do + signed = Blob.sign_locator @@known_locator, { + api_token: @@known_token, + key: @@known_key, + expire: 0x7fffffff, + } + + original_ttl = Rails.configuration.blob_signature_ttl + Rails.configuration.blob_signature_ttl = original_ttl*2 + signed2 = Blob.sign_locator @@known_locator, { + api_token: @@known_token, + key: @@known_key, + expire: 0x7fffffff, + } + Rails.configuration.blob_signature_ttl = original_ttl + + assert_not_equal signed, signed2 + end end