MCPcopy Create free account
hub / github.com/docker/secrets-engine / TestResolverService_GetSecret

Function TestResolverService_GetSecret

x/api/resolver/resolver_test.go:83–148  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

81}
82
83func TestResolverService_GetSecret(t *testing.T) {
84 t.Parallel()
85 tests := []struct {
86 name string
87 test func(t *testing.T)
88 }{
89 {
90 name: "returns an error if request secret ID is invalid",
91 test: func(t *testing.T) {
92 s := NewResolverHandler(newMockResolver(t))
93 _, err := s.GetSecrets(t.Context(), newGetSecretRequest(&maliciousPattern{}))
94 assert.ErrorContains(t, err, "invalid pattern")
95 },
96 },
97 {
98 name: "secret not found",
99 test: func(t *testing.T) {
100 s := NewResolverHandler(newMockResolver(t, withMockResolverError(secrets.ErrNotFound)))
101 _, err := s.GetSecrets(t.Context(), newGetSecretRequest(mockPattern))
102 assert.ErrorIs(t, err, secrets.ErrNotFound)
103 },
104 },
105 {
106 name: "error fetching secret",
107 test: func(t *testing.T) {
108 s := NewResolverHandler(newMockResolver(t, withMockResolverError(errors.New("foo"))))
109 _, err := s.GetSecrets(t.Context(), newGetSecretRequest(mockPattern))
110 assert.ErrorContains(t, err, "foo")
111 },
112 },
113 {
114 name: "no match",
115 test: func(t *testing.T) {
116 s := NewResolverHandler(newMockResolver(t))
117 _, err := s.GetSecrets(t.Context(), newGetSecretRequest(secrets.MustParsePattern("not-existing")))
118 assert.ErrorIs(t, err, secrets.ErrNotFound)
119 },
120 },
121 {
122 name: "returns secret value",
123 test: func(t *testing.T) {
124 s := NewResolverHandler(newMockResolver(t))
125 resp, err := s.GetSecrets(t.Context(), newGetSecretRequest(mockPattern))
126 assert.NoError(t, err)
127 require.NotEmpty(t, resp.Msg.GetEnvelopes())
128 assert.Equal(t, mockID.String(), resp.Msg.GetEnvelopes()[0].GetId())
129 assert.Equal(t, mockSecretValue, string(resp.Msg.GetEnvelopes()[0].GetValue()))
130 },
131 },
132 {
133 name: "return secret metadata",
134 test: func(t *testing.T) {
135 s := NewResolverHandler(newMockResolver(t))
136 resp, err := s.GetSecrets(t.Context(), newGetSecretRequest(mockPattern))
137 assert.NoError(t, err)
138 assert.Equal(t, mockID.String(), resp.Msg.GetEnvelopes()[0].GetId())
139 assert.EqualValues(t, mockMetadata, resp.Msg.GetEnvelopes()[0].GetMetadata())
140 },

Callers

nothing calls this directly

Calls 11

NewResolverHandlerFunction · 0.85
newMockResolverFunction · 0.85
withMockResolverErrorFunction · 0.85
GetEnvelopesMethod · 0.80
GetIdMethod · 0.80
GetValueMethod · 0.80
GetMetadataMethod · 0.80
newGetSecretRequestFunction · 0.70
GetSecretsMethod · 0.65
StringMethod · 0.65
RunMethod · 0.65

Tested by

no test coverage detected