mirror of https://github.com/dexidp/dex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
1.8 KiB
88 lines
1.8 KiB
package kubernetes |
|
|
|
import ( |
|
"testing" |
|
"time" |
|
|
|
"github.com/coreos/dex/storage" |
|
) |
|
|
|
func muster(t *testing.T) func(err error) { |
|
return func(err error) { |
|
if err != nil { |
|
t.Fatal(err) |
|
} |
|
} |
|
} |
|
|
|
func TestGCAuthRequests(t *testing.T) { |
|
cli := loadClient(t) |
|
must := muster(t) |
|
|
|
now := time.Now() |
|
cli.now = func() time.Time { return now } |
|
|
|
expiredID := storage.NewID() |
|
goodID := storage.NewID() |
|
|
|
must(cli.CreateAuthRequest(storage.AuthRequest{ |
|
ID: expiredID, |
|
Expiry: now.Add(-time.Second), |
|
})) |
|
|
|
must(cli.CreateAuthRequest(storage.AuthRequest{ |
|
ID: goodID, |
|
Expiry: now.Add(time.Second), |
|
})) |
|
|
|
handleErr := func(err error) { t.Error(err.Error()) } |
|
cli.gcAuthRequests(handleErr) |
|
|
|
if _, err := cli.GetAuthRequest(goodID); err != nil { |
|
t.Errorf("failed to get good auth ID: %v", err) |
|
} |
|
_, err := cli.GetAuthRequest(expiredID) |
|
switch { |
|
case err == nil: |
|
t.Errorf("gc did not remove expired auth request") |
|
case err == storage.ErrNotFound: |
|
default: |
|
t.Errorf("expected storage.ErrNotFound, got %v", err) |
|
} |
|
} |
|
|
|
func TestGCAuthCodes(t *testing.T) { |
|
cli := loadClient(t) |
|
must := muster(t) |
|
|
|
now := time.Now() |
|
cli.now = func() time.Time { return now } |
|
|
|
expiredID := storage.NewID() |
|
goodID := storage.NewID() |
|
|
|
must(cli.CreateAuthCode(storage.AuthCode{ |
|
ID: expiredID, |
|
Expiry: now.Add(-time.Second), |
|
})) |
|
|
|
must(cli.CreateAuthCode(storage.AuthCode{ |
|
ID: goodID, |
|
Expiry: now.Add(time.Second), |
|
})) |
|
|
|
handleErr := func(err error) { t.Error(err.Error()) } |
|
cli.gcAuthCodes(handleErr) |
|
|
|
if _, err := cli.GetAuthCode(goodID); err != nil { |
|
t.Errorf("failed to get good auth ID: %v", err) |
|
} |
|
_, err := cli.GetAuthCode(expiredID) |
|
switch { |
|
case err == nil: |
|
t.Errorf("gc did not remove expired auth request") |
|
case err == storage.ErrNotFound: |
|
default: |
|
t.Errorf("expected storage.ErrNotFound, got %v", err) |
|
} |
|
}
|
|
|