| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package gorm_test
- import (
- "testing"
- "gorm.io/gorm"
- "github.com/go-test/deep"
- "github.com/porter-dev/porter/api/types"
- "github.com/porter-dev/porter/internal/models"
- )
- func TestCreateInfra(t *testing.T) {
- tester := &tester{
- dbFileName: "./porter_create_aws_infra.db",
- }
- setupTestEnv(tester, t)
- initProject(tester, t)
- defer cleanup(tester, t)
- infra := &models.Infra{
- Kind: types.InfraECR,
- ProjectID: tester.initProjects[0].Model.ID,
- Status: types.StatusCreated,
- }
- infra, err := tester.repo.Infra().CreateInfra(infra)
- if err != nil {
- t.Fatalf("%v\n", err)
- }
- infra, err = tester.repo.Infra().ReadInfra(tester.initProjects[0].Model.ID, infra.Model.ID)
- if err != nil {
- t.Fatalf("%v\n", err)
- }
- // make sure id is 1 and name is "ecr"
- if infra.Model.ID != 1 {
- t.Errorf("incorrect registry ID: expected %d, got %d\n", 1, infra.Model.ID)
- }
- if infra.Kind != types.InfraECR {
- t.Errorf("incorrect aws infra kind: expected %s, got %s\n", types.InfraECR, infra.Kind)
- }
- if infra.Status != types.StatusCreated {
- t.Errorf("incorrect aws infra status: expected %s, got %s\n", types.StatusCreated, infra.Status)
- }
- }
- func TestListInfrasByProjectID(t *testing.T) {
- tester := &tester{
- dbFileName: "./porter_list_aws_infras.db",
- }
- setupTestEnv(tester, t)
- initProject(tester, t)
- initInfra(tester, t)
- defer cleanup(tester, t)
- infras, err := tester.repo.Infra().ListInfrasByProjectID(
- tester.initProjects[0].Model.ID,
- "",
- )
- if err != nil {
- t.Fatalf("%v\n", err)
- }
- if len(infras) != 1 {
- t.Fatalf("length of aws infras incorrect: expected %d, got %d\n", 1, len(infras))
- }
- // make sure data is correct
- expInfra := models.Infra{
- Kind: "ecr",
- ProjectID: tester.initProjects[0].Model.ID,
- Status: types.StatusCreated,
- }
- infra := infras[0]
- // reset fields for reflect.DeepEqual
- infra.Model = gorm.Model{}
- if diff := deep.Equal(expInfra, *infra); diff != nil {
- t.Errorf("incorrect aws infra")
- t.Error(diff)
- }
- }
|