aur_test.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package download
  2. import (
  3. "net/http"
  4. "net/http/httptest"
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestGetAURPkgbuild(t *testing.T) {
  9. pkgBuildHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  10. w.WriteHeader(200)
  11. w.Write([]byte(gitExtrasPKGBUILD))
  12. })
  13. notFoundHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  14. w.WriteHeader(404)
  15. })
  16. PKGBuild := httptest.NewServer(pkgBuildHandler)
  17. type args struct {
  18. handler http.Handler
  19. pkgName string
  20. }
  21. tests := []struct {
  22. name string
  23. args args
  24. want string
  25. wantErr bool
  26. }{
  27. {
  28. name: "found package",
  29. args: args{
  30. handler: pkgBuildHandler,
  31. pkgName: "git-extras",
  32. },
  33. want: gitExtrasPKGBUILD,
  34. wantErr: false,
  35. },
  36. {
  37. name: "not found package",
  38. args: args{
  39. handler: notFoundHandler,
  40. pkgName: "git-extras",
  41. },
  42. want: "",
  43. wantErr: true,
  44. },
  45. }
  46. for _, tt := range tests {
  47. t.Run(tt.name, func(t *testing.T) {
  48. AURPackageURL = PKGBuild.URL
  49. PKGBuild.Config.Handler = tt.args.handler
  50. got, err := GetAURPkgbuild(PKGBuild.Client(), tt.args.pkgName)
  51. if tt.wantErr {
  52. assert.Error(t, err)
  53. } else {
  54. assert.NoError(t, err)
  55. }
  56. assert.Equal(t, tt.want, string(got))
  57. })
  58. }
  59. }