mirror of
https://github.com/oauth2-proxy/oauth2-proxy.git
synced 2025-05-29 23:17:38 +02:00
Fix tests for stored_session.go in middleware
This commit is contained in:
parent
d8663a19a9
commit
fca2d76f33
@ -103,7 +103,7 @@ func (s *storedSessionLoader) getValidatedSession(rw http.ResponseWriter, req *h
|
|||||||
|
|
||||||
err = s.refreshSessionIfNeeded(rw, req, session)
|
err = s.refreshSessionIfNeeded(rw, req, session)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error refreshing access token for session (%s): %v", session, err)
|
logger.Errorf("error refreshing access token for session (%s): %v", session, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate all sessions after any Redeem/Refresh operation (fail or success)
|
// Validate all sessions after any Redeem/Refresh operation (fail or success)
|
||||||
|
@ -181,6 +181,7 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
RefreshToken: noRefresh,
|
RefreshToken: noRefresh,
|
||||||
CreatedAt: &createdPast,
|
CreatedAt: &createdPast,
|
||||||
ExpiresOn: &createdFuture,
|
ExpiresOn: &createdFuture,
|
||||||
|
Lock: &sessionsapi.NoOpLock{},
|
||||||
},
|
},
|
||||||
store: defaultSessionStore,
|
store: defaultSessionStore,
|
||||||
refreshPeriod: 1 * time.Minute,
|
refreshPeriod: 1 * time.Minute,
|
||||||
@ -222,6 +223,7 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
RefreshToken: "Refreshed",
|
RefreshToken: "Refreshed",
|
||||||
CreatedAt: &now,
|
CreatedAt: &now,
|
||||||
ExpiresOn: &createdFuture,
|
ExpiresOn: &createdFuture,
|
||||||
|
Lock: &sessionsapi.NoOpLock{},
|
||||||
},
|
},
|
||||||
store: defaultSessionStore,
|
store: defaultSessionStore,
|
||||||
refreshPeriod: 1 * time.Minute,
|
refreshPeriod: 1 * time.Minute,
|
||||||
@ -237,6 +239,7 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
RefreshToken: "RefreshError",
|
RefreshToken: "RefreshError",
|
||||||
CreatedAt: &createdPast,
|
CreatedAt: &createdPast,
|
||||||
ExpiresOn: &createdFuture,
|
ExpiresOn: &createdFuture,
|
||||||
|
Lock: &sessionsapi.NoOpLock{},
|
||||||
},
|
},
|
||||||
store: defaultSessionStore,
|
store: defaultSessionStore,
|
||||||
refreshPeriod: 1 * time.Minute,
|
refreshPeriod: 1 * time.Minute,
|
||||||
@ -274,7 +277,6 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
session *sessionsapi.SessionState
|
session *sessionsapi.SessionState
|
||||||
expectedErr error
|
expectedErr error
|
||||||
expectRefreshed bool
|
expectRefreshed bool
|
||||||
expectValidated bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
createdPast := time.Now().Add(-5 * time.Minute)
|
createdPast := time.Now().Add(-5 * time.Minute)
|
||||||
@ -283,7 +285,6 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
DescribeTable("with a session",
|
DescribeTable("with a session",
|
||||||
func(in refreshSessionIfNeededTableInput) {
|
func(in refreshSessionIfNeededTableInput) {
|
||||||
refreshed := false
|
refreshed := false
|
||||||
validated := false
|
|
||||||
|
|
||||||
s := &storedSessionLoader{
|
s := &storedSessionLoader{
|
||||||
refreshPeriod: in.refreshPeriod,
|
refreshPeriod: in.refreshPeriod,
|
||||||
@ -302,7 +303,6 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
sessionValidator: func(_ context.Context, ss *sessionsapi.SessionState) bool {
|
sessionValidator: func(_ context.Context, ss *sessionsapi.SessionState) bool {
|
||||||
validated = true
|
|
||||||
return ss.AccessToken != "Invalid"
|
return ss.AccessToken != "Invalid"
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -315,7 +315,6 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
}
|
}
|
||||||
Expect(refreshed).To(Equal(in.expectRefreshed))
|
Expect(refreshed).To(Equal(in.expectRefreshed))
|
||||||
Expect(validated).To(Equal(in.expectValidated))
|
|
||||||
},
|
},
|
||||||
Entry("when the refresh period is 0, and the session does not need refreshing", refreshSessionIfNeededTableInput{
|
Entry("when the refresh period is 0, and the session does not need refreshing", refreshSessionIfNeededTableInput{
|
||||||
refreshPeriod: time.Duration(0),
|
refreshPeriod: time.Duration(0),
|
||||||
@ -325,7 +324,6 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
},
|
},
|
||||||
expectedErr: nil,
|
expectedErr: nil,
|
||||||
expectRefreshed: false,
|
expectRefreshed: false,
|
||||||
expectValidated: false,
|
|
||||||
}),
|
}),
|
||||||
Entry("when the refresh period is 0, and the session needs refreshing", refreshSessionIfNeededTableInput{
|
Entry("when the refresh period is 0, and the session needs refreshing", refreshSessionIfNeededTableInput{
|
||||||
refreshPeriod: time.Duration(0),
|
refreshPeriod: time.Duration(0),
|
||||||
@ -335,7 +333,6 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
},
|
},
|
||||||
expectedErr: nil,
|
expectedErr: nil,
|
||||||
expectRefreshed: false,
|
expectRefreshed: false,
|
||||||
expectValidated: false,
|
|
||||||
}),
|
}),
|
||||||
Entry("when the session does not need refreshing", refreshSessionIfNeededTableInput{
|
Entry("when the session does not need refreshing", refreshSessionIfNeededTableInput{
|
||||||
refreshPeriod: 1 * time.Minute,
|
refreshPeriod: 1 * time.Minute,
|
||||||
@ -345,7 +342,6 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
},
|
},
|
||||||
expectedErr: nil,
|
expectedErr: nil,
|
||||||
expectRefreshed: false,
|
expectRefreshed: false,
|
||||||
expectValidated: false,
|
|
||||||
}),
|
}),
|
||||||
Entry("when the session is refreshed by the provider", refreshSessionIfNeededTableInput{
|
Entry("when the session is refreshed by the provider", refreshSessionIfNeededTableInput{
|
||||||
refreshPeriod: 1 * time.Minute,
|
refreshPeriod: 1 * time.Minute,
|
||||||
@ -355,7 +351,6 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
},
|
},
|
||||||
expectedErr: nil,
|
expectedErr: nil,
|
||||||
expectRefreshed: true,
|
expectRefreshed: true,
|
||||||
expectValidated: true,
|
|
||||||
}),
|
}),
|
||||||
Entry("when the session is not refreshed by the provider", refreshSessionIfNeededTableInput{
|
Entry("when the session is not refreshed by the provider", refreshSessionIfNeededTableInput{
|
||||||
refreshPeriod: 1 * time.Minute,
|
refreshPeriod: 1 * time.Minute,
|
||||||
@ -366,7 +361,6 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
},
|
},
|
||||||
expectedErr: nil,
|
expectedErr: nil,
|
||||||
expectRefreshed: true,
|
expectRefreshed: true,
|
||||||
expectValidated: true,
|
|
||||||
}),
|
}),
|
||||||
Entry("when the provider doesn't implement refresh but validation succeeds", refreshSessionIfNeededTableInput{
|
Entry("when the provider doesn't implement refresh but validation succeeds", refreshSessionIfNeededTableInput{
|
||||||
refreshPeriod: 1 * time.Minute,
|
refreshPeriod: 1 * time.Minute,
|
||||||
@ -376,19 +370,8 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
},
|
},
|
||||||
expectedErr: nil,
|
expectedErr: nil,
|
||||||
expectRefreshed: true,
|
expectRefreshed: true,
|
||||||
expectValidated: true,
|
|
||||||
}),
|
}),
|
||||||
Entry("when the provider refresh fails but validation succeeds", refreshSessionIfNeededTableInput{
|
Entry("when the session is not refreshed by the provider", refreshSessionIfNeededTableInput{
|
||||||
refreshPeriod: 1 * time.Minute,
|
|
||||||
session: &sessionsapi.SessionState{
|
|
||||||
RefreshToken: "RefreshError",
|
|
||||||
CreatedAt: &createdPast,
|
|
||||||
},
|
|
||||||
expectedErr: nil,
|
|
||||||
expectRefreshed: true,
|
|
||||||
expectValidated: true,
|
|
||||||
}),
|
|
||||||
Entry("when the session is not refreshed by the provider and validation fails", refreshSessionIfNeededTableInput{
|
|
||||||
refreshPeriod: 1 * time.Minute,
|
refreshPeriod: 1 * time.Minute,
|
||||||
session: &sessionsapi.SessionState{
|
session: &sessionsapi.SessionState{
|
||||||
AccessToken: "Invalid",
|
AccessToken: "Invalid",
|
||||||
@ -396,9 +379,8 @@ var _ = Describe("Stored Session Suite", func() {
|
|||||||
CreatedAt: &createdPast,
|
CreatedAt: &createdPast,
|
||||||
ExpiresOn: &createdFuture,
|
ExpiresOn: &createdFuture,
|
||||||
},
|
},
|
||||||
expectedErr: errors.New("session is invalid"),
|
expectedErr: nil,
|
||||||
expectRefreshed: true,
|
expectRefreshed: true,
|
||||||
expectValidated: true,
|
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user