Skip to content

Commit

Permalink
add more tests for stage_diff
Browse files Browse the repository at this point in the history
  • Loading branch information
Ivan Vlasic committed Feb 25, 2022
1 parent 4b517bc commit d902d00
Showing 1 changed file with 67 additions and 1 deletion.
68 changes: 67 additions & 1 deletion domain/stage_diff_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ func TestStageChangesWithoutNewResources(t *testing.T) {
require.False(t, diff.InfrastructureChanged())
require.Len(t, diff.UpdatedFunctions(), 0)
require.Len(t, s.Functions, 0)

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 0)
require.Equal(t, updated, 0)
require.Equal(t, removed, 0)
}

func TestStageChangesInvalidFunctionName(t *testing.T) {
Expand Down Expand Up @@ -56,6 +61,11 @@ func TestStageChangesWithNewFunction(t *testing.T) {
require.Len(t, s.Functions, 1)
require.Equal(t, "func", s.Functions[0].Name)
require.Equal(t, "hash", s.Functions[0].Hash)

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 1)
require.Equal(t, updated, 1)
require.Equal(t, removed, 0)
}

func TestStageChangesWithUpdatedFunction(t *testing.T) {
Expand Down Expand Up @@ -85,6 +95,11 @@ func TestStageChangesWithUpdatedFunction(t *testing.T) {
require.Len(t, s.Functions, 1)
require.Equal(t, "func", s.Functions[0].Name)
require.Equal(t, "new-hash", s.Functions[0].Hash)

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 0)
require.Equal(t, updated, 1)
require.Equal(t, removed, 0)
}

func TestStageChangesWithNewAndRemovedFunction(t *testing.T) {
Expand Down Expand Up @@ -114,6 +129,11 @@ func TestStageChangesWithNewAndRemovedFunction(t *testing.T) {
require.Len(t, s.Functions, 1)
require.Equal(t, "func2", s.Functions[0].Name)
require.Equal(t, "hash", s.Functions[0].Hash)

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 1)
require.Equal(t, updated, 1)
require.Equal(t, removed, 1)
}

func TestStageChangesWithNewAndUnchangedFunction(t *testing.T) {
Expand Down Expand Up @@ -149,6 +169,11 @@ func TestStageChangesWithNewAndUnchangedFunction(t *testing.T) {
require.Equal(t, "hash", s.Functions[0].Hash)
require.Equal(t, "func2", s.Functions[1].Name)
require.Equal(t, "hash", s.Functions[1].Hash)

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 1)
require.Equal(t, updated, 1)
require.Equal(t, removed, 0)
}

func TestStageChangesWithNewFunctionAndPublic(t *testing.T) {
Expand All @@ -171,6 +196,12 @@ func TestStageChangesWithNewFunctionAndPublic(t *testing.T) {
require.Len(t, s.Functions, 1)
require.Equal(t, "func", s.Functions[0].Name)
require.Equal(t, "hash", s.Functions[0].Hash)

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 1)
require.Equal(t, updated, 1)
require.Equal(t, removed, 0)

}

func TestStageChangesWithUpdatedPublic(t *testing.T) {
Expand All @@ -190,6 +221,11 @@ func TestStageChangesWithUpdatedPublic(t *testing.T) {
require.False(t, diff.InfrastructureChanged())
require.Len(t, diff.UpdatedFunctions(), 0)
require.Equal(t, "new-hash", s.Public.Hash)

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 0)
require.Equal(t, updated, 0)
require.Equal(t, removed, 0)
}

func TestStageChangesWithProjectConfiguration(t *testing.T) {
Expand Down Expand Up @@ -228,6 +264,11 @@ func TestStageChangesWithProjectConfiguration(t *testing.T) {
require.Len(t, s.Functions, 1)
require.Equal(t, 128, s.Functions[0].MemorySize)
require.Equal(t, "v", s.Functions[0].Env["k"])

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 0)
require.Equal(t, updated, 0)
require.Equal(t, removed, 0)
}

func TestStageChangesWithStageConfiguration(t *testing.T) {
Expand Down Expand Up @@ -289,6 +330,11 @@ func TestStageChangesWithStageConfiguration(t *testing.T) {
require.Equal(t, 60, s.Functions[0].Timeout)
require.Equal(t, "v", s.Functions[0].Env["k"])
require.Equal(t, "v", s.Functions[0].Env["k2"])

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 0)
require.Equal(t, updated, 0)
require.Equal(t, removed, 0)
}

func TestStageChangesWithFunctionConfiguration(t *testing.T) {
Expand Down Expand Up @@ -374,6 +420,11 @@ func TestStageChangesWithFunctionConfiguration(t *testing.T) {
require.Equal(t, "v", s.Functions[1].Env["k"])
require.Equal(t, "v", s.Functions[1].Env["k2"])
require.Equal(t, "v4", s.Functions[1].Env["k4"])

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 1)
require.Equal(t, updated, 1)
require.Equal(t, removed, 0)
}

func TestStageChangesDefaultConfiguration(t *testing.T) {
Expand All @@ -386,7 +437,17 @@ func TestStageChangesDefaultConfiguration(t *testing.T) {
Hash: "hash",
},
},
}, &EnvironmentConfig{},
}, &EnvironmentConfig{
Project: ProjectEnvironmentConfig{
Stages: []StageEnvironmentConfig{
{
Name: "stage",
CustomDomain: CustomDomain{
DomainName: "domain",
},
},
},
}},
)

diff, err := s.ApplyChanges([]Resource{
Expand All @@ -410,6 +471,11 @@ func TestStageChangesDefaultConfiguration(t *testing.T) {
require.Equal(t, s.Project().DefaultStage().Node().ID, s.Functions[0].Env[EnvKey])
require.Equal(t, s.Project().Name, s.Functions[0].Env[EnvProjectName])
require.Equal(t, s.Name, s.Functions[0].Env[EnvStageName])

added, updated, removed := diff.FunctionsAddedUpdatedRemoved()
require.Equal(t, added, 0)
require.Equal(t, updated, 0)
require.Equal(t, removed, 0)
}

func initStage(s *Stage, env *EnvironmentConfig) *Stage {
Expand Down

0 comments on commit d902d00

Please sign in to comment.