@@ -346,154 +346,170 @@ mod tests {
346346 use super :: * ;
347347
348348 #[ tokio:: test]
349- async fn create_item_plain ( ) {
350- let ( server_conn, client_conn) = crate :: tests:: create_p2p_connection ( ) . await ;
349+ async fn create_item_plain ( ) -> Result < ( ) , Box < dyn std :: error :: Error > > {
350+ let ( server_conn, client_conn) = crate :: tests:: create_p2p_connection ( ) . await ? ;
351351
352352 let _server = Service :: run_with_connection (
353353 server_conn,
354354 Some ( oo7:: Secret :: from ( "test-password-long-enough" ) ) ,
355355 )
356- . await
357- . unwrap ( ) ;
356+ . await ?;
358357
359358 tokio:: time:: sleep ( tokio:: time:: Duration :: from_millis ( 50 ) ) . await ;
360359
361- let service_api = dbus:: api:: Service :: new ( & client_conn) . await . unwrap ( ) ;
360+ let service_api = dbus:: api:: Service :: new ( & client_conn) . await ? ;
362361
363362 // Open plain session
364- let ( _aes_key, session) = service_api. open_session ( None ) . await . unwrap ( ) ;
363+ let ( _aes_key, session) = service_api. open_session ( None ) . await ? ;
365364
366365 // Get default collection
367- let collections = service_api. collections ( ) . await . unwrap ( ) ;
366+ let collections = service_api. collections ( ) . await ? ;
368367
369368 // Create an item using the proper API
370369 let secret = oo7:: Secret :: text ( "my-secret-password" ) ;
371- let attributes = & [ ( "application" , "test-app" ) , ( "type" , "password" ) ] ;
372370 let dbus_secret = dbus:: api:: DBusSecret :: new ( Arc :: new ( session) , secret. clone ( ) ) ;
373371
374372 let item = collections[ 0 ]
375- . create_item ( "Test Item" , attributes, & dbus_secret, false , None )
376- . await
377- . unwrap ( ) ;
373+ . create_item (
374+ "Test Item" ,
375+ & [ ( "application" , "test-app" ) , ( "type" , "password" ) ] ,
376+ & dbus_secret,
377+ false ,
378+ None ,
379+ )
380+ . await ?;
378381
379382 // Verify item exists in collection
380- let items = collections[ 0 ] . items ( ) . await . unwrap ( ) ;
383+ let items = collections[ 0 ] . items ( ) . await ? ;
381384 assert_eq ! ( items. len( ) , 1 , "Collection should have one item" ) ;
382385 assert_eq ! ( items[ 0 ] . inner( ) . path( ) , item. inner( ) . path( ) ) ;
383386
384387 // Verify item label
385- let label = item. label ( ) . await . unwrap ( ) ;
388+ let label = item. label ( ) . await ? ;
386389 assert_eq ! ( label, "Test Item" ) ;
390+
391+ Ok ( ( ) )
387392 }
388393
389394 #[ tokio:: test]
390- async fn create_item_encrypted ( ) {
391- let ( server_conn, client_conn) = crate :: tests:: create_p2p_connection ( ) . await ;
395+ async fn create_item_encrypted ( ) -> Result < ( ) , Box < dyn std :: error :: Error > > {
396+ let ( server_conn, client_conn) = crate :: tests:: create_p2p_connection ( ) . await ? ;
392397
393398 let _server = Service :: run_with_connection (
394399 server_conn,
395400 Some ( oo7:: Secret :: from ( "test-password-long-enough" ) ) ,
396401 )
397- . await
398- . unwrap ( ) ;
402+ . await ?;
399403
400404 tokio:: time:: sleep ( tokio:: time:: Duration :: from_millis ( 50 ) ) . await ;
401405
402- let service_api = dbus:: api:: Service :: new ( & client_conn) . await . unwrap ( ) ;
406+ let service_api = dbus:: api:: Service :: new ( & client_conn) . await ? ;
403407
404408 // Open encrypted session
405- let client_private_key = oo7:: Key :: generate_private_key ( ) . unwrap ( ) ;
406- let client_public_key = oo7:: Key :: generate_public_key ( & client_private_key) . unwrap ( ) ;
409+ let client_private_key = oo7:: Key :: generate_private_key ( ) ? ;
410+ let client_public_key = oo7:: Key :: generate_public_key ( & client_private_key) ? ;
407411
408- let ( server_public_key_opt, session) = service_api
409- . open_session ( Some ( client_public_key) )
410- . await
411- . unwrap ( ) ;
412+ let ( server_public_key_opt, session) =
413+ service_api. open_session ( Some ( client_public_key) ) . await ?;
412414
413415 let server_public_key = server_public_key_opt. unwrap ( ) ;
414- let aes_key = oo7:: Key :: generate_aes_key ( & client_private_key, & server_public_key) . unwrap ( ) ;
416+ let aes_key = oo7:: Key :: generate_aes_key ( & client_private_key, & server_public_key) ? ;
415417
416418 // Get default collection
417- let collections = service_api. collections ( ) . await . unwrap ( ) ;
419+ let collections = service_api. collections ( ) . await ? ;
418420
419421 // Create an encrypted item using the proper API
420422 let secret = oo7:: Secret :: text ( "my-encrypted-secret" ) ;
421- let attributes = & [ ( "application" , "test-app" ) , ( "type" , "encrypted-password" ) ] ;
422423 let dbus_secret =
423- dbus:: api:: DBusSecret :: new_encrypted ( Arc :: new ( session) , secret, & aes_key) . unwrap ( ) ;
424+ dbus:: api:: DBusSecret :: new_encrypted ( Arc :: new ( session) , secret, & aes_key) ? ;
424425
425426 let item = collections[ 0 ]
426- . create_item ( "Test Encrypted Item" , attributes, & dbus_secret, false , None )
427- . await
428- . unwrap ( ) ;
427+ . create_item (
428+ "Test Encrypted Item" ,
429+ & [ ( "application" , "test-app" ) , ( "type" , "encrypted-password" ) ] ,
430+ & dbus_secret,
431+ false ,
432+ None ,
433+ )
434+ . await ?;
429435
430436 // Verify item exists
431- let items = collections[ 0 ] . items ( ) . await . unwrap ( ) ;
437+ let items = collections[ 0 ] . items ( ) . await ? ;
432438 assert_eq ! ( items. len( ) , 1 , "Collection should have one item" ) ;
433439 assert_eq ! ( items[ 0 ] . inner( ) . path( ) , item. inner( ) . path( ) ) ;
440+
441+ Ok ( ( ) )
434442 }
435443
436444 #[ tokio:: test]
437- async fn search_items_after_creation ( ) {
438- let ( server_conn, client_conn) = crate :: tests:: create_p2p_connection ( ) . await ;
445+ async fn search_items_after_creation ( ) -> Result < ( ) , Box < dyn std :: error :: Error > > {
446+ let ( server_conn, client_conn) = crate :: tests:: create_p2p_connection ( ) . await ? ;
439447
440448 let _server = Service :: run_with_connection (
441449 server_conn,
442450 Some ( oo7:: Secret :: from ( "test-password-long-enough" ) ) ,
443451 )
444- . await
445- . unwrap ( ) ;
452+ . await ?;
446453
447454 tokio:: time:: sleep ( tokio:: time:: Duration :: from_millis ( 50 ) ) . await ;
448455
449- let service_api = dbus:: api:: Service :: new ( & client_conn) . await . unwrap ( ) ;
450- let ( _aes_key, session) = service_api. open_session ( None ) . await . unwrap ( ) ;
456+ let service_api = dbus:: api:: Service :: new ( & client_conn) . await ? ;
457+ let ( _aes_key, session) = service_api. open_session ( None ) . await ? ;
451458 let session = Arc :: new ( session) ;
452459
453- let collections = service_api. collections ( ) . await . unwrap ( ) ;
460+ let collections = service_api. collections ( ) . await ? ;
454461
455462 // Create two items with different attributes
456463 let secret1 = oo7:: Secret :: text ( "password1" ) ;
457- let attributes1 = & [ ( "application" , "firefox" ) , ( "username" , "user1" ) ] ;
458464 let dbus_secret1 = dbus:: api:: DBusSecret :: new ( Arc :: clone ( & session) , secret1) ;
459465
460466 collections[ 0 ]
461- . create_item ( "Firefox Password" , attributes1, & dbus_secret1, false , None )
462- . await
463- . unwrap ( ) ;
467+ . create_item (
468+ "Firefox Password" ,
469+ & [ ( "application" , "firefox" ) , ( "username" , "user1" ) ] ,
470+ & dbus_secret1,
471+ false ,
472+ None ,
473+ )
474+ . await ?;
464475
465476 let secret2 = oo7:: Secret :: text ( "password2" ) ;
466- let attributes2 = & [ ( "application" , "chrome" ) , ( "username" , "user2" ) ] ;
467477 let dbus_secret2 = dbus:: api:: DBusSecret :: new ( Arc :: clone ( & session) , secret2) ;
468478
469479 collections[ 0 ]
470- . create_item ( "Chrome Password" , attributes2, & dbus_secret2, false , None )
471- . await
472- . unwrap ( ) ;
480+ . create_item (
481+ "Chrome Password" ,
482+ & [ ( "application" , "chrome" ) , ( "username" , "user2" ) ] ,
483+ & dbus_secret2,
484+ false ,
485+ None ,
486+ )
487+ . await ?;
473488
474489 // Search for firefox item
475490 let firefox_attrs = & [ ( "application" , "firefox" ) ] ;
476- let firefox_items = collections[ 0 ] . search_items ( firefox_attrs) . await . unwrap ( ) ;
491+ let firefox_items = collections[ 0 ] . search_items ( firefox_attrs) . await ? ;
477492
478493 assert_eq ! ( firefox_items. len( ) , 1 , "Should find one firefox item" ) ;
479494
480495 // Search for chrome item
481- let chrome_attrs = & [ ( "application" , "chrome" ) ] ;
482- let chrome_items = collections[ 0 ] . search_items ( chrome_attrs) . await . unwrap ( ) ;
496+ let chrome_items = collections[ 0 ]
497+ . search_items ( & [ ( "application" , "chrome" ) ] )
498+ . await ?;
483499
484500 assert_eq ! ( chrome_items. len( ) , 1 , "Should find one chrome item" ) ;
485501
486502 // Search for non-existent item
487- let nonexistent_attrs = & [ ( "application" , "nonexistent" ) ] ;
488503 let nonexistent_items = collections[ 0 ]
489- . search_items ( nonexistent_attrs)
490- . await
491- . unwrap ( ) ;
504+ . search_items ( & [ ( "application" , "nonexistent" ) ] )
505+ . await ?;
492506
493507 assert_eq ! (
494508 nonexistent_items. len( ) ,
495509 0 ,
496510 "Should find no nonexistent items"
497511 ) ;
512+
513+ Ok ( ( ) )
498514 }
499515}
0 commit comments