1- use crate :: models:: token:: { CrateScope , EndpointScope } ;
2- use crate :: models:: ApiToken ;
1+ use crate :: models:: token:: { CrateScope , EndpointScope , NewApiToken } ;
32use crate :: tests:: util:: insta:: { self , assert_json_snapshot} ;
43use crate :: tests:: util:: { RequestHelper , TestApp } ;
54use chrono:: { Duration , Utc } ;
@@ -33,32 +32,26 @@ async fn list_tokens() {
3332 let mut conn = app. db_conn ( ) . await ;
3433 let id = user. as_model ( ) . id ;
3534
36- assert_ok ! ( ApiToken :: insert( & mut conn, id, "bar" ) . await ) ;
37- assert_ok ! (
38- ApiToken :: insert_with_scopes(
39- & mut conn,
40- id,
41- "baz" ,
42- Some ( vec![
43- CrateScope :: try_from( "serde" ) . unwrap( ) ,
44- CrateScope :: try_from( "serde-*" ) . unwrap( )
45- ] ) ,
46- Some ( vec![ EndpointScope :: PublishUpdate ] ) ,
47- None
48- )
49- . await
50- ) ;
51- assert_ok ! (
52- ApiToken :: insert_with_scopes(
53- & mut conn,
54- id,
55- "qux" ,
56- None ,
57- None ,
58- Some ( ( Utc :: now( ) - Duration :: days( 1 ) ) . naive_utc( ) ) ,
59- )
60- . await
61- ) ;
35+ let new_token = NewApiToken :: builder ( ) . name ( "bar" ) . user_id ( id) . build ( ) ;
36+ assert_ok ! ( new_token. insert( & mut conn) . await ) ;
37+
38+ let new_token = NewApiToken :: builder ( )
39+ . name ( "baz" )
40+ . user_id ( id)
41+ . crate_scopes ( vec ! [
42+ CrateScope :: try_from( "serde" ) . unwrap( ) ,
43+ CrateScope :: try_from( "serde-*" ) . unwrap( ) ,
44+ ] )
45+ . endpoint_scopes ( vec ! [ EndpointScope :: PublishUpdate ] )
46+ . build ( ) ;
47+ assert_ok ! ( new_token. insert( & mut conn) . await ) ;
48+
49+ let new_token = NewApiToken :: builder ( )
50+ . name ( "qux" )
51+ . user_id ( id)
52+ . expired_at ( ( Utc :: now ( ) - Duration :: days ( 1 ) ) . naive_utc ( ) )
53+ . build ( ) ;
54+ assert_ok ! ( new_token. insert( & mut conn) . await ) ;
6255
6356 let response = user. get :: < ( ) > ( "/api/v1/me/tokens" ) . await ;
6457 assert_eq ! ( response. status( ) , StatusCode :: OK ) ;
@@ -80,32 +73,27 @@ async fn list_recently_expired_tokens() {
8073 let mut conn = app. db_conn ( ) . await ;
8174 let id = user. as_model ( ) . id ;
8275
83- assert_ok ! ( ApiToken :: insert( & mut conn, id, "bar" ) . await ) ;
84- assert_ok ! (
85- ApiToken :: insert_with_scopes(
86- & mut conn,
87- id,
88- "ancient" ,
89- Some ( vec![
90- CrateScope :: try_from( "serde" ) . unwrap( ) ,
91- CrateScope :: try_from( "serde-*" ) . unwrap( )
92- ] ) ,
93- Some ( vec![ EndpointScope :: PublishUpdate ] ) ,
94- Some ( ( Utc :: now( ) - Duration :: days( 31 ) ) . naive_utc( ) ) ,
95- )
96- . await
97- ) ;
98- assert_ok ! (
99- ApiToken :: insert_with_scopes(
100- & mut conn,
101- id,
102- "recent" ,
103- None ,
104- None ,
105- Some ( ( Utc :: now( ) - Duration :: days( 1 ) ) . naive_utc( ) ) ,
106- )
107- . await
108- ) ;
76+ let new_token = NewApiToken :: builder ( ) . name ( "bar" ) . user_id ( id) . build ( ) ;
77+ assert_ok ! ( new_token. insert( & mut conn) . await ) ;
78+
79+ let new_token = NewApiToken :: builder ( )
80+ . name ( "ancient" )
81+ . user_id ( id)
82+ . crate_scopes ( vec ! [
83+ CrateScope :: try_from( "serde" ) . unwrap( ) ,
84+ CrateScope :: try_from( "serde-*" ) . unwrap( ) ,
85+ ] )
86+ . endpoint_scopes ( vec ! [ EndpointScope :: PublishUpdate ] )
87+ . expired_at ( ( Utc :: now ( ) - Duration :: days ( 31 ) ) . naive_utc ( ) )
88+ . build ( ) ;
89+ assert_ok ! ( new_token. insert( & mut conn) . await ) ;
90+
91+ let new_token = NewApiToken :: builder ( )
92+ . name ( "recent" )
93+ . user_id ( id)
94+ . expired_at ( ( Utc :: now ( ) - Duration :: days ( 1 ) ) . naive_utc ( ) )
95+ . build ( ) ;
96+ assert_ok ! ( new_token. insert( & mut conn) . await ) ;
10997
11098 let response = user. get :: < ( ) > ( "/api/v1/me/tokens?expired_days=30" ) . await ;
11199 assert_eq ! ( response. status( ) , StatusCode :: OK ) ;
@@ -131,8 +119,11 @@ async fn list_tokens_exclude_revoked() {
131119 let mut conn = app. db_conn ( ) . await ;
132120 let id = user. as_model ( ) . id ;
133121
134- let token1 = assert_ok ! ( ApiToken :: insert( & mut conn, id, "bar" ) . await ) ;
135- assert_ok ! ( ApiToken :: insert( & mut conn, id, "baz" ) . await ) ;
122+ let new_token = NewApiToken :: builder ( ) . name ( "bar" ) . user_id ( id) . build ( ) ;
123+ let token1 = assert_ok ! ( new_token. insert( & mut conn) . await ) ;
124+
125+ let new_token = NewApiToken :: builder ( ) . name ( "baz" ) . user_id ( id) . build ( ) ;
126+ assert_ok ! ( new_token. insert( & mut conn) . await ) ;
136127
137128 // List tokens expecting them all to be there.
138129 let response = user. get :: < ( ) > ( "/api/v1/me/tokens" ) . await ;
@@ -143,7 +134,7 @@ async fn list_tokens_exclude_revoked() {
143134
144135 // Revoke the first token.
145136 let response = user
146- . delete :: < ( ) > ( & format ! ( "/api/v1/me/tokens/{}" , token1. model . id) )
137+ . delete :: < ( ) > ( & format ! ( "/api/v1/me/tokens/{}" , token1. id) )
147138 . await ;
148139 assert_eq ! ( response. status( ) , StatusCode :: OK ) ;
149140
0 commit comments