dataset_test.go 1009 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package cwhub
  2. import (
  3. "os"
  4. "testing"
  5. "github.com/jarcoal/httpmock"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestDownloadFile(t *testing.T) {
  9. examplePath := "./example.txt"
  10. defer os.Remove(examplePath)
  11. httpmock.Activate()
  12. defer httpmock.DeactivateAndReset()
  13. //OK
  14. httpmock.RegisterResponder(
  15. "GET",
  16. "https://example.com/xx",
  17. httpmock.NewStringResponder(200, "example content oneoneone"),
  18. )
  19. httpmock.RegisterResponder(
  20. "GET",
  21. "https://example.com/x",
  22. httpmock.NewStringResponder(404, "not found"),
  23. )
  24. err := downloadFile("https://example.com/xx", examplePath)
  25. assert.NoError(t, err)
  26. content, err := os.ReadFile(examplePath)
  27. assert.Equal(t, "example content oneoneone", string(content))
  28. assert.NoError(t, err)
  29. //bad uri
  30. err = downloadFile("https://zz.com", examplePath)
  31. assert.Error(t, err)
  32. //404
  33. err = downloadFile("https://example.com/x", examplePath)
  34. assert.Error(t, err)
  35. //bad target
  36. err = downloadFile("https://example.com/xx", "")
  37. assert.Error(t, err)
  38. }