/
left76
/
cli
Обзор
Документация
Войти
/
left76
/
cli
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
internal/test/store.go
79 строк
2 KB
shhsu@microsoft.com
Silent login: if user did not provide -u and -p flag for login command but both username and password are retrieved in cred store, docker will automatically use the credentials found in the cred store to log in
22 фев 2018, 20:14
22 фев 2018, 20:14
8883cd6
Код
Авторство
О чём код?
package test import ( "github.com/docker/cli/cli/config/credentials" "github.com/docker/docker/api/types" ) // FakeStore implements a credentials.Store that only acts as an in memory map type FakeStore struct { store map[string]types.AuthConfig eraseFunc func(serverAddress string) error getFunc func(serverAddress string) (types.AuthConfig, error) getAllFunc func() (map[string]types.AuthConfig, error) storeFunc func(authConfig types.AuthConfig) error } // NewFakeStore creates a new file credentials store. func NewFakeStore() credentials.Store { return &FakeStore{store: map[string]types.AuthConfig{}} } // SetStore is used to overrides Set function func (c *FakeStore) SetStore(store map[string]types.AuthConfig) { c.store = store } // SetEraseFunc is used to overrides Erase function func (c *FakeStore) SetEraseFunc(eraseFunc func(string) error) { c.eraseFunc = eraseFunc } // SetGetFunc is used to overrides Get function func (c *FakeStore) SetGetFunc(getFunc func(string) (types.AuthConfig, error)) { c.getFunc = getFunc } // SetGetAllFunc is used to overrides GetAll function func (c *FakeStore) SetGetAllFunc(getAllFunc func() (map[string]types.AuthConfig, error)) { c.getAllFunc = getAllFunc } // SetStoreFunc is used to override Store function func (c *FakeStore) SetStoreFunc(storeFunc func(types.AuthConfig) error) { c.storeFunc = storeFunc } // Erase removes the given credentials from the map store func (c *FakeStore) Erase(serverAddress string) error { if c.eraseFunc != nil { return c.eraseFunc(serverAddress) } delete(c.store, serverAddress) return nil } // Get retrieves credentials for a specific server from the map store. func (c *FakeStore) Get(serverAddress string) (types.AuthConfig, error) { if c.getFunc != nil { return c.getFunc(serverAddress) } return c.store[serverAddress], nil } // GetAll returns the key value pairs of ServerAddress => Username func (c *FakeStore) GetAll() (map[string]types.AuthConfig, error) { if c.getAllFunc != nil { return c.getAllFunc() } return c.store, nil } // Store saves the given credentials in the map store. func (c *FakeStore) Store(authConfig types.AuthConfig) error { if c.storeFunc != nil { return c.storeFunc(authConfig) } c.store[authConfig.ServerAddress] = authConfig return nil }