@@ -15,6 +15,7 @@ use cargo_registry::download::EncodableVersionDownload;
15
15
use cargo_registry:: git;
16
16
use cargo_registry:: keyword:: { Keyword , EncodableKeyword } ;
17
17
use cargo_registry:: krate:: { Crate , EncodableCrate , MAX_NAME_LENGTH } ;
18
+ use cargo_registry:: token:: ApiToken ;
18
19
use cargo_registry:: upload as u;
19
20
use cargo_registry:: user:: EncodableUser ;
20
21
use cargo_registry:: version:: EncodableVersion ;
@@ -418,6 +419,24 @@ fn new_krate() {
418
419
assert_eq ! ( json. krate. max_version, "1.0.0" ) ;
419
420
}
420
421
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
+
421
440
#[ test]
422
441
fn new_krate_with_reserved_name ( ) {
423
442
fn test_bad_name ( name : & str ) {
0 commit comments