release_test.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package gorm_test
  2. import (
  3. "testing"
  4. "github.com/porter-dev/porter/internal/models"
  5. orm "gorm.io/gorm"
  6. )
  7. func TestCreateRelease(t *testing.T) {
  8. tester := &tester{
  9. dbFileName: "./porter_create_release.db",
  10. }
  11. setupTestEnv(tester, t)
  12. defer cleanup(tester, t)
  13. release := &models.Release{
  14. Name: "denver-meister-dakota",
  15. Namespace: "default",
  16. ProjectID: 1,
  17. ClusterID: 1,
  18. WebhookToken: "abcdefgh",
  19. }
  20. release, err := tester.repo.Release.CreateRelease(release)
  21. if err != nil {
  22. t.Fatalf("%v\n", err)
  23. }
  24. release, err = tester.repo.Release.ReadRelease(1, release.Name, release.Namespace)
  25. if err != nil {
  26. t.Fatalf("%v\n", err)
  27. }
  28. // make sure id and name are correct"
  29. if release.Model.ID != 1 {
  30. t.Errorf("incorrect release ID: expected %d, got %d\n", 1, release.Model.ID)
  31. }
  32. if release.Name != "denver-meister-dakota" {
  33. t.Errorf("incorrect project name: expected %s, got %s\n", "denver-meister-dakota", release.Name)
  34. }
  35. if release.WebhookToken != "abcdefgh" {
  36. t.Errorf("incorrect webhook token: expected %s, got %s\n", "abcdefgh", release.WebhookToken)
  37. }
  38. release, err = tester.repo.Release.ReadReleaseByWebhookToken(release.WebhookToken)
  39. if release.Name != "denver-meister-dakota" {
  40. t.Errorf("incorrect project name: expected %s, got %s\n", "denver-meister-dakota", release.Name)
  41. }
  42. }
  43. func TestDeleteRelease(t *testing.T) {
  44. tester := &tester{
  45. dbFileName: "./porter_delete_release.db",
  46. }
  47. setupTestEnv(tester, t)
  48. defer cleanup(tester, t)
  49. release := &models.Release{
  50. Name: "denver-meister-dakota",
  51. Namespace: "default",
  52. ProjectID: 1,
  53. ClusterID: 1,
  54. WebhookToken: "abcdefgh",
  55. }
  56. release, err := tester.repo.Release.CreateRelease(release)
  57. if err != nil {
  58. t.Fatalf("%v\n", err)
  59. }
  60. release, err = tester.repo.Release.ReadRelease(1, release.Name, release.Namespace)
  61. if err != nil {
  62. t.Fatalf("%v\n", err)
  63. }
  64. _, err = tester.repo.Release.DeleteRelease(release)
  65. if err != nil {
  66. t.Fatalf("%v\n", err)
  67. }
  68. _, err = tester.repo.Release.ReadRelease(1, release.Name, release.Namespace)
  69. if err != orm.ErrRecordNotFound {
  70. t.Fatalf("incorrect error: expected %v, got %v\n", orm.ErrRecordNotFound, err)
  71. }
  72. }