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) } } }