Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
67 lines
1.3 KiB
Go
67 lines
1.3 KiB
Go
package envoyx
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestBake(t *testing.T) {
|
|
ctx := context.Background()
|
|
req := require.New(t)
|
|
|
|
t.Run("set default envoy config", func(t *testing.T) {
|
|
a := &Node{
|
|
Config: EnvoyConfig{
|
|
MergeAlg: OnConflictDefault,
|
|
SkipIf: "",
|
|
},
|
|
}
|
|
b := &Node{
|
|
Config: EnvoyConfig{
|
|
MergeAlg: OnConflictReplace,
|
|
SkipIf: "",
|
|
},
|
|
}
|
|
c := &Node{
|
|
Config: EnvoyConfig{
|
|
MergeAlg: OnConflictReplace,
|
|
SkipIf: "true",
|
|
},
|
|
}
|
|
_, err := (&Service{}).Bake(ctx, EncodeParams{Envoy: EnvoyConfig{MergeAlg: OnConflictPanic, SkipIf: "false"}}, nil, a, b, c)
|
|
req.NoError(err)
|
|
|
|
req.Equal(OnConflictPanic, a.Config.MergeAlg)
|
|
req.Equal("false", a.Config.SkipIf)
|
|
|
|
req.Equal(OnConflictReplace, b.Config.MergeAlg)
|
|
req.Equal("false", b.Config.SkipIf)
|
|
|
|
req.Equal(OnConflictReplace, c.Config.MergeAlg)
|
|
req.Equal("true", c.Config.SkipIf)
|
|
})
|
|
|
|
t.Run("precompute expressions", func(t *testing.T) {
|
|
a := &Node{
|
|
Config: EnvoyConfig{
|
|
MergeAlg: OnConflictDefault,
|
|
SkipIf: "",
|
|
},
|
|
}
|
|
b := &Node{
|
|
Config: EnvoyConfig{
|
|
MergeAlg: OnConflictReplace,
|
|
SkipIf: "a == b",
|
|
},
|
|
}
|
|
|
|
_, err := (&Service{}).Bake(ctx, EncodeParams{}, nil, a, b)
|
|
req.NoError(err)
|
|
|
|
req.Nil(a.Config.SkipIfEval)
|
|
req.NotNil(b.Config.SkipIfEval)
|
|
})
|
|
}
|