Skip to content

Commit b0d18bb

Browse files
committed
Refactor NewAccessKey to return an error instead of a boolean and update tests for consistency
1 parent 9d6cf74 commit b0d18bb

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

access_key.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,20 @@ func (a AccessKey) GetPrefix() string {
4949
return strings.Join(parts[:len(parts)-1], Separator)
5050
}
5151

52-
func NewAccessKey(ctx context.Context, projectID uint64) (AccessKey, bool) {
52+
var ErrUnsupportedEncoding = errors.New("unsupported access key encoding")
53+
54+
func NewAccessKey(ctx context.Context, projectID uint64) (AccessKey, error) {
5355
version, ok := GetVersion(ctx)
5456
if !ok {
55-
return DefaultEncoding.Encode(ctx, projectID), true
57+
return DefaultEncoding.Encode(ctx, projectID), nil
5658
}
5759

5860
for _, e := range SupportedEncodings {
5961
if e.Version() == version {
60-
return e.Encode(ctx, projectID), true
62+
return e.Encode(ctx, projectID), nil
6163
}
6264
}
63-
return "", false
65+
return "", ErrUnsupportedEncoding
6466
}
6567

6668
type Encoding interface {

access_key_test.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ func TestAccessKeyEncoding(t *testing.T) {
1414
t.Run("v0", func(t *testing.T) {
1515
ctx := authcontrol.WithVersion(context.Background(), 0)
1616
projectID := uint64(12345)
17-
accessKey, ok := authcontrol.NewAccessKey(ctx, projectID)
18-
require.True(t, ok)
17+
accessKey, err := authcontrol.NewAccessKey(ctx, projectID)
18+
require.NoError(t, err)
1919
t.Log("=> k", accessKey)
2020

2121
outID, err := accessKey.GetProjectID()
@@ -26,8 +26,8 @@ func TestAccessKeyEncoding(t *testing.T) {
2626
t.Run("v1", func(t *testing.T) {
2727
ctx := authcontrol.WithVersion(context.Background(), 1)
2828
projectID := uint64(12345)
29-
accessKey, ok := authcontrol.NewAccessKey(ctx, projectID)
30-
require.True(t, ok)
29+
accessKey, err := authcontrol.NewAccessKey(ctx, projectID)
30+
require.NoError(t, err)
3131
t.Log("=> k", accessKey)
3232
outID, err := accessKey.GetProjectID()
3333
require.NoError(t, err)
@@ -36,17 +36,17 @@ func TestAccessKeyEncoding(t *testing.T) {
3636
t.Run("v2", func(t *testing.T) {
3737
ctx := authcontrol.WithVersion(context.Background(), 2)
3838
projectID := uint64(12345)
39-
accessKey, ok := authcontrol.NewAccessKey(ctx, projectID)
40-
require.True(t, ok)
39+
accessKey, err := authcontrol.NewAccessKey(ctx, projectID)
40+
require.NoError(t, err)
4141
t.Log("=> k", accessKey, "| prefix =>", accessKey.GetPrefix())
4242
outID, err := accessKey.GetProjectID()
4343
require.NoError(t, err)
4444
require.Equal(t, projectID, outID)
4545

4646
ctx = authcontrol.WithPrefix(ctx, "newprefix:dev")
4747

48-
accessKey2, ok := authcontrol.NewAccessKey(ctx, projectID)
49-
require.True(t, ok)
48+
accessKey2, err := authcontrol.NewAccessKey(ctx, projectID)
49+
require.NoError(t, err)
5050
t.Log("=> k", accessKey2, "| prefix =>", accessKey2.GetPrefix())
5151
outID, err = accessKey2.GetProjectID()
5252
require.NoError(t, err)
@@ -60,8 +60,8 @@ func TestAccessKeyEncoding(t *testing.T) {
6060

6161
func TestDecode(t *testing.T) {
6262
ctx := authcontrol.WithVersion(context.Background(), 2)
63-
accessKey, ok := authcontrol.NewAccessKey(ctx, 237)
64-
require.True(t, ok)
63+
accessKey, err := authcontrol.NewAccessKey(ctx, 237)
64+
require.NoError(t, err)
6565
t.Log("=> k", accessKey, "| prefix =>", accessKey.GetPrefix())
6666
}
6767

0 commit comments

Comments
 (0)