Files
Jupiter_Downloader-2.0/downloader/downloader_test.go
2024-11-03 13:41:17 +02:00

57 lines
1.2 KiB
Go

package downloader_test
import (
"jupiter_downloader/downloader"
"net/http"
"testing"
)
func TestIdExtract(t *testing.T) {
testUrl := "https://jupiter.err.ee/1038278/aktuaalne-kaamera"
expectedId := "1038278"
actual := downloader.ExtractContentId(testUrl)
if expectedId != actual {
t.Fatalf("Expected %s, got %s", expectedId, actual)
}
}
func TestGetContentPageData(t *testing.T) {
testUrl := "https://jupiter.err.ee/1038278/aktuaalne-kaamera"
id := downloader.ExtractContentId(testUrl)
data := downloader.GetContentPageData(id)
medias := data.Data.MainContent.Medias
if len(medias) == 0 {
t.Fatalf("Expected medias to contain items, got 0")
}
for _, media := range medias {
file := media.Src.File
if len(file) == 0 {
t.Fatalf("Invalid file name gotten")
}
t.Logf("Media is %s", media.Src.File)
}
}
func TestDownloadUrl(t *testing.T) {
testUrl := "https://jupiter.err.ee/1038278/aktuaalne-kaamera"
id := downloader.ExtractContentId(testUrl)
data := downloader.GetContentPageData(id)
url := downloader.GetDownloadUrl(data)
resp, err := http.Get(url)
if err != nil {
t.Fatal(err)
}
if resp.StatusCode != http.StatusOK {
t.Fatalf("bad status: %s", resp.Status)
}
}