git_action_config_test.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package gorm_test
  2. import (
  3. "testing"
  4. "github.com/go-test/deep"
  5. "github.com/porter-dev/porter/internal/models"
  6. orm "gorm.io/gorm"
  7. )
  8. func TestCreateGitActionConfig(t *testing.T) {
  9. tester := &tester{
  10. dbFileName: "./porter_create_ga.db",
  11. }
  12. setupTestEnv(tester, t)
  13. initUser(tester, t)
  14. initProject(tester, t)
  15. initRelease(tester, t)
  16. defer cleanup(tester, t)
  17. ga := &models.GitActionConfig{
  18. ReleaseID: 1,
  19. GitRepo: "porter-dev/porter",
  20. ImageRepoURI: "gcr.io/project-123456/nginx",
  21. GithubInstallationID: 1,
  22. Version: "v0.0.1",
  23. }
  24. expGA := *ga
  25. ga, err := tester.repo.GitActionConfig().CreateGitActionConfig(ga)
  26. if err != nil {
  27. t.Fatalf("%v\n", err)
  28. }
  29. ga, err = tester.repo.GitActionConfig().ReadGitActionConfig(ga.Model.ID)
  30. if err != nil {
  31. t.Fatalf("%v\n", err)
  32. }
  33. // make sure id is 1
  34. if ga.Model.ID != 1 {
  35. t.Errorf("incorrect git repo ID: expected %d, got %d\n", 1, ga.Model.ID)
  36. }
  37. // reset fields for reflect.DeepEqual
  38. ga.Model = orm.Model{}
  39. if diff := deep.Equal(&expGA, ga); diff != nil {
  40. t.Errorf("incorrect git action config")
  41. t.Error(diff)
  42. }
  43. // read the release and make sure GitActionConfig is expected
  44. release, err := tester.repo.Release().ReadRelease(1, "denver-meister-dakota", "default")
  45. if err != nil {
  46. t.Fatalf("%v\n", err)
  47. }
  48. gotReleaseGA := release.GitActionConfig
  49. gotReleaseGA.Model = orm.Model{}
  50. if diff := deep.Equal(&expGA, gotReleaseGA); diff != nil {
  51. t.Errorf("incorrect git action config")
  52. t.Error(diff)
  53. }
  54. }