-
Notifications
You must be signed in to change notification settings - Fork 98
/
envvar_manager.go
83 lines (70 loc) · 3.01 KB
/
envvar_manager.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
package fake
import (
"testing"
commonv1 "github.com/DataDog/datadog-operator/apis/datadoghq/common/v1"
merger "github.com/DataDog/datadog-operator/controllers/datadogagent/merger"
v1 "k8s.io/api/core/v1"
)
// EnvVarManager is an autogenerated mock type for the EnvVarManager type
type EnvVarManager struct {
EnvVarsByC map[commonv1.AgentContainerName][]*v1.EnvVar
t testing.TB
}
// AddEnvVar provides a mock function with given fields: newEnvVar
func (_m *EnvVarManager) AddEnvVar(newEnvVar *v1.EnvVar) {
_m.t.Logf("AddEnvVar %s: %#v", newEnvVar.Name, newEnvVar.Value)
_m.EnvVarsByC[AllContainers] = append(_m.EnvVarsByC[AllContainers], newEnvVar)
}
// AddEnvVarToContainer provides a mock function with given fields: containerName, newEnvVar
func (_m *EnvVarManager) AddEnvVarToContainer(containerName commonv1.AgentContainerName, newEnvVar *v1.EnvVar) {
isInitContainer := false
for _, initContainerName := range initContainerNames {
if containerName == initContainerName {
isInitContainer = true
break
}
}
if !isInitContainer {
_m.t.Logf("AddEnvVar %s: %#v", newEnvVar.Name, newEnvVar.Value)
_m.EnvVarsByC[containerName] = append(_m.EnvVarsByC[containerName], newEnvVar)
}
}
// AddEnvVarToInitContainer provides a mock function with given fields: containerName, newEnvVar
func (_m *EnvVarManager) AddEnvVarToInitContainer(containerName commonv1.AgentContainerName, newEnvVar *v1.EnvVar) {
for _, initContainerName := range initContainerNames {
if containerName == initContainerName {
_m.t.Logf("AddEnvVar to container %s key:%s value:%#v", containerName, newEnvVar.Name, newEnvVar.Value)
_m.EnvVarsByC[containerName] = append(_m.EnvVarsByC[containerName], newEnvVar)
}
}
}
// AddEnvVarToContainerWithMergeFunc provides a mock function with given fields: containerName, newEnvVar, mergeFunc
func (_m *EnvVarManager) AddEnvVarToContainerWithMergeFunc(containerName commonv1.AgentContainerName, newEnvVar *v1.EnvVar, mergeFunc merger.EnvVarMergeFunction) error {
found := false
idFound := 0
for id, envVar := range _m.EnvVarsByC[containerName] {
if envVar.Name == newEnvVar.Name {
found = true
idFound = id
}
}
if found {
var err error
newEnvVar, err = mergeFunc(_m.EnvVarsByC[containerName][idFound], newEnvVar)
_m.EnvVarsByC[containerName][idFound] = newEnvVar
return err
}
_m.EnvVarsByC[containerName] = append(_m.EnvVarsByC[containerName], newEnvVar)
return nil
}
// AddEnvVarWithMergeFunc provides a mock function with given fields: newEnvVar, mergeFunc
func (_m *EnvVarManager) AddEnvVarWithMergeFunc(newEnvVar *v1.EnvVar, mergeFunc merger.EnvVarMergeFunction) error {
return _m.AddEnvVarToContainerWithMergeFunc(AllContainers, newEnvVar, mergeFunc)
}
// NewFakeEnvVarManager creates a new instance of EnvVarManager. It also registers the testing.TB interface on the mock and a cleanup function to assert the mocks expectations.
func NewFakeEnvVarManager(t testing.TB) *EnvVarManager {
return &EnvVarManager{
EnvVarsByC: make(map[commonv1.AgentContainerName][]*v1.EnvVar),
t: t,
}
}