@@ -2,17 +2,9 @@ package session
2
2
3
3
import (
4
4
"context"
5
- "testing"
6
5
"time"
7
6
8
- "github.com/bxcodec/faker/v3"
9
7
"github.com/gofrs/uuid"
10
- "github.com/stretchr/testify/assert"
11
- "github.com/stretchr/testify/require"
12
-
13
- "github.com/ory/kratos/driver/config"
14
- "github.com/ory/kratos/identity"
15
- "github.com/ory/kratos/x"
16
8
)
17
9
18
10
type PersistenceProvider interface {
@@ -59,111 +51,3 @@ type Persister interface {
59
51
// RevokeSessionsIdentityExcept marks all except the given session of an identity inactive. It returns the number of sessions that were revoked.
60
52
RevokeSessionsIdentityExcept (ctx context.Context , iID , sID uuid.UUID ) (int , error )
61
53
}
62
-
63
- func TestPersister (ctx context.Context , conf * config.Config , p interface {
64
- Persister
65
- identity.PrivilegedPool
66
- }) func (t * testing.T ) {
67
- return func (t * testing.T ) {
68
- conf .MustSet (ctx , config .ViperKeyIdentitySchemas , config.Schemas {
69
- {ID : "default" , URL : "file://./stub/identity.schema.json" },
70
- })
71
-
72
- t .Run ("case=not found" , func (t * testing.T ) {
73
- _ , err := p .GetSession (ctx , x .NewUUID ())
74
- require .Error (t , err )
75
- })
76
-
77
- t .Run ("case=create session" , func (t * testing.T ) {
78
- var expected Session
79
- require .NoError (t , faker .FakeData (& expected ))
80
- expected .Active = true
81
- require .NoError (t , p .CreateIdentity (ctx , expected .Identity ))
82
-
83
- assert .Equal (t , uuid .Nil , expected .ID )
84
- require .NoError (t , p .UpsertSession (ctx , & expected ))
85
- assert .NotEqual (t , uuid .Nil , expected .ID )
86
-
87
- check := func (actual * Session , err error ) {
88
- require .NoError (t , err )
89
- assert .Equal (t , expected .Identity .ID , actual .Identity .ID )
90
- assert .NotEmpty (t , actual .Identity .SchemaURL )
91
- assert .NotEmpty (t , actual .Identity .SchemaID )
92
- assert .Equal (t , expected .ID , actual .ID )
93
- assert .Equal (t , expected .Active , actual .Active )
94
- assert .Equal (t , expected .Token , actual .Token )
95
- assert .EqualValues (t , expected .ExpiresAt .Unix (), actual .ExpiresAt .Unix ())
96
- assert .Equal (t , expected .AuthenticatedAt .Unix (), actual .AuthenticatedAt .Unix ())
97
- assert .Equal (t , expected .IssuedAt .Unix (), actual .IssuedAt .Unix ())
98
- }
99
-
100
- t .Run ("method=get by id" , func (t * testing.T ) {
101
- check (p .GetSession (ctx , expected .ID ))
102
- })
103
-
104
- t .Run ("method=get by token" , func (t * testing.T ) {
105
- check (p .GetSessionByToken (ctx , expected .Token ))
106
- })
107
- })
108
-
109
- t .Run ("case=delete session" , func (t * testing.T ) {
110
- var expected Session
111
- require .NoError (t , faker .FakeData (& expected ))
112
- require .NoError (t , p .CreateIdentity (ctx , expected .Identity ))
113
- require .NoError (t , p .UpsertSession (ctx , & expected ))
114
-
115
- require .NoError (t , p .DeleteSession (ctx , expected .ID ))
116
- _ , err := p .GetSession (ctx , expected .ID )
117
- require .Error (t , err )
118
- })
119
-
120
- t .Run ("case=delete session by token" , func (t * testing.T ) {
121
- var expected Session
122
- require .NoError (t , faker .FakeData (& expected ))
123
- require .NoError (t , p .CreateIdentity (ctx , expected .Identity ))
124
- require .NoError (t , p .UpsertSession (ctx , & expected ))
125
-
126
- require .NoError (t , p .DeleteSessionByToken (ctx , expected .Token ))
127
- _ , err := p .GetSession (ctx , expected .ID )
128
- require .Error (t , err )
129
- })
130
-
131
- t .Run ("case=revoke session by token" , func (t * testing.T ) {
132
- var expected Session
133
- require .NoError (t , faker .FakeData (& expected ))
134
- expected .Active = true
135
- require .NoError (t , p .CreateIdentity (ctx , expected .Identity ))
136
- require .NoError (t , p .UpsertSession (ctx , & expected ))
137
-
138
- actual , err := p .GetSession (ctx , expected .ID )
139
- require .NoError (t , err )
140
- assert .True (t , actual .Active )
141
-
142
- require .NoError (t , p .RevokeSessionByToken (ctx , expected .Token ))
143
-
144
- actual , err = p .GetSession (ctx , expected .ID )
145
- require .NoError (t , err )
146
- assert .False (t , actual .Active )
147
- })
148
-
149
- t .Run ("case=delete session for" , func (t * testing.T ) {
150
- var expected1 Session
151
- var expected2 Session
152
- require .NoError (t , faker .FakeData (& expected1 ))
153
- require .NoError (t , p .CreateIdentity (ctx , expected1 .Identity ))
154
-
155
- require .NoError (t , p .UpsertSession (ctx , & expected1 ))
156
-
157
- require .NoError (t , faker .FakeData (& expected2 ))
158
- expected2 .Identity = expected1 .Identity
159
- expected2 .IdentityID = expected1 .IdentityID
160
- require .NoError (t , p .UpsertSession (ctx , & expected2 ))
161
-
162
- require .NoError (t , p .DeleteSessionsByIdentity (ctx , expected2 .IdentityID ))
163
- _ , err := p .GetSession (ctx , expected1 .ID )
164
- require .Error (t , err )
165
- _ , err = p .GetSession (ctx , expected2 .ID )
166
- require .Error (t , err )
167
- })
168
- }
169
- }
0 commit comments