@@ -188,6 +188,7 @@ mod test {
188
188
// We use writing to create files, so do this after
189
189
test_recursive_listing ( & client) . await ?;
190
190
test_set_times ( & client) . await ?;
191
+ test_set_owner ( & client) . await ?;
191
192
192
193
Ok ( ( ) )
193
194
}
@@ -348,6 +349,38 @@ mod test {
348
349
assert_eq ! ( file_info. modification_time, mtime) ;
349
350
assert_eq ! ( file_info. access_time, atime) ;
350
351
352
+ client. delete ( "/test" , false ) . await ?;
353
+
354
+ Ok ( ( ) )
355
+ }
356
+
357
+ async fn test_set_owner ( client : & Client ) -> Result < ( ) > {
358
+ client
359
+ . create ( "/test" , WriteOptions :: default ( ) )
360
+ . await ?
361
+ . close ( )
362
+ . await ?;
363
+
364
+ client
365
+ . set_owner ( "/test" , Some ( "testuser" ) , Some ( "testgroup" ) )
366
+ . await ?;
367
+ let file_info = client. get_file_info ( "/test" ) . await ?;
368
+
369
+ assert_eq ! ( file_info. owner, "testuser" ) ;
370
+ assert_eq ! ( file_info. group, "testgroup" ) ;
371
+
372
+ client. set_owner ( "/test" , Some ( "testuser2" ) , None ) . await ?;
373
+ let file_info = client. get_file_info ( "/test" ) . await ?;
374
+
375
+ assert_eq ! ( file_info. owner, "testuser2" ) ;
376
+ assert_eq ! ( file_info. group, "testgroup" ) ;
377
+
378
+ client. set_owner ( "/test" , None , Some ( "testgroup2" ) ) . await ?;
379
+ let file_info = client. get_file_info ( "/test" ) . await ?;
380
+
381
+ assert_eq ! ( file_info. owner, "testuser2" ) ;
382
+ assert_eq ! ( file_info. group, "testgroup2" ) ;
383
+
351
384
Ok ( ( ) )
352
385
}
353
386
}
0 commit comments