@@ -1224,56 +1224,53 @@ async fn test_watcher_coexist_on_same_path() {
1224
1224
let mut persistent_watcher = client. watch ( "/a" , zk:: AddWatchMode :: Persistent ) . await . unwrap ( ) ;
1225
1225
let mut recursive_watcher = client. watch ( "/a" , zk:: AddWatchMode :: PersistentRecursive ) . await . unwrap ( ) ;
1226
1226
1227
- client. create ( "/a" , & vec ! [ ] , PERSISTENT_OPEN ) . await . unwrap ( ) ;
1227
+ let ( stat , _ ) = client. create ( "/a" , & vec ! [ ] , PERSISTENT_OPEN ) . await . unwrap ( ) ;
1228
1228
1229
- let event = exist_watcher. changed ( ) . await ;
1230
- assert_that ! ( event. event_type) . is_equal_to ( zk:: EventType :: NodeCreated ) ;
1231
- assert_that ! ( event. path) . is_same_string_to ( "/a" ) ;
1232
-
1233
- assert_that ! ( persistent_watcher. changed( ) . await ) . is_equal_to ( & event) ;
1234
- assert_that ! ( recursive_watcher. changed( ) . await ) . is_equal_to ( & event) ;
1229
+ let expected = zk:: WatchedEvent :: new ( zk:: EventType :: NodeCreated , "/a" . to_string ( ) ) . with_zxid ( stat. czxid ) ;
1230
+ assert_that ! ( exist_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1231
+ assert_that ! ( persistent_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1232
+ assert_that ! ( recursive_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1235
1233
1236
1234
let ( _, _, data_watcher) = client. get_and_watch_data ( "/a" ) . await . unwrap ( ) ;
1237
1235
let ( _, _, child_watcher) = client. get_and_watch_children ( "/a" ) . await . unwrap ( ) ;
1238
1236
let ( _, exist_watcher) = client. check_and_watch_stat ( "/a" ) . await . unwrap ( ) ;
1239
1237
1240
- client. create ( "/a/b" , & vec ! [ ] , PERSISTENT_OPEN ) . await . unwrap ( ) ;
1241
- let event = child_watcher. changed ( ) . await ;
1242
- assert_that ! ( event. event_type) . is_equal_to ( zk:: EventType :: NodeChildrenChanged ) ;
1243
- assert_that ! ( event. path) . is_same_string_to ( "/a" ) ;
1244
- assert_that ! ( persistent_watcher. changed( ) . await ) . is_equal_to ( & event) ;
1238
+ let ( stat, _) = client. create ( "/a/b" , & vec ! [ ] , PERSISTENT_OPEN ) . await . unwrap ( ) ;
1239
+ let expected = zk:: WatchedEvent :: new ( zk:: EventType :: NodeChildrenChanged , "/a" . to_string ( ) ) . with_zxid ( stat. czxid ) ;
1240
+ assert_that ! ( child_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1241
+ assert_that ! ( persistent_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1245
1242
1246
- let event = recursive_watcher. changed ( ) . await ;
1247
- assert_that ! ( event. event_type) . is_equal_to ( zk:: EventType :: NodeCreated ) ;
1248
- assert_that ! ( event. path) . is_same_string_to ( "/a/b" ) ;
1243
+ let expected = zk:: WatchedEvent :: new ( zk:: EventType :: NodeCreated , "/a/b" . to_string ( ) ) . with_zxid ( stat. czxid ) ;
1244
+ assert_that ! ( recursive_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1249
1245
1250
1246
let ( _, _, child_watcher) = client. get_and_watch_children ( "/a" ) . await . unwrap ( ) ;
1251
1247
1252
1248
client. delete ( "/a/b" , None ) . await . unwrap ( ) ;
1253
- let event = child_watcher. changed ( ) . await ;
1254
- assert_that ! ( event. event_type) . is_equal_to ( zk:: EventType :: NodeChildrenChanged ) ;
1255
- assert_that ! ( event. path) . is_same_string_to ( "/a" ) ;
1256
- assert_that ! ( persistent_watcher. changed( ) . await ) . is_equal_to ( & event) ;
1249
+ let stat = client. check_stat ( "/a" ) . await . unwrap ( ) . unwrap ( ) ;
1250
+
1251
+ let expected = zk:: WatchedEvent :: new ( zk:: EventType :: NodeChildrenChanged , "/a" . to_string ( ) ) . with_zxid ( stat. pzxid ) ;
1252
+ assert_that ! ( child_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1253
+ assert_that ! ( persistent_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1257
1254
1258
- let event = recursive_watcher. changed ( ) . await ;
1259
- assert_that ! ( event. event_type) . is_equal_to ( zk:: EventType :: NodeDeleted ) ;
1260
- assert_that ! ( event. path) . is_same_string_to ( "/a/b" ) ;
1255
+ let expected = zk:: WatchedEvent :: new ( zk:: EventType :: NodeDeleted , "/a/b" . to_string ( ) ) . with_zxid ( stat. pzxid ) ;
1256
+ assert_that ! ( recursive_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1261
1257
1262
1258
let ( _, _, child_watcher) = client. get_and_watch_children ( "/a" ) . await . unwrap ( ) ;
1263
1259
1264
1260
client. delete ( "/a" , None ) . await . unwrap ( ) ;
1265
- let event = child_watcher . changed ( ) . await ;
1266
- assert_that ! ( event . event_type ) . is_equal_to ( zk:: EventType :: NodeDeleted ) ;
1267
- assert_that ! ( event . path ) . is_same_string_to ( "/a" ) ;
1268
- assert_that ! ( data_watcher. changed( ) . await ) . is_equal_to ( & event ) ;
1269
- assert_that ! ( exist_watcher. changed( ) . await ) . is_equal_to ( & event ) ;
1270
- assert_that ! ( persistent_watcher. changed( ) . await ) . is_equal_to ( & event ) ;
1271
- assert_that ! ( recursive_watcher. changed( ) . await ) . is_equal_to ( & event ) ;
1261
+ let stat = client . check_stat ( "/" ) . await . unwrap ( ) . unwrap ( ) ;
1262
+ let expected = zk :: WatchedEvent :: new ( zk:: EventType :: NodeDeleted , "/a" . to_string ( ) ) . with_zxid ( stat . pzxid ) ;
1263
+ assert_that ! ( child_watcher . changed ( ) . await ) . is_equal_to ( & expected ) ;
1264
+ assert_that ! ( data_watcher. changed( ) . await ) . is_equal_to ( & expected ) ;
1265
+ assert_that ! ( exist_watcher. changed( ) . await ) . is_equal_to ( & expected ) ;
1266
+ assert_that ! ( persistent_watcher. changed( ) . await ) . is_equal_to ( & expected ) ;
1267
+ assert_that ! ( recursive_watcher. changed( ) . await ) . is_equal_to ( & expected ) ;
1272
1268
1273
1269
// persistent ones still exist
1274
- client. create ( "/a" , & vec ! [ ] , PERSISTENT_OPEN ) . await . unwrap ( ) ;
1275
- let event = persistent_watcher. changed ( ) . await ;
1276
- assert_that ! ( recursive_watcher. changed( ) . await ) . is_equal_to ( & event) ;
1270
+ let ( stat, _) = client. create ( "/a" , & vec ! [ ] , PERSISTENT_OPEN ) . await . unwrap ( ) ;
1271
+ let expected = zk:: WatchedEvent :: new ( zk:: EventType :: NodeCreated , "/a" . to_string ( ) ) . with_zxid ( stat. mzxid ) ;
1272
+ assert_that ! ( persistent_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1273
+ assert_that ! ( recursive_watcher. changed( ) . await ) . is_equal_to ( & expected) ;
1277
1274
}
1278
1275
1279
1276
#[ test_log:: test( tokio:: test) ]
0 commit comments