//
// ConvertURLTest.swift
// ShazamExtractor
//
// Created by 윤동주 on 11/1/24.
//
import Foundation
@testable import ShazamExtractor
import Testing
struct ConvertURLTest {
@Test("Extract YouTube Video as External Audio URL",
arguments: [
"https://www.youtube.com/watch?v=4HZ8wh2MMpQ",
"https://www.youtube.com/watch?v=YyY1T6IkOYg",
"https://www.youtube.com/watch?v=Ngrety1u_Tk",
])
func extract_youtube_video_as_external_audio_url(youtubeURLString: String) async throws {
guard let externalURL = try await URLConverter(urlString: youtubeURLString).convert() else {
throw SqooperError.urlConverterError
}
func isAudioURL(_ url: URL) -> Bool {
guard let urlComponents = URLComponents(url: externalURL, resolvingAgainstBaseURL: false) else {
return false
}
// URL 쿼리 아이템에서 mime 값을 찾음
if let mimeType = urlComponents.queryItems?.first(where: { $0.name == "mime" })?.value {
return mimeType.hasPrefix("audio")
}
return false
}
#expect(isAudioURL(externalURL) == true)
}
}