keel/util/testing/testing.go

65 lines
1.6 KiB
Go
Raw Normal View History

2017-07-02 19:09:21 +00:00
package testing
import (
2017-09-24 12:06:28 +00:00
core_v1 "k8s.io/client-go/kubernetes/typed/core/v1"
2017-07-02 19:09:21 +00:00
"k8s.io/client-go/pkg/api/v1"
"k8s.io/client-go/pkg/apis/extensions/v1beta1"
)
2017-08-08 20:47:29 +00:00
// FakeK8sImplementer - fake implementer used for testing
2017-07-02 19:09:21 +00:00
type FakeK8sImplementer struct {
NamespacesList *v1.NamespaceList
DeploymentSingle *v1beta1.Deployment
DeploymentList *v1beta1.DeploymentList
// stores value of an updated deployment
Updated *v1beta1.Deployment
2017-07-28 21:54:21 +00:00
AvailableSecret *v1.Secret
2017-07-30 14:06:01 +00:00
AvailablePods *v1.PodList
2017-07-30 14:06:01 +00:00
// error to return
Error error
2017-07-02 19:09:21 +00:00
}
2017-08-08 20:47:29 +00:00
// Namespaces - available namespaces
2017-07-02 19:09:21 +00:00
func (i *FakeK8sImplementer) Namespaces() (*v1.NamespaceList, error) {
return i.NamespacesList, nil
}
2017-08-08 20:47:29 +00:00
// Deployment - available deployment, doesn't filter anything
2017-07-02 19:09:21 +00:00
func (i *FakeK8sImplementer) Deployment(namespace, name string) (*v1beta1.Deployment, error) {
return i.DeploymentSingle, nil
}
2017-08-08 20:47:29 +00:00
// Deployments - available deployments
2017-07-02 19:09:21 +00:00
func (i *FakeK8sImplementer) Deployments(namespace string) (*v1beta1.DeploymentList, error) {
return i.DeploymentList, nil
}
2017-08-08 20:47:29 +00:00
// Update - update deployment
2017-07-02 19:09:21 +00:00
func (i *FakeK8sImplementer) Update(deployment *v1beta1.Deployment) error {
i.Updated = deployment
return nil
}
2017-07-28 21:54:21 +00:00
2017-08-08 20:47:29 +00:00
// Secret - get secret
2017-07-28 21:54:21 +00:00
func (i *FakeK8sImplementer) Secret(namespace, name string) (*v1.Secret, error) {
2017-07-30 14:06:01 +00:00
if i.Error != nil {
return nil, i.Error
}
2017-07-28 21:54:21 +00:00
return i.AvailableSecret, nil
}
2017-08-08 20:47:29 +00:00
// Pods - available pods
func (i *FakeK8sImplementer) Pods(namespace, labelSelector string) (*v1.PodList, error) {
return i.AvailablePods, nil
}
2017-09-24 12:06:28 +00:00
// ConfigMaps - returns nothing (not implemented)
func (i *FakeK8sImplementer) ConfigMaps(namespace string) core_v1.ConfigMapInterface {
panic("not implemented")
return nil
}