|
|
|
@ -28,4 +28,51 @@ describe Mastodon::CLI::Domains do
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe '#crawl' do
|
|
|
|
|
let(:action) { :crawl }
|
|
|
|
|
|
|
|
|
|
context 'with accounts from the domain' do
|
|
|
|
|
let(:domain) { 'host.example' }
|
|
|
|
|
|
|
|
|
|
before do
|
|
|
|
|
Fabricate(:account, domain: domain)
|
|
|
|
|
stub_request(:get, 'https://host.example/api/v1/instance').to_return(status: 200, body: {}.to_json)
|
|
|
|
|
stub_request(:get, 'https://host.example/api/v1/instance/peers').to_return(status: 200, body: {}.to_json)
|
|
|
|
|
stub_request(:get, 'https://host.example/api/v1/instance/activity').to_return(status: 200, body: {}.to_json)
|
|
|
|
|
stub_const('Mastodon::CLI::Domains::CRAWL_SLEEP_TIME', 0)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'with --format of summary' do
|
|
|
|
|
let(:options) { { format: 'summary' } }
|
|
|
|
|
|
|
|
|
|
it 'crawls the domains and summarizes results' do
|
|
|
|
|
expect { subject }
|
|
|
|
|
.to output_results('Visited 1 domains, 0 failed')
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'with --format of domains' do
|
|
|
|
|
let(:options) { { format: 'domains' } }
|
|
|
|
|
|
|
|
|
|
it 'crawls the domains and summarizes results' do
|
|
|
|
|
expect { subject }
|
|
|
|
|
.to output_results(domain)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'with --format of json' do
|
|
|
|
|
let(:options) { { format: 'json' } }
|
|
|
|
|
|
|
|
|
|
it 'crawls the domains and summarizes results' do
|
|
|
|
|
expect { subject }
|
|
|
|
|
.to output_results(json_summary)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def json_summary
|
|
|
|
|
Oj.dump('host.example': { activity: {} })
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|