From 3560bbbd47801c3729075dde54a6415b2a53c0a3 Mon Sep 17 00:00:00 2001 From: evazion Date: Tue, 13 Jun 2017 01:13:13 -0500 Subject: [PATCH] pawoo: don't return bogus artists when artist finder doesn't find a match. --- app/models/artist.rb | 1 + test/unit/artist_test.rb | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/app/models/artist.rb b/app/models/artist.rb index 3e9b436a5..152ca48d7 100644 --- a/app/models/artist.rb +++ b/app/models/artist.rb @@ -48,6 +48,7 @@ class Artist < ApplicationRecord break if url =~ /(?:data|media)\.tumblr\.com\/[a-z0-9]+\/$/i break if url =~ /deviantart\.net\//i break if url =~ %r!\Ahttps?://(?:mobile\.)?twitter\.com/\Z!i + break if url =~ %r!pawoo\.net/(?:web/)?$!i end artists.inject({}) {|h, x| h[x.name] = x; h}.values.slice(0, 20) diff --git a/test/unit/artist_test.rb b/test/unit/artist_test.rb index 5e4f703c8..7cd5f06ba 100644 --- a/test/unit/artist_test.rb +++ b/test/unit/artist_test.rb @@ -291,6 +291,25 @@ class ArtistTest < ActiveSupport::TestCase end end + context "when finding pawoo artists" do + setup do + FactoryGirl.create(:artist, :name => "evazion", :url_string => "https://pawoo.net/@evazion") + FactoryGirl.create(:artist, :name => "yasumo01", :url_string => "https://pawoo.net/web/accounts/28816") + end + + should "find the artist" do + assert_artist_found("evazion", "https://pawoo.net/@evazion/19451018") + assert_artist_found("evazion", "https://pawoo.net/web/statuses/19451018") + assert_artist_found("yasumo01", "https://pawoo.net/@yasumo01/222337") + assert_artist_found("yasumo01", "https://pawoo.net/web/statuses/222337") + end + + should "return nothing for unknown pawoo sources" do + assert_artist_not_found("https://pawoo.net/@9ed00e924818/1202176") + assert_artist_not_found("https://pawoo.net/web/statuses/1202176") + end + end + should "normalize its other names" do artist = FactoryGirl.create(:artist, :name => "a1", :other_names_comma => "aaa, bbb, ccc ddd") assert_equal("aaa, bbb, ccc_ddd", artist.other_names_comma)