Add integration and more unit tests

- Add integration test for serving cert auto-generation and rotation
- Add unit test for `WithInitialEvent` of the cert manager controller
- Move UpdateAPIService() into the `apicerts` package, since that is
  the only user of the function.
This commit is contained in:
Ryan Richard
2020-08-11 10:14:57 -07:00
parent 8034ef24ff
commit fadd718d08
12 changed files with 304 additions and 16 deletions

View File

@@ -8,23 +8,24 @@ package testutil
import "github.com/suzerain-io/controller-go"
type ObservableWithInformerOption struct {
InformerToFilterMap map[controller.InformerGetter]controller.Filter
informerToFilterMap map[controller.InformerGetter]controller.Filter
}
func NewObservableWithInformerOption() *ObservableWithInformerOption {
return &ObservableWithInformerOption{
InformerToFilterMap: make(map[controller.InformerGetter]controller.Filter),
informerToFilterMap: make(map[controller.InformerGetter]controller.Filter),
}
}
func (i *ObservableWithInformerOption) WithInformer(
getter controller.InformerGetter,
filter controller.Filter,
opt controller.InformerOption) controller.Option {
i.InformerToFilterMap[getter] = filter
opt controller.InformerOption,
) controller.Option {
i.informerToFilterMap[getter] = filter
return controller.WithInformer(getter, filter, opt)
}
func (i *ObservableWithInformerOption) GetFilterForInformer(getter controller.InformerGetter) controller.Filter {
return i.InformerToFilterMap[getter]
return i.informerToFilterMap[getter]
}

View File

@@ -0,0 +1,25 @@
/*
Copyright 2020 VMware, Inc.
SPDX-License-Identifier: Apache-2.0
*/
package testutil
import "github.com/suzerain-io/controller-go"
type ObservableWithInitialEventOption struct {
key controller.Key
}
func NewObservableWithInitialEventOption() *ObservableWithInitialEventOption {
return &ObservableWithInitialEventOption{}
}
func (i *ObservableWithInitialEventOption) WithInitialEvent(key controller.Key) controller.Option {
i.key = key
return controller.WithInitialEvent(key)
}
func (i *ObservableWithInitialEventOption) GetInitialEventKey() controller.Key {
return i.key
}