diff --git a/app/logical/iqdb_client.rb b/app/logical/iqdb_client.rb index b4e8a45c7..ef7965800 100644 --- a/app/logical/iqdb_client.rb +++ b/app/logical/iqdb_client.rb @@ -16,6 +16,10 @@ class IqdbClient @http = http end + def enabled? + iqdb_url.present? + end + concerning :QueryMethods do # Search for an image by file, URL, hash, or post ID. def search(post_id: nil, media_asset_id: nil, file: nil, hash: nil, url: nil, image_url: nil, file_url: nil, similarity: 0.0, high_similarity: 65.0, limit: 20) @@ -85,7 +89,7 @@ class IqdbClient # Add a post to IQDB. # @param post [Post] the post to add def add_post(post) - return unless post.has_preview? + return unless enabled? && post.has_preview? preview_file = post.file(:preview) add(post.id, preview_file) end @@ -125,7 +129,7 @@ class IqdbClient # @param url [String] the IQDB url # @param options [Hash] the URL params to send def request(method, url, **options) - return [] if iqdb_url.blank? # do nothing if iqdb isn't configured + return [] if !enabled? response = http.timeout(30).send(method, "#{iqdb_url}/#{url}", **options) raise Error, "IQDB error: #{response.parse}" if response.status != 200 response.parse diff --git a/test/functional/post_regenerations_controller_test.rb b/test/functional/post_regenerations_controller_test.rb index 281472aba..e0ecdd79e 100644 --- a/test/functional/post_regenerations_controller_test.rb +++ b/test/functional/post_regenerations_controller_test.rb @@ -4,8 +4,7 @@ class PostRegenerationsControllerTest < ActionDispatch::IntegrationTest context "The post regenerations controller" do setup do @mod = create(:moderator_user, name: "yukari", created_at: 1.month.ago) - @upload = assert_successful_upload("test/files/test.jpg", user: @mod) - @post = @upload.post + @post = create(:post_with_file, filename: "test.jpg") perform_enqueued_jobs # add post to iqdb end @@ -60,8 +59,7 @@ class PostRegenerationsControllerTest < ActionDispatch::IntegrationTest end should "fix the width and height of exif-rotated images" do - @upload = assert_successful_upload("test/files/test-rotation-90cw.jpg", user: @mod) - @post = @upload.post + @post = create(:post_with_file, filename: "test-rotation-90cw.jpg") post_auth post_regenerations_path, @mod, params: { post_id: @post.id } perform_enqueued_jobs diff --git a/test/unit/ip_geolocation_test.rb b/test/unit/ip_geolocation_test.rb index c987c549d..b2e9e99a2 100644 --- a/test/unit/ip_geolocation_test.rb +++ b/test/unit/ip_geolocation_test.rb @@ -57,13 +57,13 @@ class IpGeolocationTest < ActiveSupport::TestCase should "work for a proxy IP" do @ip = IpGeolocation.create_or_update!("31.214.184.59") - assert_equal("Soluciones Corporativas IP, SL", @ip.organization) + assert_match(/Soluciones Corporativas IP, SL/i, @ip.organization.downcase) assert_equal(true, @ip.is_proxy?) end should "work for a cloud hosting IP" do @ip = IpGeolocation.create_or_update!("157.230.244.215") - assert_equal("DigitalOcean, LLC", @ip.organization) + assert_match(/DigitalOcean, LLC/i, @ip.organization) assert_equal(true, @ip.is_proxy?) end diff --git a/test/unit/sources/skeb_test.rb b/test/unit/sources/skeb_test.rb index 265132695..83856bde9 100644 --- a/test/unit/sources/skeb_test.rb +++ b/test/unit/sources/skeb_test.rb @@ -84,7 +84,7 @@ module Sources context "A post with a video" do should "get it correctly" do site = Sources::Strategies.find("https://skeb.jp/@kaisouafuro/works/112") - assert_equal(site.image_url, "https://skeb-production.s3.ap-northeast-1.amazonaws.com/uploads/outputs/20f9d68f-50ec-44ae-8630-173fc38a2d6a?response-content-disposition=attachment%3B%20filename%3D%22458093-1.output.mp4%22%3B%20filename%2A%3DUTF-8%27%27458093-1.output.mp4&response-content-type=video%2Fmp4&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIVPUTFQBBL7UDSUA%2F20220113%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-Date=20220113T141927Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=260c90b0755d894493fef478f806ac3fac0b94f4c8efb3df4f4f2a98309d09f0") + assert_match(%r{\Ahttps://skeb-production.s3.ap-northeast-1.amazonaws.com/uploads/outputs/20f9d68f-50ec-44ae-8630-173fc38a2d6a\?response-content-disposition=attachment%3B%20filename%3D%22458093-1.output.mp4%22%3B%20filename%2A%3DUTF-8%27%27458093-1.output.mp4&response-content-type=video%2Fmp4&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=.*&X-Amz-Date=.*&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=.*}, site.image_url) end end