@@ -59,8 +59,8 @@ func (s *ClientSuite) AfterTest(suiteName, testName string) {
5959}
6060
6161func (s * ClientSuite ) Test_ensureClientHasCorrectJsonRepresentation () {
62- actual := & model.Client {ID : 1 , UserID : 2 , Token : "Casdasfgeeg" , Name : "myclient" }
63- test .JSONEquals (s .T (), actual , `{"id":1,"token":"Casdasfgeeg","name":"myclient","lastUsed":null}` )
62+ actual := & model.Client {ID : 1 , UserID : 2 , Token : "Casdasfgeeg" , Name : "myclient" , CreatedAt : testdb . Now }
63+ test .JSONEquals (s .T (), actual , `{"id":1,"token":"Casdasfgeeg","name":"myclient","createdAt":"2020-01-01T00:00:00Z"," lastUsed":null,"expiresAfterInactivitySeconds":0 }` )
6464}
6565
6666func (s * ClientSuite ) Test_CreateClient_mapAllParameters () {
@@ -71,7 +71,7 @@ func (s *ClientSuite) Test_CreateClient_mapAllParameters() {
7171
7272 s .a .CreateClient (s .ctx )
7373
74- expected := & model.Client {ID : 1 , Token : firstClientToken , UserID : 5 , Name : "custom_name" }
74+ expected := & model.Client {ID : 1 , Token : firstClientToken , UserID : 5 , Name : "custom_name" , CreatedAt : testdb . Now }
7575 assert .Equal (s .T (), 200 , s .recorder .Code )
7676 if clients , err := s .db .GetClientsByUser (5 ); assert .NoError (s .T (), err ) {
7777 assert .Contains (s .T (), clients , expected )
@@ -85,7 +85,7 @@ func (s *ClientSuite) Test_CreateClient_ignoresReadOnlyPropertiesInParams() {
8585 s .withFormData ("name=myclient&ID=45&Token=12341234&UserID=333" )
8686
8787 s .a .CreateClient (s .ctx )
88- expected := & model.Client {ID : 1 , UserID : 5 , Token : firstClientToken , Name : "myclient" }
88+ expected := & model.Client {ID : 1 , UserID : 5 , Token : firstClientToken , Name : "myclient" , CreatedAt : testdb . Now }
8989
9090 assert .Equal (s .T (), 200 , s .recorder .Code )
9191 if clients , err := s .db .GetClientsByUser (5 ); assert .NoError (s .T (), err ) {
@@ -129,7 +129,7 @@ func (s *ClientSuite) Test_CreateClient_returnsClientWithID() {
129129
130130 s .a .CreateClient (s .ctx )
131131
132- expected := & model.Client {ID : 1 , Token : firstClientToken , Name : "custom_name" , UserID : 5 }
132+ expected := & model.Client {ID : 1 , Token : firstClientToken , Name : "custom_name" , CreatedAt : testdb . Now }
133133 assert .Equal (s .T (), 200 , s .recorder .Code )
134134 test .BodyEquals (s .T (), expected , s .recorder )
135135}
@@ -142,7 +142,7 @@ func (s *ClientSuite) Test_CreateClient_withExistingToken() {
142142
143143 s .a .CreateClient (s .ctx )
144144
145- expected := & model.Client {ID : 2 , Token : secondClientToken , Name : "custom_name" , UserID : 5 }
145+ expected := & model.Client {ID : 2 , Token : secondClientToken , Name : "custom_name" , CreatedAt : testdb . Now }
146146 assert .Equal (s .T (), 200 , s .recorder .Code )
147147 test .BodyEquals (s .T (), expected , s .recorder )
148148}
@@ -189,6 +189,34 @@ func (s *ClientSuite) Test_DeleteClient() {
189189 assert .True (s .T (), s .notified )
190190}
191191
192+ func (s * ClientSuite ) Test_CreateClient_acceptsExpiresAfterInactivitySeconds () {
193+ s .db .User (5 )
194+
195+ test .WithUser (s .ctx , 5 )
196+ s .withFormData ("name=custom_name&expiresAfterInactivitySeconds=3600" )
197+
198+ s .a .CreateClient (s .ctx )
199+
200+ assert .Equal (s .T (), 200 , s .recorder .Code )
201+ if client , err := s .db .GetClientByID (1 ); assert .NoError (s .T (), err ) {
202+ assert .Equal (s .T (), uint (3600 ), client .ExpiresAfterInactivitySeconds )
203+ }
204+ }
205+
206+ func (s * ClientSuite ) Test_UpdateClient_updatesExpiresAfterInactivitySeconds () {
207+ s .db .User (5 ).NewClientWithToken (1 , firstClientToken )
208+
209+ test .WithUser (s .ctx , 5 )
210+ s .withFormData ("name=firefox&expiresAfterInactivitySeconds=7200" )
211+ s .ctx .Params = gin.Params {{Key : "id" , Value : "1" }}
212+ s .a .UpdateClient (s .ctx )
213+
214+ assert .Equal (s .T (), 200 , s .recorder .Code )
215+ if client , err := s .db .GetClientByID (1 ); assert .NoError (s .T (), err ) {
216+ assert .Equal (s .T (), uint (7200 ), client .ExpiresAfterInactivitySeconds )
217+ }
218+ }
219+
192220func (s * ClientSuite ) Test_UpdateClient_expectSuccess () {
193221 s .db .User (5 ).NewClientWithToken (1 , firstClientToken )
194222
@@ -198,10 +226,11 @@ func (s *ClientSuite) Test_UpdateClient_expectSuccess() {
198226 s .a .UpdateClient (s .ctx )
199227
200228 expected := & model.Client {
201- ID : 1 ,
202- Token : firstClientToken ,
203- UserID : 5 ,
204- Name : "firefox" ,
229+ ID : 1 ,
230+ Token : firstClientToken ,
231+ UserID : 5 ,
232+ Name : "firefox" ,
233+ CreatedAt : testdb .Now ,
205234 }
206235
207236 assert .Equal (s .T (), 200 , s .recorder .Code )
0 commit comments