refactor & added unit test

refactored ResolveDownloadURL and DownloadSong