publisher_test.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package main
  2. import "testing"
  3. func TestNewRelease(t *testing.T) {
  4. versionIn := "v5.2.0-beta1"
  5. expectedVersion := "5.2.0-beta1"
  6. whatsNewUrl := "https://whatsnews.foo/"
  7. relNotesUrl := "https://relnotes.foo/"
  8. expectedArch := "amd64"
  9. expectedOs := "linux"
  10. buildArtifacts := []buildArtifact{{expectedOs, expectedArch, ".linux-amd64.tar.gz"}}
  11. rel, _ := newRelease(versionIn, whatsNewUrl, relNotesUrl, buildArtifacts, mockHttpGetter{})
  12. if !rel.Beta || rel.Stable {
  13. t.Errorf("%s should have been tagged as beta (not stable), but wasn't .", versionIn)
  14. }
  15. if rel.Version != expectedVersion {
  16. t.Errorf("Expected version to be %s, but it was %s.", expectedVersion, rel.Version)
  17. }
  18. expectedBuilds := len(buildArtifacts)
  19. if len(rel.Builds) != expectedBuilds {
  20. t.Errorf("Expected %v builds, but got %v.", expectedBuilds, len(rel.Builds))
  21. }
  22. build := rel.Builds[0]
  23. if build.Arch != expectedArch {
  24. t.Errorf("Expected arch to be %v, but it was %v", expectedArch, build.Arch)
  25. }
  26. if build.Os != expectedOs {
  27. t.Errorf("Expected arch to be %v, but it was %v", expectedOs, build.Os)
  28. }
  29. }
  30. type mockHttpGetter struct{}
  31. func (mockHttpGetter) getContents(url string) (string, error) {
  32. return url, nil
  33. }