summaryrefslogtreecommitdiffstats
path: root/src/dkv/api/endpointViews_fake.go
blob: c147673857701ee52717aa5de10cec29fc86d3d6 (plain)
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
84
85
86
87
88
89
90
91
92
93
94
95
96
/*
 * Copyright 2018 Intel Corporation, Inc
 *
 * 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 api

import "errors"

/*
A ConsulStruct is added inside this so that FakeConsul becomes an implementation of the Consul interface.
If we don't add ConsulStruct inside this, it complains that the FakeConsul Struct doesn't implement all the methods
defined in Consul interface.
*/
// Correct
type FakeConsul struct {
	ConsulStruct
}

func (f *FakeConsul) RequestGETS() ([]string, error) {
	return []string{"key1", "key2"}, nil
}

func (f *FakeConsul) RequestGET(key string) (string, error) {
	return key, nil
}

func (f *FakeConsul) RequestPUT(key string, value string) error {
	return nil
}

func (f *FakeConsul) RequestDELETE(key string) error {
	return nil
}

// Error
type FakeConsulErr struct {
	ConsulStruct
}

func (f *FakeConsulErr) RequestGETS() ([]string, error) {
	return []string{"", ""}, errors.New("Internal Server Error")
}

func (f *FakeConsulErr) RequestGET(key string) (string, error) {
	return "", errors.New("Internal Server Error")
}

func (f *FakeConsulErr) RequestPUT(key string, value string) error {
	return errors.New("Internal Server Error")
}

func (f *FakeConsulErr) RequestDELETE(key string) error {
	return errors.New("Internal Server Error")
}

/*
This is done similar to the fake Consul above to pass FakeKeyValues to the interface and control method's outputs
as required.
*/
//Correct
type FakeKeyValues struct {
	KeyValuesStruct
}

func (f *FakeKeyValues) ReadConfigs(body POSTBodyStruct) error {
	return nil
}

func (f *FakeKeyValues) WriteKVsToConsul() error {
	return nil
}

// Error
type FakeKeyValuesErr struct {
	KeyValuesStruct
}

func (f *FakeKeyValuesErr) ReadConfigs(body POSTBodyStruct) error {
	return errors.New("Internal Server Error")
}

func (f *FakeKeyValuesErr) WriteKVsToConsul() error {
	return errors.New("Internal Server Error")
}