package data import ( "testing" ) func TestYouTube(t *testing.T) { validUrls := []string{ "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "http://youtube.com/watch?v=dQw4w9WgXcQ", "https://youtu.be/dQw4w9WgXcQ", "www.youtube.com/watch?v=dQw4w9WgXcQ", "youtube.com/watch?v=dQw4w9WgXcQ", "youtu.be/dQw4w9WgXcQ", "https://www.youtube.com/embed/dQw4w9WgXcQ", "https://www.youtube.com/v/dQw4w9WgXcQ", "https://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ", "https://m.youtube.com/watch?v=dQw4w9WgXcQ", } invalidUrls := []string{ "invalid.url", "https://example.com/notyoutube", } st := GetSourceType("Youtube") for _, u := range validUrls { _, err := st.NewSource(u) if err != nil { t.Errorf(`%q is a valid YouTube url`, u) } } for _, u := range invalidUrls { _, err := st.NewSource(u) if err == nil { t.Errorf(`%q is an invalid YouTube url`, u) } } } func TestMusify(t *testing.T) { validUrls := []string{ "https://musify.club/artist/plohoyparen-645023", "https://musify.club/track/plohoyparen-obgon-dve-sploshnie-poh-voobshe-9769231", "https://musify.club/release/plohoyparen-hello-my-name-2018-1029885", "https://musify.clUb/Release/plohoyParen-hello-my-name-2018-1029885", } invalidUrls := []string{ "https://musify.club/", "https://musify.club/not-data-type", "https://m.youtube.com/watch?v=dQw4w9WgXcQ", } st := GetSourceType("Musify") for _, u := range validUrls { _, err := st.NewSource(u) if err != nil { t.Errorf(`%q is a valid musify url`, u) } } for _, u := range invalidUrls { _, err := st.NewSource(u) if err == nil { t.Errorf(`%q is an invalid musify url`, u) } } }