(t *testing.T)
| 81 | } |
| 82 | |
| 83 | func 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 | }, |
nothing calls this directly
no test coverage detected