diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-03-20 13:03:06 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-03-20 13:03:06 +0100 |
commit | b640f35621b419ae9b9e621e00a8a055068ce2f4 (patch) | |
tree | 430d9b5a442a427d07135b96ac0f71fd24d4aa99 /spec | |
parent | e14b76c7cb07c3ebc01a17991df9fe5b69d1b5bc (diff) |
Writing out more tests, fixed some bugs
Diffstat (limited to 'spec')
-rw-r--r-- | spec/controllers/api/accounts_controller_spec.rb | 56 | ||||
-rw-r--r-- | spec/controllers/api/follows_controller_spec.rb | 43 | ||||
-rw-r--r-- | spec/controllers/api/salmon_controller_spec.rb | 30 | ||||
-rw-r--r-- | spec/controllers/api/statuses_controller_spec.rb | 14 | ||||
-rw-r--r-- | spec/controllers/api/subscriptions_controller_spec.rb | 33 | ||||
-rw-r--r-- | spec/fixtures/push/feed.atom | 424 | ||||
-rw-r--r-- | spec/fixtures/requests/.host-meta.txt | 19 | ||||
-rw-r--r-- | spec/fixtures/requests/avatar.txt | bin | 0 -> 109962 bytes | |||
-rw-r--r-- | spec/fixtures/requests/feed.txt | 440 | ||||
-rw-r--r-- | spec/fixtures/requests/webfinger.txt | 11 | ||||
-rw-r--r-- | spec/fixtures/salmon/mention.xml | 2 | ||||
-rw-r--r-- | spec/rails_helper.rb | 4 |
12 files changed, 1065 insertions, 11 deletions
diff --git a/spec/controllers/api/accounts_controller_spec.rb b/spec/controllers/api/accounts_controller_spec.rb index 915a40a8a..7bcb1a788 100644 --- a/spec/controllers/api/accounts_controller_spec.rb +++ b/spec/controllers/api/accounts_controller_spec.rb @@ -1,27 +1,71 @@ require 'rails_helper' RSpec.describe Api::AccountsController, type: :controller do + let(:user) { Fabricate(:user, account: Fabricate(:account, username: 'alice')) } + let(:token) { double acceptable?: true, resource_owner_id: user.id } + + before do + allow(controller).to receive(:doorkeeper_token) { token } + end + describe 'GET #show' do - it 'returns http success' + it 'returns http success' do + get :show, id: user.account.id + expect(response).to have_http_status(:success) + end end describe 'GET #statuses' do - it 'returns http success' + it 'returns http success' do + get :statuses, id: user.account.id + expect(response).to have_http_status(:success) + end end describe 'GET #followers' do - it 'returns http success' + it 'returns http success' do + get :followers, id: user.account.id + expect(response).to have_http_status(:success) + end end describe 'GET #following' do - it 'returns http success' + it 'returns http success' do + get :following, id: user.account.id + expect(response).to have_http_status(:success) + end end describe 'POST #follow' do - it 'returns http success' + let(:other_account) { Fabricate(:account, username: 'bob') } + + before do + post :follow, id: other_account.id + end + + it 'returns http success' do + expect(response).to have_http_status(:success) + end + + it 'creates a following relation between user and target user' do + expect(user.account.following?(other_account)).to be true + end end describe 'POST #unfollow' do - it 'returns http success' + let(:other_account) { Fabricate(:account, username: 'bob') } + + before do + user.account.follow!(other_account) + post :unfollow, id: other_account.id + end + + it 'returns http success' do + expect(response).to have_http_status(:success) + end + + it 'removes the following relation between user and target user' do + expect(user.account.following?(other_account)).to be false + end end end diff --git a/spec/controllers/api/follows_controller_spec.rb b/spec/controllers/api/follows_controller_spec.rb index 75f470181..e9bb1bfa5 100644 --- a/spec/controllers/api/follows_controller_spec.rb +++ b/spec/controllers/api/follows_controller_spec.rb @@ -1,7 +1,48 @@ require 'rails_helper' RSpec.describe Api::FollowsController, type: :controller do + let(:user) { Fabricate(:user, account: Fabricate(:account, username: 'alice')) } + let(:token) { double acceptable?: true, resource_owner_id: user.id } + + before do + allow(controller).to receive(:doorkeeper_token) { token } + end + describe 'POST #create' do - it 'returns http success' + before do + stub_request(:get, "https://quitter.no/.well-known/host-meta").to_return(request_fixture('.host-meta.txt')) + stub_request(:get, "https://quitter.no/.well-known/webfinger?resource=acct:gargron@quitter.no").to_return(request_fixture('webfinger.txt')) + stub_request(:get, "https://quitter.no/api/statuses/user_timeline/7477.atom").to_return(request_fixture('feed.txt')) + stub_request(:get, "https://quitter.no/avatar/7477-300-20160211190340.png").to_return(request_fixture('avatar.txt')) + stub_request(:post, "https://quitter.no/main/push/hub").to_return(:status => 200, :body => "", :headers => {}) + stub_request(:post, "https://quitter.no/main/salmon/user/7477").to_return(:status => 200, :body => "", :headers => {}) + stub_request(:post, "https://pubsubhubbub.superfeedr.com/").to_return(:status => 200, :body => "", :headers => {}) + + post :create, uri: 'gargron@quitter.no' + end + + it 'returns http success' do + expect(response).to have_http_status(:success) + end + + it 'creates account for remote user' do + expect(Account.find_by(username: 'gargron', domain: 'quitter.no')).to_not be_nil + end + + it 'creates a follow relation between user and remote user' do + expect(user.account.following?(Account.find_by(username: 'gargron', domain: 'quitter.no'))).to be true + end + + it 'sends a salmon slap to the remote user' do + expect(a_request(:post, "https://quitter.no/main/salmon/user/7477")).to have_been_made + end + + it 'notifies own hub' do + expect(a_request(:post, "https://pubsubhubbub.superfeedr.com/")).to have_been_made + end + + it 'subscribes to remote hub' do + expect(a_request(:post, "https://quitter.no/main/push/hub")).to have_been_made + end end end diff --git a/spec/controllers/api/salmon_controller_spec.rb b/spec/controllers/api/salmon_controller_spec.rb index e81ad12ad..d5be69c01 100644 --- a/spec/controllers/api/salmon_controller_spec.rb +++ b/spec/controllers/api/salmon_controller_spec.rb @@ -1,7 +1,35 @@ require 'rails_helper' RSpec.describe Api::SalmonController, type: :controller do + let(:account) { Fabricate(:account, username: 'catsrgr8', user: Fabricate(:user)) } + + before do + stub_request(:get, "https://quitter.no/.well-known/host-meta").to_return(request_fixture('.host-meta.txt')) + stub_request(:get, "https://quitter.no/.well-known/webfinger?resource=acct:gargron@quitter.no").to_return(request_fixture('webfinger.txt')) + stub_request(:get, "https://quitter.no/api/statuses/user_timeline/7477.atom").to_return(request_fixture('feed.txt')) + stub_request(:get, "https://quitter.no/avatar/7477-300-20160211190340.png").to_return(request_fixture('avatar.txt')) + end + describe 'POST #update' do - pending + before do + request.env['RAW_POST_DATA'] = File.read(File.join(Rails.root, 'spec', 'fixtures', 'salmon', 'mention.xml')) + post :update, id: account.id + end + + it 'returns http success' do + expect(response).to have_http_status(:success) + end + + it 'creates remote account' do + expect(Account.find_by(username: 'gargron', domain: 'quitter.no')).to_not be_nil + end + + it 'creates status' do + expect(Status.find_by(uri: 'tag:quitter.no,2016-03-20:noticeId=1276923:objectType=note')).to_not be_nil + end + + it 'creates mention for target account' do + expect(account.mentions.count).to eq 1 + end end end diff --git a/spec/controllers/api/statuses_controller_spec.rb b/spec/controllers/api/statuses_controller_spec.rb index bd136a559..75a8b999a 100644 --- a/spec/controllers/api/statuses_controller_spec.rb +++ b/spec/controllers/api/statuses_controller_spec.rb @@ -1,8 +1,20 @@ require 'rails_helper' RSpec.describe Api::StatusesController, type: :controller do + let(:user) { Fabricate(:user, account: Fabricate(:account, username: 'alice')) } + let(:token) { double acceptable?: true, resource_owner_id: user.id } + + before do + allow(controller).to receive(:doorkeeper_token) { token } + end + describe 'GET #show' do - it 'returns http success' + let(:status) { Fabricate(:status, account: user.account) } + + it 'returns http success' do + get :show, id: status.id + expect(response).to have_http_status(:success) + end end describe 'GET #home' do diff --git a/spec/controllers/api/subscriptions_controller_spec.rb b/spec/controllers/api/subscriptions_controller_spec.rb index 16995c687..e2f2ddd7e 100644 --- a/spec/controllers/api/subscriptions_controller_spec.rb +++ b/spec/controllers/api/subscriptions_controller_spec.rb @@ -1,11 +1,40 @@ require 'rails_helper' RSpec.describe Api::SubscriptionsController, type: :controller do + let(:account) { Fabricate(:account, username: 'gargron', domain: 'quitter.no', verify_token: '123', remote_url: 'topic_url', secret: 'abc') } + describe 'GET #show' do - pending + before do + get :show, id: account.id, 'hub.topic': 'topic_url', 'hub.verify_token': 123, 'hub.challenge': '456' + end + + it 'returns http success' do + expect(response).to have_http_status(:success) + end + + it 'echoes back the challenge' do + expect(response.body).to match '456' + end end describe 'POST #update' do - pending + let(:feed) { File.read(File.join(Rails.root, 'spec', 'fixtures', 'push', 'feed.atom')) } + + before do + stub_request(:get, "https://quitter.no/avatar/7477-300-20160211190340.png").to_return(request_fixture('avatar.txt')) + + request.env['HTTP_X_HUB_SIGNATURE'] = "sha1=#{OpenSSL::HMAC.hexdigest('sha1', 'abc', feed)}" + request.env['RAW_POST_DATA'] = feed + + post :update, id: account.id + end + + it 'returns http created' do + expect(response).to have_http_status(:created) + end + + it 'creates statuses for feed' do + expect(account.statuses.count).to_not eq 0 + end end end diff --git a/spec/fixtures/push/feed.atom b/spec/fixtures/push/feed.atom new file mode 100644 index 000000000..349df139d --- /dev/null +++ b/spec/fixtures/push/feed.atom @@ -0,0 +1,424 @@ +<?xml version="1.0" encoding="UTF-8"?> +<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:georss="http://www.georss.org/georss" xmlns:activity="http://activitystrea.ms/spec/1.0/" xmlns:media="http://purl.org/syndication/atommedia" xmlns:poco="http://portablecontacts.net/spec/1.0" xmlns:ostatus="http://ostatus.org/schema/1.0" xmlns:statusnet="http://status.net/schema/api/1/"> + <generator uri="https://gnu.io/social" version="1.2.0-beta4">GNU social</generator> + <id>https://quitter.no/api/statuses/user_timeline/7477.atom</id> + <title>gargron timeline</title> + <subtitle>Updates from gargron on Quitter.no!</subtitle> + <logo>https://quitter.no/avatar/7477-96-20160211190340.png</logo> + <updated>2016-03-20T12:42:58+01:00</updated> +<author> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <uri>https://quitter.no/user/7477</uri> + <name>gargron</name> + <summary>Software engineer, free time musician and DIGITAL SPORTS enthusiast. Likes cats. Warning: May contain memes</summary> + <link rel="alternate" type="text/html" href="https://quitter.no/gargron"/> + <link rel="avatar" type="image/png" media:width="300" media:height="300" href="https://quitter.no/avatar/7477-300-20160211190340.png"/> + <link rel="avatar" type="image/png" media:width="96" media:height="96" href="https://quitter.no/avatar/7477-96-20160211190340.png"/> + <link rel="avatar" type="image/png" media:width="48" media:height="48" href="https://quitter.no/avatar/7477-48-20160211190449.png"/> + <link rel="avatar" type="image/png" media:width="24" media:height="24" href="https://quitter.no/avatar/7477-24-20160211190517.png"/> + <poco:preferredUsername>gargron</poco:preferredUsername> + <poco:displayName>DIGITAL CAT</poco:displayName> + <poco:note>Software engineer, free time musician and DIGITAL SPORTS enthusiast. Likes cats. Warning: May contain memes</poco:note> + <poco:address> + <poco:formatted>Germany</poco:formatted> + </poco:address> + <poco:urls> + <poco:type>homepage</poco:type> + <poco:value>https://zeonfederated.com</poco:value> + <poco:primary>true</poco:primary> + </poco:urls> + <followers url="https://quitter.no/gargron/subscribers"></followers> + <statusnet:profile_info local_id="7477"></statusnet:profile_info> +</author> + <link href="https://quitter.no/gargron" rel="alternate" type="text/html"/> + <link href="https://quitter.no/main/sup" rel="http://api.friendfeed.com/2008/03#sup" type="application/json"/> + <link href="https://quitter.no/api/statuses/user_timeline/7477.atom?max_id=1243309" rel="next" type="application/atom+xml"/> + <link href="https://quitter.no/main/push/hub" rel="hub"/> + <link href="https://quitter.no/main/salmon/user/7477" rel="salmon"/> + <link href="https://quitter.no/main/salmon/user/7477" rel="http://salmon-protocol.org/ns/salmon-replies"/> + <link href="https://quitter.no/main/salmon/user/7477" rel="http://salmon-protocol.org/ns/salmon-mention"/> + <link href="https://quitter.no/api/statuses/user_timeline/7477.atom" rel="self" type="application/atom+xml"/> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> + <id>tag:quitter.no,2016-03-20:noticeId=1276923:objectType=note</id> + <title>New note by gargron</title> + <content type="html">@<a href="https://cb6e6126.ngrok.io/users/catsrgr8" class="h-card mention">catsrgr8</a> this is a mention</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1276923"/> + <status_net notice_id="1276923"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-20T11:05:31+00:00</published> + <updated>2016-03-20T11:05:31+00:00</updated> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-20:objectType=thread:nonce=7c998112e39a6685"/> + <ostatus:conversation>tag:quitter.no,2016-03-20:objectType=thread:nonce=7c998112e39a6685</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://cb6e6126.ngrok.io/users/catsrgr8"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1276923.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1276923.atom"/> + <statusnet:notice_info local_id="1276923" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> + <id>tag:quitter.no,2016-03-19:noticeId=1273635:objectType=note</id> + <title>New note by gargron</title> + <content type="html">Just testing a thing.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1273635"/> + <status_net notice_id="1273635"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-19T20:35:53+00:00</published> + <updated>2016-03-19T20:35:53+00:00</updated> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-19:objectType=thread:nonce=c4a61886d5cad4c2"/> + <ostatus:conversation>tag:quitter.no,2016-03-19:objectType=thread:nonce=c4a61886d5cad4c2</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://mastodon.social/users/Gargron"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1273635.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1273635.atom"/> + <statusnet:notice_info local_id="1273635" source="web"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-19:noticeId=1272988:objectType=note</id> + <title>Delete</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> deleted notice <a href="https://quitter.no/notice/1272988">{{tag:quitter.no,2016-03-19:noticeId=1272988:objectType=note}}</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1273012"/> + <activity:verb>delete</activity:verb> + <published>2016-03-19T18:16:58+00:00</published> + <updated>2016-03-19T18:16:58+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> + <id>tag:quitter.no,2016-03-19:noticeId=1272988:objectType=note</id> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-19:objectType=thread:nonce=7913e6b6256b6d0b"/> + <ostatus:conversation>tag:quitter.no,2016-03-19:objectType=thread:nonce=7913e6b6256b6d0b</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <activity:target> + <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> + <id>tag:quitter.no,2016-03-19:noticeId=1272988:objectType=note</id> + </activity:target> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1273012.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1273012.atom"/> + <statusnet:notice_info local_id="1273012" source="unknown"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-19:noticeId=1269381:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://mastodon.social/users/Gargron" class="h-card mention" title="Eugen">gargron</a> I have to wonder if this will appear as a reply to the right status, and not just a mention.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1269381"/> + <status_net notice_id="1269381"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-19T00:10:14+00:00</published> + <updated>2016-03-19T00:10:14+00:00</updated> + <thr:in-reply-to ref="tag:mastodon.social,2016-03-18:objectId=60:objectType=Status" href="https://quitter.no/notice/1269244"></thr:in-reply-to> + <link rel="related" href="https://quitter.no/notice/1269244"/> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-18:objectType=thread:nonce=d05c6330fbe23fb9"/> + <ostatus:conversation>tag:quitter.no,2016-03-18:objectType=thread:nonce=d05c6330fbe23fb9</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://mastodon.social/users/Gargron"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1269381.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1269381.atom"/> + <statusnet:notice_info local_id="1269381" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-18:noticeId=1265337:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://community.highlandarrow.com/user/1" class="h-card mention" title="Maiyannah Bishop">maiyannah</a> Plus, Android can hardly be considered free software given how many proprietary blobs are used. I'm speaking as a disappointed Android user.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1265337"/> + <status_net notice_id="1265337"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-18T10:01:50+00:00</published> + <updated>2016-03-18T10:01:50+00:00</updated> + <thr:in-reply-to ref="tag:quitter.no,2016-03-18:noticeId=1265331:objectType=comment" href="https://quitter.no/notice/1265331"></thr:in-reply-to> + <link rel="related" href="https://quitter.no/notice/1265331"/> + <link rel="ostatus:conversation" href="tag:community.highlandarrow.com,2016-03-18:objectType=thread:nonce=d61438407b882959"/> + <ostatus:conversation>tag:community.highlandarrow.com,2016-03-18:objectType=thread:nonce=d61438407b882959</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://quitter.no/user/7477"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://community.highlandarrow.com/user/1"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1265337.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1265337.atom"/> + <statusnet:notice_info local_id="1265337" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-18:noticeId=1265331:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://community.highlandarrow.com/user/1" class="h-card mention" title="Maiyannah Bishop">maiyannah</a> Well as it turns out, Apple software is better than Android in terms of security, and Apple is fighting FBI while Google promised to build a messaging app that facilitates wire tapping. The whole free software thing should imo be considered a bonus and not overshadow other factors.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1265331"/> + <status_net notice_id="1265331"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-18T10:01:01+00:00</published> + <updated>2016-03-18T10:01:01+00:00</updated> + <thr:in-reply-to ref="tag:community.highlandarrow.com,2016-03-18:noticeId=54411:objectType=note" href="https://community.highlandarrow.com/notice/54411"></thr:in-reply-to> + <link rel="related" href="https://community.highlandarrow.com/notice/54411"/> + <link rel="ostatus:conversation" href="tag:community.highlandarrow.com,2016-03-18:objectType=thread:nonce=d61438407b882959"/> + <ostatus:conversation>tag:community.highlandarrow.com,2016-03-18:objectType=thread:nonce=d61438407b882959</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://community.highlandarrow.com/user/1"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1265331.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1265331.atom"/> + <statusnet:notice_info local_id="1265331" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-17:noticeId=1261358:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://community.highlandarrow.com/user/1" class="h-card mention" title="Maiyannah Bishop">maiyannah</a> @<a href="https://gs.kawa-kun.com/user/2" class="h-card mention" title="&#x7AF9;&#x4E0B;&#x61B2;&#x4E8C;">takeshitakenji</a> There is a reason that was deprecated and we don't use tables to design websites anymore. HTML needs to be semantic, i.e. tags need to describe the *kind* of content, not how it should *look*, which is a responsibility delegated to CSS. There are so many upsides to this separation of concerns, should I start listing?</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1261358"/> + <status_net notice_id="1261358"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-17T17:00:26+00:00</published> + <updated>2016-03-17T17:00:26+00:00</updated> + <thr:in-reply-to ref="tag:community.highlandarrow.com,2016-03-17:noticeId=53857:objectType=comment" href="https://community.highlandarrow.com/notice/53857"></thr:in-reply-to> + <link rel="related" href="https://community.highlandarrow.com/notice/53857"/> + <link rel="ostatus:conversation" href="tag:gs.kawa-kun.com,2016-03-17:objectType=thread:nonce=a83963573a0520f1"/> + <ostatus:conversation>tag:gs.kawa-kun.com,2016-03-17:objectType=thread:nonce=a83963573a0520f1</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://community.highlandarrow.com/user/1"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://gs.kawa-kun.com/user/2"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1261358.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1261358.atom"/> + <statusnet:notice_info local_id="1261358" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T21:24:13+01:00</id> + <title>DIGITAL CAT (gargron)'s status on Wednesday, 16-Mar-2016 21:24:13 CET</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256972"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T20:24:13+00:00</published> + <updated>2016-03-16T20:24:13+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>https://mastodon.social/users/Gargron</id> + <title>Eugen</title> + <summary>Software engineer, free time musician and DIGITAL SPORTS enthusiast. Likes cats. Warning: May contain memes</summary> + <link rel="alternate" type="text/html" href="https://mastodon.social/users/Gargron"/> + <link rel="avatar" type="image/gif" media:width="96" media:height="96" href="https://quitter.no/avatar/15743-original-20160316180410.gif"/> + <link rel="avatar" type="image/gif" media:width="96" media:height="96" href="https://quitter.no/avatar/15743-original-20160316180410.gif"/> + <link rel="avatar" type="image/gif" media:width="48" media:height="48" href="https://quitter.no/avatar/15743-48-20160316180416.gif"/> + <link rel="avatar" type="image/gif" media:width="24" media:height="24" href="https://quitter.no/avatar/15743-24-20160316180416.gif"/> + <poco:preferredUsername>gargron</poco:preferredUsername> + <poco:displayName>Eugen</poco:displayName> + <poco:note>Software engineer, free time musician and DIGITAL SPORTS enthusiast. Likes cats. Warning: May contain memes</poco:note> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=073bda8223dfcaa7"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=073bda8223dfcaa7</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256972.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256972.atom"/> + <statusnet:notice_info local_id="1256972" source="activity"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T21:22:38+01:00</id> + <title></title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256966"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T20:22:38+00:00</published> + <updated>2016-03-16T20:22:38+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T21:22:38+01:00</id> + <title>New person by gargron</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256966"/> + <status_net notice_id="1256966"></status_net> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=b157f676181e0ecd"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=b157f676181e0ecd</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256966.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256966.atom"/> + <statusnet:notice_info local_id="1256966" source="activity"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T21:16:14+01:00</id> + <title></title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256939"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T20:16:15+00:00</published> + <updated>2016-03-16T20:16:15+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T21:16:14+01:00</id> + <title>New person by gargron</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256939"/> + <status_net notice_id="1256939"></status_net> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=6a6ebd1ed6504a11"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=6a6ebd1ed6504a11</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256939.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256939.atom"/> + <statusnet:notice_info local_id="1256939" source="activity"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15750:2016-03-16T21:13:06+01:00</id> + <title></title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://acda7931.ngrok.io/users/catsrgr8">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256929"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T20:13:06+00:00</published> + <updated>2016-03-16T20:13:06+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15750:2016-03-16T21:13:06+01:00</id> + <title>New person by gargron</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://acda7931.ngrok.io/users/catsrgr8">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256929"/> + <status_net notice_id="1256929"></status_net> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=8f5f92443584e8f0"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=8f5f92443584e8f0</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256929.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256929.atom"/> + <statusnet:notice_info local_id="1256929" source="activity"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15750:2016-03-16T21:05:02+01:00</id> + <title></title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://acda7931.ngrok.io/users/catsrgr8">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256888"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T20:05:03+00:00</published> + <updated>2016-03-16T20:05:03+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15750:2016-03-16T21:05:02+01:00</id> + <title>New person by gargron</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://acda7931.ngrok.io/users/catsrgr8">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256888"/> + <status_net notice_id="1256888"></status_net> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=b630d235232fcff5"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=b630d235232fcff5</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256888.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256888.atom"/> + <statusnet:notice_info local_id="1256888" source="activity"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T19:04:16+01:00</id> + <title></title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256253"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T18:04:16+00:00</published> + <updated>2016-03-16T18:04:16+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T19:04:16+01:00</id> + <title>New person by gargron</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256253"/> + <status_net notice_id="1256253"></status_net> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=40eb98e5f85c9908"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=40eb98e5f85c9908</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256253.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256253.atom"/> + <statusnet:notice_info local_id="1256253" source="activity"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-15:noticeId=1251422:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://community.highlandarrow.com/user/1" class="h-card mention" title="Maiyannah Bishop">maiyannah</a> LGB, not LGBT?</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1251422"/> + <status_net notice_id="1251422"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-15T20:28:13+00:00</published> + <updated>2016-03-15T20:28:13+00:00</updated> + <thr:in-reply-to ref="tag:community.highlandarrow.com,2016-03-15:noticeId=51852:objectType=note" href="https://community.highlandarrow.com/notice/51852"></thr:in-reply-to> + <link rel="related" href="https://community.highlandarrow.com/notice/51852"/> + <link rel="ostatus:conversation" href="tag:community.highlandarrow.com,2016-03-15:objectType=thread:nonce=70ff6886d69e5225"/> + <ostatus:conversation>tag:community.highlandarrow.com,2016-03-15:objectType=thread:nonce=70ff6886d69e5225</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://community.highlandarrow.com/user/1"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1251422.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1251422.atom"/> + <statusnet:notice_info local_id="1251422" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-15:noticeId=1250742:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://social.umeahackerspace.se/user/2" class="h-card mention" title="&lt;Mikael &amp; Nordfeldth&gt;">mmn</a> I'm like reeeeally close to actually deploying the first production instance of Mastodon, but it bugs me that there's gonna be that issue with avatars and profiles not updating :(</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1250742"/> + <status_net notice_id="1250742"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-15T18:44:54+00:00</published> + <updated>2016-03-15T18:44:54+00:00</updated> + <thr:in-reply-to ref="tag:social.umeahackerspace.se,2016-03-15:noticeId=424348:objectType=comment" href="https://social.umeahackerspace.se/notice/424348"></thr:in-reply-to> + <link rel="related" href="https://social.umeahackerspace.se/notice/424348"/> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-15:objectType=thread:nonce=2fbd771270b5da80"/> + <ostatus:conversation>tag:quitter.no,2016-03-15:objectType=thread:nonce=2fbd771270b5da80</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://social.umeahackerspace.se/user/2"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1250742.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1250742.atom"/> + <statusnet:notice_info local_id="1250742" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> + <id>tag:quitter.no,2016-03-15:noticeId=1250653:objectType=note</id> + <title>New note by gargron</title> + <content type="html">@<a href="https://social.umeahackerspace.se/user/2" class="h-card mention" title="&lt;Mikael &amp; Nordfeldth&gt;">mmn</a> Any progress on the issues I created?</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1250653"/> + <status_net notice_id="1250653"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-15T18:27:00+00:00</published> + <updated>2016-03-15T18:27:00+00:00</updated> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-15:objectType=thread:nonce=2fbd771270b5da80"/> + <ostatus:conversation>tag:quitter.no,2016-03-15:objectType=thread:nonce=2fbd771270b5da80</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://social.umeahackerspace.se/user/2"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1250653.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1250653.atom"/> + <statusnet:notice_info local_id="1250653" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-14:noticeId=1243566:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://community.highlandarrow.com/user/1" class="h-card mention" title="Maiyannah Bishop">maiyannah</a> I heard Piwik is also good.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1243566"/> + <status_net notice_id="1243566"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-14T15:35:23+00:00</published> + <updated>2016-03-14T15:35:23+00:00</updated> + <thr:in-reply-to ref="tag:community.highlandarrow.com,2016-03-14:noticeId=50467:objectType=note" href="https://community.highlandarrow.com/notice/50467"></thr:in-reply-to> + <link rel="related" href="https://community.highlandarrow.com/notice/50467"/> + <link rel="ostatus:conversation" href="tag:community.highlandarrow.com,2016-03-14:objectType=thread:nonce=8fbf00e7f76866d3"/> + <ostatus:conversation>tag:community.highlandarrow.com,2016-03-14:objectType=thread:nonce=8fbf00e7f76866d3</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://community.highlandarrow.com/user/1"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1243566.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1243566.atom"/> + <statusnet:notice_info local_id="1243566" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-14:noticeId=1243331:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">I do wish I had somebody else partake in the development process if only to give me feedback on my decisions</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1243331"/> + <status_net notice_id="1243331"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-14T14:52:03+00:00</published> + <updated>2016-03-14T14:52:03+00:00</updated> + <thr:in-reply-to ref="tag:quitter.no,2016-03-14:noticeId=1243309:objectType=comment" href="https://quitter.no/notice/1243309"></thr:in-reply-to> + <link rel="related" href="https://quitter.no/notice/1243309"/> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-14:objectType=thread:nonce=46e8a2abc1839d01"/> + <ostatus:conversation>tag:quitter.no,2016-03-14:objectType=thread:nonce=46e8a2abc1839d01</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://quitter.no/user/7477"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1243331.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1243331.atom"/> + <statusnet:notice_info local_id="1243331" source="Qvitter"></statusnet:notice_info> +</entry> +</feed> diff --git a/spec/fixtures/requests/.host-meta.txt b/spec/fixtures/requests/.host-meta.txt new file mode 100644 index 000000000..b312b11fb --- /dev/null +++ b/spec/fixtures/requests/.host-meta.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Server: nginx/1.6.2 +Date: Sun, 20 Mar 2016 11:11:00 GMT +Content-Type: application/xrd+xml +Transfer-Encoding: chunked +Connection: keep-alive +Access-Control-Allow-Origin: * +Vary: Accept-Encoding,Cookie +Strict-Transport-Security: max-age=31536000; includeSubdomains; + +<?xml version="1.0" encoding="UTF-8"?> +<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0"> + <Link rel="lrdd" type="application/jrd+json" template="https://quitter.no/.well-known/webfinger?resource={uri}"/> + <Link rel="lrdd" type="application/json" template="https://quitter.no/.well-known/webfinger?resource={uri}"/> + <Link rel="lrdd" type="application/xrd+xml" template="https://quitter.no/.well-known/webfinger?resource={uri}"/> + <Link rel="http://apinamespace.org/oauth/access_token" href="https://quitter.no/api/oauth/access_token"/> + <Link rel="http://apinamespace.org/oauth/request_token" href="https://quitter.no/api/oauth/request_token"/> + <Link rel="http://apinamespace.org/oauth/authorize" href="https://quitter.no/api/oauth/authorize"/> +</XRD> diff --git a/spec/fixtures/requests/avatar.txt b/spec/fixtures/requests/avatar.txt new file mode 100644 index 000000000..d57b0984f --- /dev/null +++ b/spec/fixtures/requests/avatar.txt Binary files differdiff --git a/spec/fixtures/requests/feed.txt b/spec/fixtures/requests/feed.txt new file mode 100644 index 000000000..91eeb29bd --- /dev/null +++ b/spec/fixtures/requests/feed.txt @@ -0,0 +1,440 @@ +HTTP/1.1 200 OK +Server: nginx/1.6.2 +Date: Sun, 20 Mar 2016 11:15:03 GMT +Content-Type: application/atom+xml; charset=utf-8 +Transfer-Encoding: chunked +Connection: keep-alive +Access-Control-Allow-Origin: * +Vary: Accept-Encoding,Cookie +ETag: "ApiTimelineUser:0:en:7477:1458471931:1457967123" +Last-Modified: Sun, 20 Mar 2016 11:05:31 +0000 +Expires: Thu, 01 Jan 1970 00:00:00 GMT +Cache-Control: private, must-revalidate, max-age=0 +Pragma: +X-SUP-ID: https://quitter.no/main/sup +Strict-Transport-Security: max-age=31536000; includeSubdomains; + +<?xml version="1.0" encoding="UTF-8"?> +<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:georss="http://www.georss.org/georss" xmlns:activity="http://activitystrea.ms/spec/1.0/" xmlns:media="http://purl.org/syndication/atommedia" xmlns:poco="http://portablecontacts.net/spec/1.0" xmlns:ostatus="http://ostatus.org/schema/1.0" xmlns:statusnet="http://status.net/schema/api/1/"> + <generator uri="https://gnu.io/social" version="1.2.0-beta4">GNU social</generator> + <id>https://quitter.no/api/statuses/user_timeline/7477.atom</id> + <title>gargron timeline</title> + <subtitle>Updates from gargron on Quitter.no!</subtitle> + <logo>https://quitter.no/avatar/7477-96-20160211190340.png</logo> + <updated>2016-03-20T12:15:03+01:00</updated> +<author> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <uri>https://quitter.no/user/7477</uri> + <name>gargron</name> + <summary>Software engineer, free time musician and DIGITAL SPORTS enthusiast. Likes cats. Warning: May contain memes</summary> + <link rel="alternate" type="text/html" href="https://quitter.no/gargron"/> + <link rel="avatar" type="image/png" media:width="300" media:height="300" href="https://quitter.no/avatar/7477-300-20160211190340.png"/> + <link rel="avatar" type="image/png" media:width="96" media:height="96" href="https://quitter.no/avatar/7477-96-20160211190340.png"/> + <link rel="avatar" type="image/png" media:width="48" media:height="48" href="https://quitter.no/avatar/7477-48-20160211190449.png"/> + <link rel="avatar" type="image/png" media:width="24" media:height="24" href="https://quitter.no/avatar/7477-24-20160211190517.png"/> + <poco:preferredUsername>gargron</poco:preferredUsername> + <poco:displayName>DIGITAL CAT</poco:displayName> + <poco:note>Software engineer, free time musician and DIGITAL SPORTS enthusiast. Likes cats. Warning: May contain memes</poco:note> + <poco:address> + <poco:formatted>Germany</poco:formatted> + </poco:address> + <poco:urls> + <poco:type>homepage</poco:type> + <poco:value>https://zeonfederated.com</poco:value> + <poco:primary>true</poco:primary> + </poco:urls> + <followers url="https://quitter.no/gargron/subscribers"></followers> + <statusnet:profile_info local_id="7477"></statusnet:profile_info> +</author> + <link href="https://quitter.no/gargron" rel="alternate" type="text/html"/> + <link href="https://quitter.no/main/sup" rel="http://api.friendfeed.com/2008/03#sup" type="application/json"/> + <link href="https://quitter.no/api/statuses/user_timeline/7477.atom?max_id=1243309" rel="next" type="application/atom+xml"/> + <link href="https://quitter.no/main/push/hub" rel="hub"/> + <link href="https://quitter.no/main/salmon/user/7477" rel="salmon"/> + <link href="https://quitter.no/main/salmon/user/7477" rel="http://salmon-protocol.org/ns/salmon-replies"/> + <link href="https://quitter.no/main/salmon/user/7477" rel="http://salmon-protocol.org/ns/salmon-mention"/> + <link href="https://quitter.no/api/statuses/user_timeline/7477.atom" rel="self" type="application/atom+xml"/> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> + <id>tag:quitter.no,2016-03-20:noticeId=1276923:objectType=note</id> + <title>New note by gargron</title> + <content type="html">@<a href="https://cb6e6126.ngrok.io/users/catsrgr8" class="h-card mention">catsrgr8</a> this is a mention</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1276923"/> + <status_net notice_id="1276923"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-20T11:05:31+00:00</published> + <updated>2016-03-20T11:05:31+00:00</updated> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-20:objectType=thread:nonce=7c998112e39a6685"/> + <ostatus:conversation>tag:quitter.no,2016-03-20:objectType=thread:nonce=7c998112e39a6685</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://cb6e6126.ngrok.io/users/catsrgr8"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1276923.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1276923.atom"/> + <statusnet:notice_info local_id="1276923" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> + <id>tag:quitter.no,2016-03-19:noticeId=1273635:objectType=note</id> + <title>New note by gargron</title> + <content type="html">Just testing a thing.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1273635"/> + <status_net notice_id="1273635"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-19T20:35:53+00:00</published> + <updated>2016-03-19T20:35:53+00:00</updated> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-19:objectType=thread:nonce=c4a61886d5cad4c2"/> + <ostatus:conversation>tag:quitter.no,2016-03-19:objectType=thread:nonce=c4a61886d5cad4c2</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://mastodon.social/users/Gargron"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1273635.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1273635.atom"/> + <statusnet:notice_info local_id="1273635" source="web"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-19:noticeId=1272988:objectType=note</id> + <title>Delete</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> deleted notice <a href="https://quitter.no/notice/1272988">{{tag:quitter.no,2016-03-19:noticeId=1272988:objectType=note}}</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1273012"/> + <activity:verb>delete</activity:verb> + <published>2016-03-19T18:16:58+00:00</published> + <updated>2016-03-19T18:16:58+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> + <id>tag:quitter.no,2016-03-19:noticeId=1272988:objectType=note</id> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-19:objectType=thread:nonce=7913e6b6256b6d0b"/> + <ostatus:conversation>tag:quitter.no,2016-03-19:objectType=thread:nonce=7913e6b6256b6d0b</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <activity:target> + <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> + <id>tag:quitter.no,2016-03-19:noticeId=1272988:objectType=note</id> + </activity:target> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1273012.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1273012.atom"/> + <statusnet:notice_info local_id="1273012" source="unknown"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-19:noticeId=1269381:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://mastodon.social/users/Gargron" class="h-card mention" title="Eugen">gargron</a> I have to wonder if this will appear as a reply to the right status, and not just a mention.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1269381"/> + <status_net notice_id="1269381"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-19T00:10:14+00:00</published> + <updated>2016-03-19T00:10:14+00:00</updated> + <thr:in-reply-to ref="tag:mastodon.social,2016-03-18:objectId=60:objectType=Status" href="https://quitter.no/notice/1269244"></thr:in-reply-to> + <link rel="related" href="https://quitter.no/notice/1269244"/> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-18:objectType=thread:nonce=d05c6330fbe23fb9"/> + <ostatus:conversation>tag:quitter.no,2016-03-18:objectType=thread:nonce=d05c6330fbe23fb9</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://mastodon.social/users/Gargron"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1269381.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1269381.atom"/> + <statusnet:notice_info local_id="1269381" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-18:noticeId=1265337:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://community.highlandarrow.com/user/1" class="h-card mention" title="Maiyannah Bishop">maiyannah</a> Plus, Android can hardly be considered free software given how many proprietary blobs are used. I'm speaking as a disappointed Android user.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1265337"/> + <status_net notice_id="1265337"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-18T10:01:50+00:00</published> + <updated>2016-03-18T10:01:50+00:00</updated> + <thr:in-reply-to ref="tag:quitter.no,2016-03-18:noticeId=1265331:objectType=comment" href="https://quitter.no/notice/1265331"></thr:in-reply-to> + <link rel="related" href="https://quitter.no/notice/1265331"/> + <link rel="ostatus:conversation" href="tag:community.highlandarrow.com,2016-03-18:objectType=thread:nonce=d61438407b882959"/> + <ostatus:conversation>tag:community.highlandarrow.com,2016-03-18:objectType=thread:nonce=d61438407b882959</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://quitter.no/user/7477"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://community.highlandarrow.com/user/1"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1265337.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1265337.atom"/> + <statusnet:notice_info local_id="1265337" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-18:noticeId=1265331:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://community.highlandarrow.com/user/1" class="h-card mention" title="Maiyannah Bishop">maiyannah</a> Well as it turns out, Apple software is better than Android in terms of security, and Apple is fighting FBI while Google promised to build a messaging app that facilitates wire tapping. The whole free software thing should imo be considered a bonus and not overshadow other factors.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1265331"/> + <status_net notice_id="1265331"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-18T10:01:01+00:00</published> + <updated>2016-03-18T10:01:01+00:00</updated> + <thr:in-reply-to ref="tag:community.highlandarrow.com,2016-03-18:noticeId=54411:objectType=note" href="https://community.highlandarrow.com/notice/54411"></thr:in-reply-to> + <link rel="related" href="https://community.highlandarrow.com/notice/54411"/> + <link rel="ostatus:conversation" href="tag:community.highlandarrow.com,2016-03-18:objectType=thread:nonce=d61438407b882959"/> + <ostatus:conversation>tag:community.highlandarrow.com,2016-03-18:objectType=thread:nonce=d61438407b882959</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://community.highlandarrow.com/user/1"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1265331.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1265331.atom"/> + <statusnet:notice_info local_id="1265331" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-17:noticeId=1261358:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://community.highlandarrow.com/user/1" class="h-card mention" title="Maiyannah Bishop">maiyannah</a> @<a href="https://gs.kawa-kun.com/user/2" class="h-card mention" title="&#x7AF9;&#x4E0B;&#x61B2;&#x4E8C;">takeshitakenji</a> There is a reason that was deprecated and we don't use tables to design websites anymore. HTML needs to be semantic, i.e. tags need to describe the *kind* of content, not how it should *look*, which is a responsibility delegated to CSS. There are so many upsides to this separation of concerns, should I start listing?</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1261358"/> + <status_net notice_id="1261358"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-17T17:00:26+00:00</published> + <updated>2016-03-17T17:00:26+00:00</updated> + <thr:in-reply-to ref="tag:community.highlandarrow.com,2016-03-17:noticeId=53857:objectType=comment" href="https://community.highlandarrow.com/notice/53857"></thr:in-reply-to> + <link rel="related" href="https://community.highlandarrow.com/notice/53857"/> + <link rel="ostatus:conversation" href="tag:gs.kawa-kun.com,2016-03-17:objectType=thread:nonce=a83963573a0520f1"/> + <ostatus:conversation>tag:gs.kawa-kun.com,2016-03-17:objectType=thread:nonce=a83963573a0520f1</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://community.highlandarrow.com/user/1"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://gs.kawa-kun.com/user/2"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1261358.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1261358.atom"/> + <statusnet:notice_info local_id="1261358" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T21:24:13+01:00</id> + <title>DIGITAL CAT (gargron)'s status on Wednesday, 16-Mar-2016 21:24:13 CET</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256972"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T20:24:13+00:00</published> + <updated>2016-03-16T20:24:13+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>https://mastodon.social/users/Gargron</id> + <title>Eugen</title> + <summary>Software engineer, free time musician and DIGITAL SPORTS enthusiast. Likes cats. Warning: May contain memes</summary> + <link rel="alternate" type="text/html" href="https://mastodon.social/users/Gargron"/> + <link rel="avatar" type="image/gif" media:width="96" media:height="96" href="https://quitter.no/avatar/15743-original-20160316180410.gif"/> + <link rel="avatar" type="image/gif" media:width="96" media:height="96" href="https://quitter.no/avatar/15743-original-20160316180410.gif"/> + <link rel="avatar" type="image/gif" media:width="48" media:height="48" href="https://quitter.no/avatar/15743-48-20160316180416.gif"/> + <link rel="avatar" type="image/gif" media:width="24" media:height="24" href="https://quitter.no/avatar/15743-24-20160316180416.gif"/> + <poco:preferredUsername>gargron</poco:preferredUsername> + <poco:displayName>Eugen</poco:displayName> + <poco:note>Software engineer, free time musician and DIGITAL SPORTS enthusiast. Likes cats. Warning: May contain memes</poco:note> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=073bda8223dfcaa7"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=073bda8223dfcaa7</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256972.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256972.atom"/> + <statusnet:notice_info local_id="1256972" source="activity"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T21:22:38+01:00</id> + <title></title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256966"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T20:22:38+00:00</published> + <updated>2016-03-16T20:22:38+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T21:22:38+01:00</id> + <title>New person by gargron</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256966"/> + <status_net notice_id="1256966"></status_net> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=b157f676181e0ecd"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=b157f676181e0ecd</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256966.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256966.atom"/> + <statusnet:notice_info local_id="1256966" source="activity"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T21:16:14+01:00</id> + <title></title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256939"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T20:16:15+00:00</published> + <updated>2016-03-16T20:16:15+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T21:16:14+01:00</id> + <title>New person by gargron</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256939"/> + <status_net notice_id="1256939"></status_net> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=6a6ebd1ed6504a11"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=6a6ebd1ed6504a11</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256939.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256939.atom"/> + <statusnet:notice_info local_id="1256939" source="activity"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15750:2016-03-16T21:13:06+01:00</id> + <title></title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://acda7931.ngrok.io/users/catsrgr8">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256929"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T20:13:06+00:00</published> + <updated>2016-03-16T20:13:06+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15750:2016-03-16T21:13:06+01:00</id> + <title>New person by gargron</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://acda7931.ngrok.io/users/catsrgr8">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256929"/> + <status_net notice_id="1256929"></status_net> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=8f5f92443584e8f0"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=8f5f92443584e8f0</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256929.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256929.atom"/> + <statusnet:notice_info local_id="1256929" source="activity"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15750:2016-03-16T21:05:02+01:00</id> + <title></title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://acda7931.ngrok.io/users/catsrgr8">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256888"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T20:05:03+00:00</published> + <updated>2016-03-16T20:05:03+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15750:2016-03-16T21:05:02+01:00</id> + <title>New person by gargron</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://acda7931.ngrok.io/users/catsrgr8">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256888"/> + <status_net notice_id="1256888"></status_net> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=b630d235232fcff5"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=b630d235232fcff5</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256888.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256888.atom"/> + <statusnet:notice_info local_id="1256888" source="activity"></statusnet:notice_info> +</entry> +<entry> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T19:04:16+01:00</id> + <title></title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256253"/> + <activity:verb>http://activitystrea.ms/schema/1.0/follow</activity:verb> + <published>2016-03-16T18:04:16+00:00</published> + <updated>2016-03-16T18:04:16+00:00</updated> + <activity:object> + <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type> + <id>tag:quitter.no,2016-03-16:subscription:7477:person:15743:2016-03-16T19:04:16+01:00</id> + <title>New person by gargron</title> + <content type="html"><a href="https://quitter.no/gargron">DIGITAL CAT</a> started following <a href="https://mastodon.social/users/Gargron">Eugen</a>.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1256253"/> + <status_net notice_id="1256253"></status_net> + </activity:object> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-16:objectType=thread:nonce=40eb98e5f85c9908"/> + <ostatus:conversation>tag:quitter.no,2016-03-16:objectType=thread:nonce=40eb98e5f85c9908</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256253.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1256253.atom"/> + <statusnet:notice_info local_id="1256253" source="activity"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-15:noticeId=1251422:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://community.highlandarrow.com/user/1" class="h-card mention" title="Maiyannah Bishop">maiyannah</a> LGB, not LGBT?</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1251422"/> + <status_net notice_id="1251422"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-15T20:28:13+00:00</published> + <updated>2016-03-15T20:28:13+00:00</updated> + <thr:in-reply-to ref="tag:community.highlandarrow.com,2016-03-15:noticeId=51852:objectType=note" href="https://community.highlandarrow.com/notice/51852"></thr:in-reply-to> + <link rel="related" href="https://community.highlandarrow.com/notice/51852"/> + <link rel="ostatus:conversation" href="tag:community.highlandarrow.com,2016-03-15:objectType=thread:nonce=70ff6886d69e5225"/> + <ostatus:conversation>tag:community.highlandarrow.com,2016-03-15:objectType=thread:nonce=70ff6886d69e5225</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://community.highlandarrow.com/user/1"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1251422.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1251422.atom"/> + <statusnet:notice_info local_id="1251422" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-15:noticeId=1250742:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://social.umeahackerspace.se/user/2" class="h-card mention" title="&lt;Mikael &amp; Nordfeldth&gt;">mmn</a> I'm like reeeeally close to actually deploying the first production instance of Mastodon, but it bugs me that there's gonna be that issue with avatars and profiles not updating :(</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1250742"/> + <status_net notice_id="1250742"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-15T18:44:54+00:00</published> + <updated>2016-03-15T18:44:54+00:00</updated> + <thr:in-reply-to ref="tag:social.umeahackerspace.se,2016-03-15:noticeId=424348:objectType=comment" href="https://social.umeahackerspace.se/notice/424348"></thr:in-reply-to> + <link rel="related" href="https://social.umeahackerspace.se/notice/424348"/> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-15:objectType=thread:nonce=2fbd771270b5da80"/> + <ostatus:conversation>tag:quitter.no,2016-03-15:objectType=thread:nonce=2fbd771270b5da80</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://social.umeahackerspace.se/user/2"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1250742.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1250742.atom"/> + <statusnet:notice_info local_id="1250742" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> + <id>tag:quitter.no,2016-03-15:noticeId=1250653:objectType=note</id> + <title>New note by gargron</title> + <content type="html">@<a href="https://social.umeahackerspace.se/user/2" class="h-card mention" title="&lt;Mikael &amp; Nordfeldth&gt;">mmn</a> Any progress on the issues I created?</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1250653"/> + <status_net notice_id="1250653"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-15T18:27:00+00:00</published> + <updated>2016-03-15T18:27:00+00:00</updated> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-15:objectType=thread:nonce=2fbd771270b5da80"/> + <ostatus:conversation>tag:quitter.no,2016-03-15:objectType=thread:nonce=2fbd771270b5da80</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://social.umeahackerspace.se/user/2"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1250653.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1250653.atom"/> + <statusnet:notice_info local_id="1250653" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-14:noticeId=1243566:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">@<a href="https://community.highlandarrow.com/user/1" class="h-card mention" title="Maiyannah Bishop">maiyannah</a> I heard Piwik is also good.</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1243566"/> + <status_net notice_id="1243566"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-14T15:35:23+00:00</published> + <updated>2016-03-14T15:35:23+00:00</updated> + <thr:in-reply-to ref="tag:community.highlandarrow.com,2016-03-14:noticeId=50467:objectType=note" href="https://community.highlandarrow.com/notice/50467"></thr:in-reply-to> + <link rel="related" href="https://community.highlandarrow.com/notice/50467"/> + <link rel="ostatus:conversation" href="tag:community.highlandarrow.com,2016-03-14:objectType=thread:nonce=8fbf00e7f76866d3"/> + <ostatus:conversation>tag:community.highlandarrow.com,2016-03-14:objectType=thread:nonce=8fbf00e7f76866d3</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://community.highlandarrow.com/user/1"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1243566.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1243566.atom"/> + <statusnet:notice_info local_id="1243566" source="Qvitter"></statusnet:notice_info> +</entry> +<entry> + <activity:object-type>http://activitystrea.ms/schema/1.0/comment</activity:object-type> + <id>tag:quitter.no,2016-03-14:noticeId=1243331:objectType=comment</id> + <title>New comment by gargron</title> + <content type="html">I do wish I had somebody else partake in the development process if only to give me feedback on my decisions</content> + <link rel="alternate" type="text/html" href="https://quitter.no/notice/1243331"/> + <status_net notice_id="1243331"></status_net> + <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> + <published>2016-03-14T14:52:03+00:00</published> + <updated>2016-03-14T14:52:03+00:00</updated> + <thr:in-reply-to ref="tag:quitter.no,2016-03-14:noticeId=1243309:objectType=comment" href="https://quitter.no/notice/1243309"></thr:in-reply-to> + <link rel="related" href="https://quitter.no/notice/1243309"/> + <link rel="ostatus:conversation" href="tag:quitter.no,2016-03-14:objectType=thread:nonce=46e8a2abc1839d01"/> + <ostatus:conversation>tag:quitter.no,2016-03-14:objectType=thread:nonce=46e8a2abc1839d01</ostatus:conversation> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="https://quitter.no/user/7477"/> + <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> + <link rel="self" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1243331.atom"/> + <link rel="edit" type="application/atom+xml" href="https://quitter.no/api/statuses/show/1243331.atom"/> + <statusnet:notice_info local_id="1243331" source="Qvitter"></statusnet:notice_info> +</entry> +</feed> diff --git a/spec/fixtures/requests/webfinger.txt b/spec/fixtures/requests/webfinger.txt new file mode 100644 index 000000000..edb8a2dbb --- /dev/null +++ b/spec/fixtures/requests/webfinger.txt @@ -0,0 +1,11 @@ +HTTP/1.1 200 OK +Server: nginx/1.6.2 +Date: Sun, 20 Mar 2016 11:13:16 GMT +Content-Type: application/jrd+json +Transfer-Encoding: chunked +Connection: keep-alive +Access-Control-Allow-Origin: * +Vary: Accept-Encoding,Cookie +Strict-Transport-Security: max-age=31536000; includeSubdomains; + +{"subject":"acct:gargron@quitter.no","aliases":["https:\/\/quitter.no\/user\/7477","https:\/\/quitter.no\/gargron","https:\/\/quitter.no\/index.php\/user\/7477","https:\/\/quitter.no\/index.php\/gargron"],"links":[{"rel":"http:\/\/webfinger.net\/rel\/profile-page","type":"text\/html","href":"https:\/\/quitter.no\/gargron"},{"rel":"http:\/\/gmpg.org\/xfn\/11","type":"text\/html","href":"https:\/\/quitter.no\/gargron"},{"rel":"describedby","type":"application\/rdf+xml","href":"https:\/\/quitter.no\/gargron\/foaf"},{"rel":"http:\/\/apinamespace.org\/atom","type":"application\/atomsvc+xml","href":"https:\/\/quitter.no\/api\/statusnet\/app\/service\/gargron.xml"},{"rel":"http:\/\/apinamespace.org\/twitter","href":"https:\/\/quitter.no\/api\/"},{"rel":"http:\/\/specs.openid.net\/auth\/2.0\/provider","href":"https:\/\/quitter.no\/gargron"},{"rel":"http:\/\/schemas.google.com\/g\/2010#updates-from","type":"application\/atom+xml","href":"https:\/\/quitter.no\/api\/statuses\/user_timeline\/7477.atom"},{"rel":"magic-public-key","href":"data:application\/magic-public-key,RSA.1ZBkHTavLvxH3FzlKv4O6WtlILKRFfNami3_Rcu8EuogtXSYiS-bB6hElZfUCSHbC4uLemOA34PEhz__CDMozax1iI_t8dzjDnh1x0iFSup7pSfW9iXk_WU3Dm74yWWW2jildY41vWgrEstuQ1dJ8vVFfSJ9T_tO4c-T9y8vDI8=.AQAB"},{"rel":"salmon","href":"https:\/\/quitter.no\/main\/salmon\/user\/7477"},{"rel":"http:\/\/salmon-protocol.org\/ns\/salmon-replies","href":"https:\/\/quitter.no\/main\/salmon\/user\/7477"},{"rel":"http:\/\/salmon-protocol.org\/ns\/salmon-mention","href":"https:\/\/quitter.no\/main\/salmon\/user\/7477"},{"rel":"http:\/\/ostatus.org\/schema\/1.0\/subscribe","template":"https:\/\/quitter.no\/main\/ostatussub?profile={uri}"}]} \ No newline at end of file diff --git a/spec/fixtures/salmon/mention.xml b/spec/fixtures/salmon/mention.xml new file mode 100644 index 000000000..4d387ad83 --- /dev/null +++ b/spec/fixtures/salmon/mention.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<me:env xmlns:me="http://salmon-protocol.org/ns/magic-env"><me:data type="application/atom+xml">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiID8-PGVudHJ5IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDA1L0F0b20iIHhtbG5zOnRocj0iaHR0cDovL3B1cmwub3JnL3N5bmRpY2F0aW9uL3RocmVhZC8xLjAiIHhtbG5zOmFjdGl2aXR5PSJodHRwOi8vYWN0aXZpdHlzdHJlYS5tcy9zcGVjLzEuMC8iIHhtbG5zOmdlb3Jzcz0iaHR0cDovL3d3dy5nZW9yc3Mub3JnL2dlb3JzcyIgeG1sbnM6b3N0YXR1cz0iaHR0cDovL29zdGF0dXMub3JnL3NjaGVtYS8xLjAiIHhtbG5zOnBvY289Imh0dHA6Ly9wb3J0YWJsZWNvbnRhY3RzLm5ldC9zcGVjLzEuMCIgeG1sbnM6bWVkaWE9Imh0dHA6Ly9wdXJsLm9yZy9zeW5kaWNhdGlvbi9hdG9tbWVkaWEiIHhtbG5zOnN0YXR1c25ldD0iaHR0cDovL3N0YXR1cy5uZXQvc2NoZW1hL2FwaS8xLyI-CiA8YWN0aXZpdHk6b2JqZWN0LXR5cGU-aHR0cDovL2FjdGl2aXR5c3RyZWEubXMvc2NoZW1hLzEuMC9ub3RlPC9hY3Rpdml0eTpvYmplY3QtdHlwZT4KIDxpZD50YWc6cXVpdHRlci5ubywyMDE2LTAzLTIwOm5vdGljZUlkPTEyNzY5MjM6b2JqZWN0VHlwZT1ub3RlPC9pZD4KIDx0aXRsZT5OZXcgbm90ZSBieSBnYXJncm9uPC90aXRsZT4KIDxjb250ZW50IHR5cGU9Imh0bWwiPkAmbHQ7YSBocmVmPSZxdW90O2h0dHBzOi8vY2I2ZTYxMjYubmdyb2suaW8vdXNlcnMvY2F0c3JncjgmcXVvdDsgY2xhc3M9JnF1b3Q7aC1jYXJkIG1lbnRpb24mcXVvdDsmZ3Q7Y2F0c3JncjgmbHQ7L2EmZ3Q7IHRoaXMgaXMgYSBtZW50aW9uPC9jb250ZW50PgogPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHR5cGU9InRleHQvaHRtbCIgaHJlZj0iaHR0cHM6Ly9xdWl0dGVyLm5vL25vdGljZS8xMjc2OTIzIi8-CiA8c3RhdHVzX25ldCBub3RpY2VfaWQ9IjEyNzY5MjMiPjwvc3RhdHVzX25ldD4KIDxhY3Rpdml0eTp2ZXJiPmh0dHA6Ly9hY3Rpdml0eXN0cmVhLm1zL3NjaGVtYS8xLjAvcG9zdDwvYWN0aXZpdHk6dmVyYj4KIDxwdWJsaXNoZWQ-MjAxNi0wMy0yMFQxMTowNTozMSswMDowMDwvcHVibGlzaGVkPgogPHVwZGF0ZWQ-MjAxNi0wMy0yMFQxMTowNTozMSswMDowMDwvdXBkYXRlZD4KIDxhdXRob3I-CiAgPGFjdGl2aXR5Om9iamVjdC10eXBlPmh0dHA6Ly9hY3Rpdml0eXN0cmVhLm1zL3NjaGVtYS8xLjAvcGVyc29uPC9hY3Rpdml0eTpvYmplY3QtdHlwZT4KICA8dXJpPmh0dHBzOi8vcXVpdHRlci5uby91c2VyLzc0Nzc8L3VyaT4KICA8bmFtZT5nYXJncm9uPC9uYW1lPgogIDxzdW1tYXJ5PlNvZnR3YXJlIGVuZ2luZWVyLCBmcmVlIHRpbWUgbXVzaWNpYW4gYW5kIO-8pO-8qe-8p--8qe-8tO-8oe-8rCDvvLPvvLDvvK_vvLLvvLTvvLMgZW50aHVzaWFzdC4gTGlrZXMgY2F0cy4gV2FybmluZzogTWF5IGNvbnRhaW4gbWVtZXM8L3N1bW1hcnk-CiAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHR5cGU9InRleHQvaHRtbCIgaHJlZj0iaHR0cHM6Ly9xdWl0dGVyLm5vL2dhcmdyb24iLz4KICA8bGluayByZWw9ImF2YXRhciIgdHlwZT0iaW1hZ2UvcG5nIiBtZWRpYTp3aWR0aD0iMzAwIiBtZWRpYTpoZWlnaHQ9IjMwMCIgaHJlZj0iaHR0cHM6Ly9xdWl0dGVyLm5vL2F2YXRhci83NDc3LTMwMC0yMDE2MDIxMTE5MDM0MC5wbmciLz4KICA8bGluayByZWw9ImF2YXRhciIgdHlwZT0iaW1hZ2UvcG5nIiBtZWRpYTp3aWR0aD0iOTYiIG1lZGlhOmhlaWdodD0iOTYiIGhyZWY9Imh0dHBzOi8vcXVpdHRlci5uby9hdmF0YXIvNzQ3Ny05Ni0yMDE2MDIxMTE5MDM0MC5wbmciLz4KICA8bGluayByZWw9ImF2YXRhciIgdHlwZT0iaW1hZ2UvcG5nIiBtZWRpYTp3aWR0aD0iNDgiIG1lZGlhOmhlaWdodD0iNDgiIGhyZWY9Imh0dHBzOi8vcXVpdHRlci5uby9hdmF0YXIvNzQ3Ny00OC0yMDE2MDIxMTE5MDQ0OS5wbmciLz4KICA8bGluayByZWw9ImF2YXRhciIgdHlwZT0iaW1hZ2UvcG5nIiBtZWRpYTp3aWR0aD0iMjQiIG1lZGlhOmhlaWdodD0iMjQiIGhyZWY9Imh0dHBzOi8vcXVpdHRlci5uby9hdmF0YXIvNzQ3Ny0yNC0yMDE2MDIxMTE5MDUxNy5wbmciLz4KICA8cG9jbzpwcmVmZXJyZWRVc2VybmFtZT5nYXJncm9uPC9wb2NvOnByZWZlcnJlZFVzZXJuYW1lPgogIDxwb2NvOmRpc3BsYXlOYW1lPu-8pO-8qe-8p--8qe-8tO-8oe-8rCDvvKPvvKHvvLQ8L3BvY286ZGlzcGxheU5hbWU-CiAgPHBvY286bm90ZT5Tb2Z0d2FyZSBlbmdpbmVlciwgZnJlZSB0aW1lIG11c2ljaWFuIGFuZCDvvKTvvKnvvKfvvKnvvLTvvKHvvKwg77yz77yw77yv77yy77y077yzIGVudGh1c2lhc3QuIExpa2VzIGNhdHMuIFdhcm5pbmc6IE1heSBjb250YWluIG1lbWVzPC9wb2NvOm5vdGU-CiAgPHBvY286YWRkcmVzcz4KICAgPHBvY286Zm9ybWF0dGVkPkdlcm1hbnk8L3BvY286Zm9ybWF0dGVkPgogIDwvcG9jbzphZGRyZXNzPgogIDxwb2NvOnVybHM-CiAgIDxwb2NvOnR5cGU-aG9tZXBhZ2U8L3BvY286dHlwZT4KICAgPHBvY286dmFsdWU-aHR0cHM6Ly96ZW9uZmVkZXJhdGVkLmNvbTwvcG9jbzp2YWx1ZT4KICAgPHBvY286cHJpbWFyeT50cnVlPC9wb2NvOnByaW1hcnk-CiAgPC9wb2NvOnVybHM-CiAgPGZvbGxvd2VycyB1cmw9Imh0dHBzOi8vcXVpdHRlci5uby9nYXJncm9uL3N1YnNjcmliZXJzIj48L2ZvbGxvd2Vycz4KICA8c3RhdHVzbmV0OnByb2ZpbGVfaW5mbyBsb2NhbF9pZD0iNzQ3NyI-PC9zdGF0dXNuZXQ6cHJvZmlsZV9pbmZvPgogPC9hdXRob3I-CiA8bGluayByZWw9Im9zdGF0dXM6Y29udmVyc2F0aW9uIiBocmVmPSJ0YWc6cXVpdHRlci5ubywyMDE2LTAzLTIwOm9iamVjdFR5cGU9dGhyZWFkOm5vbmNlPTdjOTk4MTEyZTM5YTY2ODUiLz4KIDxvc3RhdHVzOmNvbnZlcnNhdGlvbj50YWc6cXVpdHRlci5ubywyMDE2LTAzLTIwOm9iamVjdFR5cGU9dGhyZWFkOm5vbmNlPTdjOTk4MTEyZTM5YTY2ODU8L29zdGF0dXM6Y29udmVyc2F0aW9uPgogPGxpbmsgcmVsPSJtZW50aW9uZWQiIG9zdGF0dXM6b2JqZWN0LXR5cGU9Imh0dHA6Ly9hY3Rpdml0eXN0cmVhLm1zL3NjaGVtYS8xLjAvcGVyc29uIiBocmVmPSJodHRwczovL2NiNmU2MTI2Lm5ncm9rLmlvL3VzZXJzL2NhdHNyZ3I4Ii8-CiA8bGluayByZWw9Im1lbnRpb25lZCIgb3N0YXR1czpvYmplY3QtdHlwZT0iaHR0cDovL2FjdGl2aXR5c3RyZWEubXMvc2NoZW1hLzEuMC9jb2xsZWN0aW9uIiBocmVmPSJodHRwOi8vYWN0aXZpdHlzY2hlbWEub3JnL2NvbGxlY3Rpb24vcHVibGljIi8-CiA8c291cmNlPgogIDxpZD5odHRwczovL3F1aXR0ZXIubm8vYXBpL3N0YXR1c2VzL3VzZXJfdGltZWxpbmUvNzQ3Ny5hdG9tPC9pZD4KICA8dGl0bGU-77yk77yp77yn77yp77y077yh77ysIO-8o--8oe-8tDwvdGl0bGU-CiAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHR5cGU9InRleHQvaHRtbCIgaHJlZj0iaHR0cHM6Ly9xdWl0dGVyLm5vL2dhcmdyb24iLz4KICA8bGluayByZWw9InNlbGYiIHR5cGU9ImFwcGxpY2F0aW9uL2F0b20reG1sIiBocmVmPSJodHRwczovL3F1aXR0ZXIubm8vYXBpL3N0YXR1c2VzL3VzZXJfdGltZWxpbmUvNzQ3Ny5hdG9tIi8-CiAgPGxpbmsgcmVsPSJsaWNlbnNlIiBocmVmPSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLyIvPgogIDxpY29uPmh0dHBzOi8vcXVpdHRlci5uby9hdmF0YXIvNzQ3Ny05Ni0yMDE2MDIxMTE5MDM0MC5wbmc8L2ljb24-CiAgPHVwZGF0ZWQ-MjAxNi0wMy0yMFQxMTowNTozMSswMDowMDwvdXBkYXRlZD4KIDwvc291cmNlPgogPGxpbmsgcmVsPSJzZWxmIiB0eXBlPSJhcHBsaWNhdGlvbi9hdG9tK3htbCIgaHJlZj0iaHR0cHM6Ly9xdWl0dGVyLm5vL2FwaS9zdGF0dXNlcy9zaG93LzEyNzY5MjMuYXRvbSIvPgogPGxpbmsgcmVsPSJlZGl0IiB0eXBlPSJhcHBsaWNhdGlvbi9hdG9tK3htbCIgaHJlZj0iaHR0cHM6Ly9xdWl0dGVyLm5vL2FwaS9zdGF0dXNlcy9zaG93LzEyNzY5MjMuYXRvbSIvPgogPHN0YXR1c25ldDpub3RpY2VfaW5mbyBsb2NhbF9pZD0iMTI3NjkyMyIgc291cmNlPSJRdml0dGVyIj48L3N0YXR1c25ldDpub3RpY2VfaW5mbz4KPC9lbnRyeT4K</me:data><me:encoding>base64url</me:encoding><me:alg>RSA-SHA256</me:alg><me:sig>XOSdsku4Tq6zLxmOv0KtTpyG-UKOnlYzEoDXyPl_lkZzcZYm8Jc7ao50swJE1NFIw4uW8PfTTlqnz0pC62MVOVRxOUtiPTTJicux5W__HWf0j_ymUre87VF0Wdt1BoZYR9HeLnx2SGALDc6_ib-eabHA0O3AtSdm0JLq2pprtpA=</me:sig></me:env> diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 52c76d0da..cf21bcd8d 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -19,3 +19,7 @@ RSpec.configure do |config| config.include Devise::TestHelpers, type: :controller config.include Devise::TestHelpers, type: :view end + +def request_fixture(name) + File.read(File.join(Rails.root, 'spec', 'fixtures', 'requests', name)) +end |