summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Jankowski <matt@jankowski.online>2023-10-13 09:19:40 -0400
committerGitHub <noreply@github.com>2023-10-13 15:19:40 +0200
commitabf0e1fa39f67baecab5c3893845e34a0f7be198 (patch)
tree03d6cd3f9d5afaf29bc946846c7cc2bec661d63b
parentbc6cd27d9edc473da3403c9af7970db8114b2135 (diff)
Move `SignedReqestHelpers` rspec config to separate file (#25453)
-rw-r--r--spec/rails_helper.rb20
-rw-r--r--spec/support/signed_request_helpers.rb21
2 files changed, 21 insertions, 20 deletions
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
index 7b8dccb6a0b..06e8418a0ec 100644
--- a/spec/rails_helper.rb
+++ b/spec/rails_helper.rb
@@ -54,26 +54,6 @@ Devise::Test::ControllerHelpers.module_eval do
end
end
-module SignedRequestHelpers
- def get(path, headers: nil, sign_with: nil, **args)
- return super path, headers: headers, **args if sign_with.nil?
-
- headers ||= {}
- headers['Date'] = Time.now.utc.httpdate
- headers['Host'] = ENV.fetch('LOCAL_DOMAIN')
- signed_headers = headers.merge('(request-target)' => "get #{path}").slice('(request-target)', 'Host', 'Date')
-
- key_id = ActivityPub::TagManager.instance.key_uri_for(sign_with)
- keypair = sign_with.keypair
- signed_string = signed_headers.map { |key, value| "#{key.downcase}: #{value}" }.join("\n")
- signature = Base64.strict_encode64(keypair.sign(OpenSSL::Digest.new('SHA256'), signed_string))
-
- headers['Signature'] = "keyId=\"#{key_id}\",algorithm=\"rsa-sha256\",headers=\"#{signed_headers.keys.join(' ').downcase}\",signature=\"#{signature}\""
-
- super path, headers: headers, **args
- end
-end
-
RSpec.configure do |config|
# This is set before running spec:system, see lib/tasks/tests.rake
config.filter_run_excluding type: lambda { |type|
diff --git a/spec/support/signed_request_helpers.rb b/spec/support/signed_request_helpers.rb
new file mode 100644
index 00000000000..33d7dba6b87
--- /dev/null
+++ b/spec/support/signed_request_helpers.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+module SignedRequestHelpers
+ def get(path, headers: nil, sign_with: nil, **args)
+ return super path, headers: headers, **args if sign_with.nil?
+
+ headers ||= {}
+ headers['Date'] = Time.now.utc.httpdate
+ headers['Host'] = ENV.fetch('LOCAL_DOMAIN')
+ signed_headers = headers.merge('(request-target)' => "get #{path}").slice('(request-target)', 'Host', 'Date')
+
+ key_id = ActivityPub::TagManager.instance.key_uri_for(sign_with)
+ keypair = sign_with.keypair
+ signed_string = signed_headers.map { |key, value| "#{key.downcase}: #{value}" }.join("\n")
+ signature = Base64.strict_encode64(keypair.sign(OpenSSL::Digest.new('SHA256'), signed_string))
+
+ headers['Signature'] = "keyId=\"#{key_id}\",algorithm=\"rsa-sha256\",headers=\"#{signed_headers.keys.join(' ').downcase}\",signature=\"#{signature}\""
+
+ super path, headers: headers, **args
+ end
+end