93d58067d85ccefac3d32a170e0cf4859d7cad8d
[icn/sdwan.git] /
1 // SPDX-License-Identifier: Apache-2.0\r
2 // Copyright (c) 2020 Intel Corporation\r
3 \r
4 package contextdb\r
5 \r
6 import (\r
7         pkgerrors "github.com/pkg/errors"\r
8 )\r
9 \r
10 type MockEtcd struct {\r
11         Items map[string]interface{}\r
12         Err   error\r
13 }\r
14 \r
15 func (c *MockEtcd) Put(key string, value interface{}) error {\r
16         if c.Items == nil {\r
17                 c.Items = make(map[string]interface{})\r
18         }\r
19         c.Items[key] = value\r
20         return c.Err\r
21 }\r
22 \r
23 func (c *MockEtcd) Get(key string, value interface{}) error {\r
24         for kvKey, kvValue := range c.Items {\r
25                 if kvKey == key {\r
26                         value = kvValue\r
27                         return nil\r
28                 }\r
29         }\r
30         return pkgerrors.Errorf("Key doesn't exist")\r
31 }\r
32 \r
33 func (c *MockEtcd) Delete(key string) error {\r
34         delete(c.Items, key)\r
35         return c.Err\r
36 }\r
37 \r
38 func (c *MockEtcd) GetAllKeys(path string) ([]string, error) {\r
39         var keys []string\r
40         for k := range c.Items {\r
41                 keys = append(keys, string(k))\r
42         }\r
43         return keys, nil\r
44 }\r
45 \r
46 func (e *MockEtcd) HealthCheck() error {\r
47         return nil\r
48 }\r