mirror of https://github.com/knative/client.git
109 lines
3.9 KiB
Go
109 lines
3.9 KiB
Go
// Copyright © 2020 The Knative Authors
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package v1
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
messagingv1 "knative.dev/eventing/pkg/apis/messaging/v1"
|
|
|
|
"knative.dev/client/pkg/util/mock"
|
|
)
|
|
|
|
type MockKnChannelsClient struct {
|
|
t *testing.T
|
|
recorder *ChannelsRecorder
|
|
}
|
|
|
|
// NewMockKnChannelsClient returns a new mock instance which you need to record for
|
|
func NewMockKnChannelsClient(t *testing.T, ns ...string) *MockKnChannelsClient {
|
|
namespace := "default"
|
|
if len(ns) > 0 {
|
|
namespace = ns[0]
|
|
}
|
|
return &MockKnChannelsClient{
|
|
t: t,
|
|
recorder: &ChannelsRecorder{mock.NewRecorder(t, namespace)},
|
|
}
|
|
}
|
|
|
|
// Ensure that the interface is implemented
|
|
var _ KnChannelsClient = &MockKnChannelsClient{}
|
|
|
|
// recorder for service
|
|
type ChannelsRecorder struct {
|
|
r *mock.Recorder
|
|
}
|
|
|
|
// Recorder returns the recorder for registering API calls
|
|
func (c *MockKnChannelsClient) Recorder() *ChannelsRecorder {
|
|
return c.recorder
|
|
}
|
|
|
|
// Namespace of this client
|
|
func (c *MockKnChannelsClient) Namespace() string {
|
|
return c.recorder.r.Namespace()
|
|
}
|
|
|
|
// CreateChannel records a call for CreateChannel with the expected error
|
|
func (sr *ChannelsRecorder) CreateChannel(channels interface{}, err error) {
|
|
sr.r.Add("CreateChannel", []interface{}{channels}, []interface{}{err})
|
|
}
|
|
|
|
// CreateChannel performs a previously recorded action, failing if non has been registered
|
|
func (c *MockKnChannelsClient) CreateChannel(ctx context.Context, channels *messagingv1.Channel) error {
|
|
call := c.recorder.r.VerifyCall("CreateChannel", channels)
|
|
return mock.ErrorOrNil(call.Result[0])
|
|
}
|
|
|
|
// GetChannel records a call for GetChannel with the expected object or error. Either channels or err should be nil
|
|
func (sr *ChannelsRecorder) GetChannel(name interface{}, channels *messagingv1.Channel, err error) {
|
|
sr.r.Add("GetChannel", []interface{}{name}, []interface{}{channels, err})
|
|
}
|
|
|
|
// GetChannel performs a previously recorded action, failing if non has been registered
|
|
func (c *MockKnChannelsClient) GetChannel(ctx context.Context, name string) (*messagingv1.Channel, error) {
|
|
call := c.recorder.r.VerifyCall("GetChannel", name)
|
|
return call.Result[0].(*messagingv1.Channel), mock.ErrorOrNil(call.Result[1])
|
|
}
|
|
|
|
// DeleteChannel records a call for DeleteChannel with the expected error (nil if none)
|
|
func (sr *ChannelsRecorder) DeleteChannel(name interface{}, err error) {
|
|
sr.r.Add("DeleteChannel", []interface{}{name}, []interface{}{err})
|
|
}
|
|
|
|
// DeleteChannel performs a previously recorded action, failing if non has been registered
|
|
func (c *MockKnChannelsClient) DeleteChannel(ctx context.Context, name string) error {
|
|
call := c.recorder.r.VerifyCall("DeleteChannel", name)
|
|
return mock.ErrorOrNil(call.Result[0])
|
|
}
|
|
|
|
// ListChannel records a call for ListChannel with the expected error (nil if none)
|
|
func (sr *ChannelsRecorder) ListChannel(channelsList *messagingv1.ChannelList, err error) {
|
|
sr.r.Add("ListChannel", []interface{}{}, []interface{}{channelsList, err})
|
|
}
|
|
|
|
// ListChannel performs a previously recorded action, failing if non has been registered
|
|
func (c *MockKnChannelsClient) ListChannel(context.Context) (*messagingv1.ChannelList, error) {
|
|
call := c.recorder.r.VerifyCall("ListChannel")
|
|
return call.Result[0].(*messagingv1.ChannelList), mock.ErrorOrNil(call.Result[1])
|
|
}
|
|
|
|
// Validates validates whether every recorded action has been called
|
|
func (sr *ChannelsRecorder) Validate() {
|
|
sr.r.CheckThatAllRecordedMethodsHaveBeenCalled()
|
|
}
|