forked from rook/rook
254 lines
7.1 KiB
Go
254 lines
7.1 KiB
Go
/*
|
|
Copyright 2016 The Rook Authors. All rights reserved.
|
|
|
|
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 test
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/rook/rook/pkg/model"
|
|
"github.com/rook/rook/pkg/rook/client"
|
|
)
|
|
|
|
type RookMockRestClientFactory struct{}
|
|
|
|
func (*RookMockRestClientFactory) CreateRookRestClient(url string, httpClient *http.Client) client.RookRestClient {
|
|
return &MockRookRestClient{}
|
|
}
|
|
|
|
// Mock Rook REST Client implementation
|
|
type MockRookRestClient struct {
|
|
MockGetNodes func() ([]model.Node, error)
|
|
MockGetPools func() ([]model.Pool, error)
|
|
MockCreatePool func(pool model.Pool) (string, error)
|
|
MockDeletePool func(name string) error
|
|
MockGetBlockImages func() ([]model.BlockImage, error)
|
|
MockCreateBlockImage func(image model.BlockImage) (string, error)
|
|
MockDeleteBlockImage func(image model.BlockImage) (string, error)
|
|
MockGetClientAccessInfo func() (model.ClientAccessInfo, error)
|
|
MockGetFilesystems func() ([]model.Filesystem, error)
|
|
MockCreateFilesystem func(model.FilesystemRequest) (string, error)
|
|
MockDeleteFilesystem func(model.FilesystemRequest) (string, error)
|
|
MockGetStatusDetails func() (model.StatusDetails, error)
|
|
MockGetObjectStores func() ([]model.ObjectStoreResponse, error)
|
|
MockCreateObjectStore func(store model.ObjectStore) (string, error)
|
|
MockDeleteObjectStore func(string) error
|
|
MockGetObjectStoreConnectionInfo func(storeName string) (*model.ObjectStoreConnectInfo, error)
|
|
MockCreateObjectUser func(storeName string, user model.ObjectUser) (*model.ObjectUser, error)
|
|
MockListBuckets func(storeName string) ([]model.ObjectBucket, error)
|
|
MockGetBucket func(storeName, bucketName string) (*model.ObjectBucket, error)
|
|
MockDeleteBucket func(storeName, bucketName string, purge bool) error
|
|
MockListObjectUsers func(storeName string) ([]model.ObjectUser, error)
|
|
MockGetObjectUser func(storeName, id string) (*model.ObjectUser, error)
|
|
MockUpdateObjectUser func(storeName string, user model.ObjectUser) (*model.ObjectUser, error)
|
|
MockDeleteObjectUser func(storeName, id string) error
|
|
}
|
|
|
|
func (m *MockRookRestClient) GetNodes() ([]model.Node, error) {
|
|
if m.MockGetNodes != nil {
|
|
return m.MockGetNodes()
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) GetPools() ([]model.Pool, error) {
|
|
if m.MockGetPools != nil {
|
|
return m.MockGetPools()
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) CreatePool(pool model.Pool) (string, error) {
|
|
if m.MockCreatePool != nil {
|
|
return m.MockCreatePool(pool)
|
|
}
|
|
|
|
return "", nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) DeletePool(name string) error {
|
|
if m.MockDeletePool != nil {
|
|
return m.MockDeletePool(name)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) GetBlockImages() ([]model.BlockImage, error) {
|
|
if m.MockGetBlockImages != nil {
|
|
return m.MockGetBlockImages()
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) CreateBlockImage(image model.BlockImage) (string, error) {
|
|
if m.MockCreateBlockImage != nil {
|
|
return m.MockCreateBlockImage(image)
|
|
}
|
|
|
|
return "", nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) DeleteBlockImage(image model.BlockImage) (string, error) {
|
|
if m.MockDeleteBlockImage != nil {
|
|
return m.MockDeleteBlockImage(image)
|
|
}
|
|
|
|
return "", nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) GetClientAccessInfo() (model.ClientAccessInfo, error) {
|
|
if m.MockGetClientAccessInfo != nil {
|
|
return m.MockGetClientAccessInfo()
|
|
}
|
|
|
|
return model.ClientAccessInfo{}, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) GetFilesystems() ([]model.Filesystem, error) {
|
|
if m.MockGetFilesystems != nil {
|
|
return m.MockGetFilesystems()
|
|
}
|
|
|
|
return []model.Filesystem{}, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) CreateFilesystem(fsr model.FilesystemRequest) (string, error) {
|
|
if m.MockCreateFilesystem != nil {
|
|
return m.MockCreateFilesystem(fsr)
|
|
}
|
|
|
|
return "", nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) DeleteFilesystem(fsr model.FilesystemRequest) (string, error) {
|
|
if m.MockDeleteFilesystem != nil {
|
|
return m.MockDeleteFilesystem(fsr)
|
|
}
|
|
|
|
return "", nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) GetStatusDetails() (model.StatusDetails, error) {
|
|
if m.MockGetStatusDetails != nil {
|
|
return m.MockGetStatusDetails()
|
|
}
|
|
|
|
return model.StatusDetails{}, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) CreateObjectStore(store model.ObjectStore) (string, error) {
|
|
if m.MockCreateObjectStore != nil {
|
|
return m.MockCreateObjectStore(store)
|
|
}
|
|
|
|
return "", nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) DeleteObjectStore(storeName string) error {
|
|
if m.MockDeleteObjectStore != nil {
|
|
return m.MockDeleteObjectStore(storeName)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) GetObjectStores() ([]model.ObjectStoreResponse, error) {
|
|
if m.MockGetObjectStores != nil {
|
|
return m.MockGetObjectStores()
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) GetObjectStoreConnectionInfo(storeName string) (*model.ObjectStoreConnectInfo, error) {
|
|
if m.MockGetObjectStoreConnectionInfo != nil {
|
|
return m.MockGetObjectStoreConnectionInfo(storeName)
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) URL() string {
|
|
return ""
|
|
}
|
|
|
|
func (m *MockRookRestClient) ListBuckets(storeName string) ([]model.ObjectBucket, error) {
|
|
if m.MockListBuckets != nil {
|
|
return m.MockListBuckets(storeName)
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) GetBucket(storeName, s string) (*model.ObjectBucket, error) {
|
|
if m.MockGetBucket != nil {
|
|
return m.MockGetBucket(storeName, s)
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) DeleteBucket(storeName, s string, b bool) error {
|
|
if m.MockDeleteBucket != nil {
|
|
return m.MockDeleteBucket(storeName, s, b)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) ListObjectUsers(storeName string) ([]model.ObjectUser, error) {
|
|
if m.MockListObjectUsers != nil {
|
|
return m.MockListObjectUsers(storeName)
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) GetObjectUser(storeName, s string) (*model.ObjectUser, error) {
|
|
if m.MockGetObjectUser != nil {
|
|
return m.MockGetObjectUser(storeName, s)
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) CreateObjectUser(storeName string, u model.ObjectUser) (*model.ObjectUser, error) {
|
|
if m.MockCreateObjectUser != nil {
|
|
return m.MockCreateObjectUser(storeName, u)
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) UpdateObjectUser(storeName string, u model.ObjectUser) (*model.ObjectUser, error) {
|
|
if m.MockUpdateObjectUser != nil {
|
|
return m.MockUpdateObjectUser(storeName, u)
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (m *MockRookRestClient) DeleteObjectUser(storeName, id string) error {
|
|
if m.MockDeleteObjectUser != nil {
|
|
return m.MockDeleteObjectUser(storeName, id)
|
|
}
|
|
|
|
return nil
|
|
}
|