This commit is contained in:
Uğur Tafralı 2026-08-14 15:29:33 +02:00 committed by GitHub
commit 9d7bb3dd28
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 40 additions and 13 deletions

View File

@ -642,6 +642,8 @@ var _ = Describe("Stored Session Suite", func() {
session *sessionsapi.SessionState session *sessionsapi.SessionState
expectedErr error expectedErr error
expectSaved bool expectSaved bool
expectEnriched bool
sessionEnricher func(context.Context, *sessionsapi.SessionState) error
} }
now := time.Now() now := time.Now()
@ -649,6 +651,7 @@ var _ = Describe("Stored Session Suite", func() {
DescribeTable("when refreshing with the provider", DescribeTable("when refreshing with the provider",
func(in refreshSessionWithProviderTableInput) { func(in refreshSessionWithProviderTableInput) {
saved := false saved := false
enriched := false
s := &storedSessionLoader{ s := &storedSessionLoader{
store: &fakeSessionStore{ store: &fakeSessionStore{
@ -672,6 +675,13 @@ var _ = Describe("Stored Session Suite", func() {
return false, errors.New("error refreshing session") return false, errors.New("error refreshing session")
} }
}, },
sessionEnricher: func(_ context.Context, _ *sessionsapi.SessionState) error {
enriched = true
if in.sessionEnricher != nil {
return in.sessionEnricher(context.Background(), nil)
}
return nil
},
} }
req := httptest.NewRequest("", "/", nil) req := httptest.NewRequest("", "/", nil)
@ -683,6 +693,7 @@ var _ = Describe("Stored Session Suite", func() {
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
} }
Expect(saved).To(Equal(in.expectSaved)) Expect(saved).To(Equal(in.expectSaved))
Expect(enriched).To(Equal(in.expectEnriched))
}, },
Entry("when the provider does not refresh the session", refreshSessionWithProviderTableInput{ Entry("when the provider does not refresh the session", refreshSessionWithProviderTableInput{
session: &sessionsapi.SessionState{ session: &sessionsapi.SessionState{
@ -690,6 +701,7 @@ var _ = Describe("Stored Session Suite", func() {
}, },
expectedErr: nil, expectedErr: nil,
expectSaved: false, expectSaved: false,
expectEnriched: false,
}), }),
Entry("when the provider refreshes the session", refreshSessionWithProviderTableInput{ Entry("when the provider refreshes the session", refreshSessionWithProviderTableInput{
session: &sessionsapi.SessionState{ session: &sessionsapi.SessionState{
@ -697,6 +709,7 @@ var _ = Describe("Stored Session Suite", func() {
}, },
expectedErr: nil, expectedErr: nil,
expectSaved: true, expectSaved: true,
expectEnriched: true,
}), }),
Entry("when the provider doesn't implement refresh", refreshSessionWithProviderTableInput{ Entry("when the provider doesn't implement refresh", refreshSessionWithProviderTableInput{
session: &sessionsapi.SessionState{ session: &sessionsapi.SessionState{
@ -704,6 +717,7 @@ var _ = Describe("Stored Session Suite", func() {
}, },
expectedErr: nil, expectedErr: nil,
expectSaved: true, expectSaved: true,
expectEnriched: false,
}), }),
Entry("when the provider returns an error", refreshSessionWithProviderTableInput{ Entry("when the provider returns an error", refreshSessionWithProviderTableInput{
session: &sessionsapi.SessionState{ session: &sessionsapi.SessionState{
@ -713,6 +727,7 @@ var _ = Describe("Stored Session Suite", func() {
}, },
expectedErr: errors.New("error refreshing tokens: error refreshing session"), expectedErr: errors.New("error refreshing tokens: error refreshing session"),
expectSaved: false, expectSaved: false,
expectEnriched: false,
}), }),
Entry("when the saving the session returns an error", refreshSessionWithProviderTableInput{ Entry("when the saving the session returns an error", refreshSessionWithProviderTableInput{
session: &sessionsapi.SessionState{ session: &sessionsapi.SessionState{
@ -721,6 +736,18 @@ var _ = Describe("Stored Session Suite", func() {
}, },
expectedErr: errors.New("error saving session: unable to save session"), expectedErr: errors.New("error saving session: unable to save session"),
expectSaved: true, expectSaved: true,
expectEnriched: true,
}),
Entry("when enriching the session returns an error", refreshSessionWithProviderTableInput{
session: &sessionsapi.SessionState{
RefreshToken: refresh,
},
sessionEnricher: func(_ context.Context, _ *sessionsapi.SessionState) error {
return errors.New("enrich error")
},
expectedErr: errors.New("error enriching session after refresh: enrich error"),
expectSaved: false,
expectEnriched: true,
}), }),
) )
}) })