module IqdbTestHelper def mock_iqdb_service! mock_sqs_service = Class.new do def initialize @commands = [] end def commands @commands end def send_message(msg) @commands << msg.split(/\n/).first end end service = mock_sqs_service.new Post.stubs(:iqdb_sqs_service).returns(service) Post.stubs(:iqdb_enabled?).returns(true) Danbooru.config.stubs(:iqdbs_auth_key).returns("hunter2") Danbooru.config.stubs(:iqdbs_server).returns("http://localhost:3004") end def mock_iqdb_matches!(post_or_source, matches) source = post_or_source.is_a?(Post) ? post_or_source.complete_preview_file_url : post_or_source url = "http://localhost:3004/similar?key=hunter2&url=#{CGI.escape source}&ref" body = matches.map { |post| { post_id: post.id } }.to_json stub_request(:get, url).to_return(body: body) end end