@@ -15,6 +15,7 @@ use cargo_registry::download::EncodableVersionDownload;
1515use cargo_registry:: git;
1616use cargo_registry:: keyword:: { Keyword , EncodableKeyword } ;
1717use cargo_registry:: krate:: { Crate , EncodableCrate } ;
18+ use cargo_registry:: token:: ApiToken ;
1819use cargo_registry:: upload as u;
1920use cargo_registry:: user:: EncodableUser ;
2021use cargo_registry:: version:: EncodableVersion ;
@@ -418,6 +419,24 @@ fn new_krate() {
418419 assert_eq ! ( json. krate. max_version, "1.0.0" ) ;
419420}
420421
422+ #[ test]
423+ fn new_krate_with_token ( ) {
424+ let ( _b, app, middle) = :: app ( ) ;
425+ let mut req = :: new_req ( app. clone ( ) , "foo_new" , "1.0.0" ) ;
426+
427+ {
428+ let conn = t ! ( app. diesel_database. get( ) ) ;
429+ let user = t ! ( :: new_user( "foo" ) . create_or_update( & conn) ) ;
430+ let token = t ! ( ApiToken :: insert( & conn, user. id, "bar" ) ) ;
431+ req. header ( "Authorization" , & token. token ) ;
432+ }
433+
434+ let mut response = ok_resp ! ( middle. call( & mut req) ) ;
435+ let json: GoodCrate = :: json ( & mut response) ;
436+ assert_eq ! ( json. krate. name, "foo_new" ) ;
437+ assert_eq ! ( json. krate. max_version, "1.0.0" ) ;
438+ }
439+
421440#[ test]
422441fn new_krate_with_reserved_name ( ) {
423442 fn test_bad_name ( name : & str ) {
0 commit comments