about summary refs log tree commit diff
path: root/spec/services/verify_link_service_spec.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-09-20 00:10:35 +0200
committerGitHub <noreply@github.com>2018-09-20 00:10:35 +0200
commitf92f1ee80a90fcc88afc4519c0b70f369fef6f62 (patch)
tree56bba13d3b9e81adefd71c6ff5e298a1c13605d4 /spec/services/verify_link_service_spec.rb
parent554f659f2aa1eb9c0ca64ec1c9c177538434826c (diff)
Support link verification with redirects (#8735)
(e.g. URL shortener)
Diffstat (limited to 'spec/services/verify_link_service_spec.rb')
-rw-r--r--spec/services/verify_link_service_spec.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/spec/services/verify_link_service_spec.rb b/spec/services/verify_link_service_spec.rb
index acd4e851e..9b04d6136 100644
--- a/spec/services/verify_link_service_spec.rb
+++ b/spec/services/verify_link_service_spec.rb
@@ -7,6 +7,7 @@ RSpec.describe VerifyLinkService, type: :service do
   let(:field)   { Account::Field.new(account, 'name' => 'Website', 'value' => 'http://example.com') }
 
   before do
+    stub_request(:head, 'https://redirect.me/abc').to_return(status: 301, headers: { 'Location' => ActivityPub::TagManager.instance.url_for(account) })
     stub_request(:get, 'http://example.com').to_return(status: 200, body: html)
     subject.call(field)
   end
@@ -56,6 +57,21 @@ RSpec.describe VerifyLinkService, type: :service do
     end
   end
 
+  context 'when a link goes through a redirect back' do
+    let(:html) do
+      <<-HTML
+        <!doctype html>
+        <head>
+          <link type="text/html" href="https://redirect.me/abc" rel="me" />
+        </head>
+      HTML
+    end
+
+    it 'marks the field as verified' do
+      expect(field.verified?).to be true
+    end
+  end
+
   context 'when a link does not contain a link back' do
     let(:html) { '' }