123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package paladin
- import (
- "context"
- )
- var _ Client = &mock{}
- // mock is mock config client.
- type mock struct {
- ch chan Event
- values *Map
- }
- // NewMock new a config mock client.
- func NewMock(vs map[string]string) Client {
- values := make(map[string]*Value, len(vs))
- for k, v := range vs {
- values[k] = &Value{val: v, raw: v}
- }
- m := new(Map)
- m.Store(values)
- return &mock{values: m, ch: make(chan Event)}
- }
- // Get return value by key.
- func (m *mock) Get(key string) *Value {
- return m.values.Get(key)
- }
- // GetAll return value map.
- func (m *mock) GetAll() *Map {
- return m.values
- }
- // WatchEvent watch multi key.
- func (m *mock) WatchEvent(ctx context.Context, key ...string) <-chan Event {
- return m.ch
- }
- // Close close watcher.
- func (m *mock) Close() error {
- close(m.ch)
- return nil
- }
|