forked from openservicemesh/osm
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinit-osm-controller_test.go
101 lines (90 loc) · 2.63 KB
/
init-osm-controller_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package main
import (
"testing"
tassert "github.com/stretchr/testify/assert"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"github.com/openservicemesh/osm/pkg/apis/config/v1alpha1"
)
func TestCreateDefaultMeshConfig(t *testing.T) {
assert := tassert.New(t)
presetMeshConfig := &v1alpha1.MeshConfig{
TypeMeta: metav1.TypeMeta{
Kind: "MeshConfig",
APIVersion: "config.openservicemesh.io/v1alpha1",
},
ObjectMeta: metav1.ObjectMeta{
Name: presetMeshConfigName,
},
Spec: v1alpha1.MeshConfigSpec{
Sidecar: v1alpha1.SidecarSpec{
LogLevel: "error",
EnvoyImage: "envoyproxy/envoy-alpine:v1.18.3",
InitContainerImage: "openservicemesh/init:v0.9.0",
EnablePrivilegedInitContainer: false,
MaxDataPlaneConnections: 0,
ConfigResyncInterval: "2s",
},
Traffic: v1alpha1.TrafficSpec{
EnableEgress: true,
UseHTTPSIngress: false,
EnablePermissiveTrafficPolicyMode: true,
},
Observability: v1alpha1.ObservabilitySpec{
EnableDebugServer: false,
Tracing: v1alpha1.TracingSpec{
Enable: false,
},
},
Certificate: v1alpha1.CertificateSpec{
ServiceCertValidityDuration: "24h",
},
},
}
meshConfig := createDefaultMeshConfig(presetMeshConfig)
assert.Equal(meshConfig.Name, meshConfigName)
assert.Equal(meshConfig.Spec.Sidecar.LogLevel, "error")
assert.Equal(meshConfig.Spec.Sidecar.ConfigResyncInterval, "2s")
assert.Equal(meshConfig.Spec.Sidecar.EnablePrivilegedInitContainer, false)
assert.Equal(meshConfig.Spec.Traffic.EnablePermissiveTrafficPolicyMode, true)
assert.Equal(meshConfig.Spec.Traffic.EnableEgress, true)
assert.Equal(meshConfig.Spec.Traffic.UseHTTPSIngress, false)
assert.Equal(meshConfig.Spec.Observability.EnableDebugServer, false)
assert.Equal(meshConfig.Spec.Certificate.ServiceCertValidityDuration, "24h")
}
func TestValidateCLIParams(t *testing.T) {
assert := tassert.New(t)
// save original global values
prevOsmNamespace := osmNamespace
tests := []struct {
caseName string
setup func()
verify func(error)
}{
{
caseName: "osm-namespace is empty",
setup: func() {
osmNamespace = ""
},
verify: func(err error) {
assert.NotNil(err)
assert.Contains(err.Error(), "--osm-namespace")
},
},
{
caseName: "osm-namespace is valid",
setup: func() {
osmNamespace = "valid-ns"
},
verify: func(err error) {
assert.Nil(err)
},
},
}
for _, tc := range tests {
tc.setup()
err := validateCLIParams()
tc.verify(err)
}
// restore original global values
osmNamespace = prevOsmNamespace
}