Chore: Refactor secrets service (#40331)
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
package fakes
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/grafana/grafana/pkg/services/secrets"
|
||||
)
|
||||
|
||||
type FakeSecretsService struct{}
|
||||
|
||||
func NewFakeSecretsService() FakeSecretsService {
|
||||
return FakeSecretsService{}
|
||||
}
|
||||
|
||||
func (f FakeSecretsService) Encrypt(_ context.Context, payload []byte, _ secrets.EncryptionOptions) ([]byte, error) {
|
||||
return payload, nil
|
||||
}
|
||||
func (f FakeSecretsService) Decrypt(_ context.Context, payload []byte) ([]byte, error) {
|
||||
return payload, nil
|
||||
}
|
||||
func (f FakeSecretsService) EncryptJsonData(_ context.Context, kv map[string]string, _ secrets.EncryptionOptions) (map[string][]byte, error) {
|
||||
result := make(map[string][]byte, len(kv))
|
||||
for key, value := range kv {
|
||||
result[key] = []byte(value)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (f FakeSecretsService) DecryptJsonData(_ context.Context, sjd map[string][]byte) (map[string]string, error) {
|
||||
result := make(map[string]string, len(sjd))
|
||||
for key, value := range sjd {
|
||||
result[key] = string(value)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
func (f FakeSecretsService) GetDecryptedValue(_ context.Context, sjd map[string][]byte, key, fallback string) string {
|
||||
if value, ok := sjd[key]; ok {
|
||||
return string(value)
|
||||
}
|
||||
return fallback
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package fakes
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/grafana/grafana/pkg/services/secrets"
|
||||
"xorm.io/xorm"
|
||||
)
|
||||
|
||||
type FakeSecretsStore struct {
|
||||
store map[string]*secrets.DataKey
|
||||
}
|
||||
|
||||
func NewFakeSecretsStore() FakeSecretsStore {
|
||||
return FakeSecretsStore{store: make(map[string]*secrets.DataKey)}
|
||||
}
|
||||
|
||||
func (f FakeSecretsStore) GetDataKey(_ context.Context, name string) (*secrets.DataKey, error) {
|
||||
key, ok := f.store[name]
|
||||
if !ok {
|
||||
return nil, secrets.ErrDataKeyNotFound
|
||||
}
|
||||
return key, nil
|
||||
}
|
||||
|
||||
func (f FakeSecretsStore) GetAllDataKeys(_ context.Context) ([]*secrets.DataKey, error) {
|
||||
result := make([]*secrets.DataKey, 0)
|
||||
for _, key := range f.store {
|
||||
result = append(result, key)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (f FakeSecretsStore) CreateDataKey(_ context.Context, dataKey secrets.DataKey) error {
|
||||
f.store[dataKey.Name] = &dataKey
|
||||
return nil
|
||||
}
|
||||
|
||||
func (f FakeSecretsStore) CreateDataKeyWithDBSession(ctx context.Context, dataKey secrets.DataKey, sess *xorm.Session) error {
|
||||
f.store[dataKey.Name] = &dataKey
|
||||
return nil
|
||||
}
|
||||
|
||||
func (f FakeSecretsStore) DeleteDataKey(_ context.Context, name string) error {
|
||||
delete(f.store, name)
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user