Update naming for a const

This commit is contained in:
Prateek Gogia 2022-07-14 19:13:22 -05:00
parent b346cedefb
commit 3f412cdf5d
2 changed files with 30 additions and 30 deletions

View File

@ -24,14 +24,14 @@ import (
) )
const ( const (
invalidateCredsAfter = 1 * time.Second invalidateCredsCacheAfter = 1 * time.Second
) )
// assumeRoleProviderWithRateLimiting makes sure we call the underlying provider only // assumeRoleProviderWithRateLimiting makes sure we call the underlying provider only
// once after `invalidateCredsAfter` period // once after `invalidateCredsCacheAfter` period
type assumeRoleProviderWithRateLimiting struct { type assumeRoleProviderWithRateLimiting struct {
provider credentials.Provider provider credentials.Provider
invalidateCredsAfter time.Duration invalidateCredsCacheAfter time.Duration
sync.RWMutex sync.RWMutex
lastError error lastError error
lastValue credentials.Value lastValue credentials.Value
@ -40,13 +40,13 @@ type assumeRoleProviderWithRateLimiting struct {
func assumeRoleProvider(provider credentials.Provider) credentials.Provider { func assumeRoleProvider(provider credentials.Provider) credentials.Provider {
return &assumeRoleProviderWithRateLimiting{provider: provider, return &assumeRoleProviderWithRateLimiting{provider: provider,
invalidateCredsAfter: invalidateCredsAfter} invalidateCredsCacheAfter: invalidateCredsCacheAfter}
} }
func (l *assumeRoleProviderWithRateLimiting) Retrieve() (credentials.Value, error) { func (l *assumeRoleProviderWithRateLimiting) Retrieve() (credentials.Value, error) {
l.Lock() l.Lock()
defer l.Unlock() defer l.Unlock()
if time.Since(l.lastRetrieveTime) < l.invalidateCredsAfter { if time.Since(l.lastRetrieveTime) < l.invalidateCredsCacheAfter {
if l.lastError != nil { if l.lastError != nil {
return credentials.Value{}, l.lastError return credentials.Value{}, l.lastError
} }

View File

@ -28,12 +28,12 @@ import (
func Test_assumeRoleProviderWithRateLimiting_Retrieve(t *testing.T) { func Test_assumeRoleProviderWithRateLimiting_Retrieve(t *testing.T) {
type fields struct { type fields struct {
provider credentials.Provider provider credentials.Provider
invalidateCredsAfter time.Duration invalidateCredsCacheAfter time.Duration
RWMutex sync.RWMutex RWMutex sync.RWMutex
lastError error lastError error
lastValue credentials.Value lastValue credentials.Value
lastRetrieveTime time.Time lastRetrieveTime time.Time
} }
tests := []struct { tests := []struct {
name string name string
@ -51,10 +51,10 @@ func Test_assumeRoleProviderWithRateLimiting_Retrieve(t *testing.T) {
}, { }, {
name: "Immediate call to assume role API, shouldn't call the underlying provider and return the last value", name: "Immediate call to assume role API, shouldn't call the underlying provider and return the last value",
fields: fields{ fields: fields{
provider: &fakeAssumeRoleProvider{accesskeyID: "fakeID"}, provider: &fakeAssumeRoleProvider{accesskeyID: "fakeID"},
invalidateCredsAfter: 100 * time.Millisecond, invalidateCredsCacheAfter: 100 * time.Millisecond,
lastValue: credentials.Value{AccessKeyID: "fakeID1"}, lastValue: credentials.Value{AccessKeyID: "fakeID1"},
lastRetrieveTime: time.Now(), lastRetrieveTime: time.Now(),
}, },
want: credentials.Value{AccessKeyID: "fakeID1"}, want: credentials.Value{AccessKeyID: "fakeID1"},
wantProviderCalled: false, wantProviderCalled: false,
@ -62,9 +62,9 @@ func Test_assumeRoleProviderWithRateLimiting_Retrieve(t *testing.T) {
}, { }, {
name: "Assume role provider returns an error when trying to assume a role", name: "Assume role provider returns an error when trying to assume a role",
fields: fields{ fields: fields{
provider: &fakeAssumeRoleProvider{err: fmt.Errorf("can't assume fake role")}, provider: &fakeAssumeRoleProvider{err: fmt.Errorf("can't assume fake role")},
invalidateCredsAfter: 10 * time.Millisecond, invalidateCredsCacheAfter: 10 * time.Millisecond,
lastRetrieveTime: time.Now(), lastRetrieveTime: time.Now(),
}, },
wantProviderCalled: true, wantProviderCalled: true,
wantErr: true, wantErr: true,
@ -73,9 +73,9 @@ func Test_assumeRoleProviderWithRateLimiting_Retrieve(t *testing.T) {
}, { }, {
name: "Immediate call to assume role API, shouldn't call the underlying provider and return the last error value", name: "Immediate call to assume role API, shouldn't call the underlying provider and return the last error value",
fields: fields{ fields: fields{
provider: &fakeAssumeRoleProvider{}, provider: &fakeAssumeRoleProvider{},
invalidateCredsAfter: 100 * time.Millisecond, invalidateCredsCacheAfter: 100 * time.Millisecond,
lastRetrieveTime: time.Now(), lastRetrieveTime: time.Now(),
}, },
want: credentials.Value{}, want: credentials.Value{},
wantProviderCalled: false, wantProviderCalled: false,
@ -84,9 +84,9 @@ func Test_assumeRoleProviderWithRateLimiting_Retrieve(t *testing.T) {
}, { }, {
name: "Delayed call to assume role API, should call the underlying provider", name: "Delayed call to assume role API, should call the underlying provider",
fields: fields{ fields: fields{
provider: &fakeAssumeRoleProvider{accesskeyID: "fakeID2"}, provider: &fakeAssumeRoleProvider{accesskeyID: "fakeID2"},
invalidateCredsAfter: 20 * time.Millisecond, invalidateCredsCacheAfter: 20 * time.Millisecond,
lastRetrieveTime: time.Now(), lastRetrieveTime: time.Now(),
}, },
want: credentials.Value{AccessKeyID: "fakeID2"}, want: credentials.Value{AccessKeyID: "fakeID2"},
wantProviderCalled: true, wantProviderCalled: true,
@ -95,11 +95,11 @@ func Test_assumeRoleProviderWithRateLimiting_Retrieve(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
l := &assumeRoleProviderWithRateLimiting{ l := &assumeRoleProviderWithRateLimiting{
provider: tt.fields.provider, provider: tt.fields.provider,
invalidateCredsAfter: tt.fields.invalidateCredsAfter, invalidateCredsCacheAfter: tt.fields.invalidateCredsCacheAfter,
lastError: tt.fields.lastError, lastError: tt.fields.lastError,
lastValue: tt.fields.lastValue, lastValue: tt.fields.lastValue,
lastRetrieveTime: tt.fields.lastRetrieveTime, lastRetrieveTime: tt.fields.lastRetrieveTime,
} }
time.Sleep(tt.sleepBeforeCallingProvider) time.Sleep(tt.sleepBeforeCallingProvider)
got, err := l.Retrieve() got, err := l.Retrieve()