Skip to content

Commit d1ad8b4

Browse files
authored
Use Err prefix for always return error implementation (#12874)
Make this package consistent with a way more used package https://github.com/open-telemetry/opentelemetry-collector/blob/main/consumer/consumertest/err.go#L15 Signed-off-by: Bogdan Drutu <[email protected]>
1 parent dc8e2dd commit d1ad8b4

File tree

4 files changed

+47
-9
lines changed

4 files changed

+47
-9
lines changed

.chloggen/use-err.yaml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Use this changelog template to create an entry for release notes.
2+
3+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
4+
change_type: deprecation
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
7+
component: extensionauthtest
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Deprecate NewErrorClient in favor of NewErrClient.
11+
12+
# One or more tracking issues or pull requests related to the change
13+
issues: [12874]
14+
15+
# (Optional) One or more lines of additional information to render under the primary note.
16+
# These lines will be padded with 2 spaces and then inserted directly into the document.
17+
# Use pipe (|) for multiline entries.
18+
subtext:
19+
20+
# Optional: The change log or logs in which this entry should be included.
21+
# e.g. '[user]' or '[user, api]'
22+
# Include 'user' if the change is relevant to end users.
23+
# Include 'api' if there is a change to a library API.
24+
# Default: '[user]'
25+
change_logs: [api]

config/confighttp/confighttp_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ func TestHTTPClientSettingWithAuthConfig(t *testing.T) {
455455
shouldErr: true,
456456
host: &mockHost{
457457
ext: map[component.ID]component.Component{
458-
mockID: extensionauthtest.NewErrorClient(errors.New("error")),
458+
mockID: extensionauthtest.NewErr(errors.New("error")),
459459
},
460460
},
461461
},

extension/extensionauth/extensionauthtest/error_client.go renamed to extension/extensionauth/extensionauthtest/err.go

+14-7
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package extensionauthtest // import "go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest"
55

66
import (
7+
"context"
78
"net/http"
89

910
"google.golang.org/grpc/credentials"
@@ -14,26 +15,32 @@ import (
1415
)
1516

1617
var (
17-
_ extension.Extension = (*errorClient)(nil)
18-
_ extensionauth.HTTPClient = (*errorClient)(nil)
19-
_ extensionauth.GRPCClient = (*errorClient)(nil)
18+
_ extension.Extension = (*errClient)(nil)
19+
_ extensionauth.HTTPClient = (*errClient)(nil)
20+
_ extensionauth.GRPCClient = (*errClient)(nil)
2021
)
2122

22-
type errorClient struct {
23+
type errClient struct {
2324
component.StartFunc
2425
component.ShutdownFunc
2526
extensionauth.ClientPerRPCCredentialsFunc
2627
extensionauth.ClientRoundTripperFunc
28+
extensionauth.ServerAuthenticateFunc
2729
}
2830

29-
// NewErrorClient returns a new [extension.Extension] that implements the [extensionauth.HTTPClient] and [extensionauth.GRPCClient] and always returns an error on both methods.
30-
func NewErrorClient(err error) extension.Extension {
31-
return &errorClient{
31+
// Deprecated: [v0.125.0] Use NewErr.
32+
var NewErrorClient = NewErr
33+
34+
// NewErr returns a new [extension.Extension] that implements all
35+
// extensionauth interface and always returns an error.
36+
func NewErr(err error) extension.Extension {
37+
return &errClient{
3238
ClientRoundTripperFunc: func(http.RoundTripper) (http.RoundTripper, error) {
3339
return nil, err
3440
},
3541
ClientPerRPCCredentialsFunc: func() (credentials.PerRPCCredentials, error) {
3642
return nil, err
3743
},
44+
ServerAuthenticateFunc: func(ctx context.Context, _ map[string][]string) (context.Context, error) { return ctx, err },
3845
}
3946
}

extension/extensionauth/extensionauthtest/error_client_test.go renamed to extension/extensionauth/extensionauthtest/err_test.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package extensionauthtest
55

66
import (
7+
"context"
78
"errors"
89
"testing"
910

@@ -13,7 +14,7 @@ import (
1314
)
1415

1516
func TestErrorClient(t *testing.T) {
16-
client := NewErrorClient(errors.New("error"))
17+
client := NewErr(errors.New("error"))
1718

1819
httpClient, ok := client.(extensionauth.HTTPClient)
1920
require.True(t, ok)
@@ -24,4 +25,9 @@ func TestErrorClient(t *testing.T) {
2425
require.True(t, ok)
2526
_, err = grpcClient.PerRPCCredentials()
2627
require.Error(t, err)
28+
29+
server, ok := client.(extensionauth.Server)
30+
require.True(t, ok)
31+
_, err = server.Authenticate(context.Background(), map[string][]string{})
32+
require.Error(t, err)
2733
}

0 commit comments

Comments
 (0)