@@ -122,32 +122,30 @@ final class KeyCommandsTests: RediStackIntegrationTestCase {
122
122
XCTFail ( " Expected '.noExpiry' but lifetime was \( hasNoExpire) " )
123
123
}
124
124
}
125
-
126
- // TODO: #23 -- Rework Scan Unit Test
127
- // This is extremely flakey, and causes non-deterministic failures because of the assert on key counts
128
- // func test_scan() throws {
129
- // var dataset: [RedisKey] = .init(repeating: "", count: 10)
130
- // for index in 1...15 {
131
- // let key = RedisKey("key\(index)\(index % 2 == 0 ? "_even" : "_odd")")
132
- // dataset.append(key)
133
- // _ = try connection.set(key, to: "\(index)").wait()
134
- // }
135
- //
136
- // var (cursor, keys) = try connection.scanKeys(count: 5).wait()
137
- // XCTAssertGreaterThanOrEqual(cursor, 0)
138
- // XCTAssertGreaterThanOrEqual(keys.count, 5)
139
- //
140
- // (_, keys) = try connection.scanKeys(startingFrom: cursor, count: 8).wait()
141
- // XCTAssertGreaterThanOrEqual(keys.count, 8)
142
- //
143
- // (cursor, keys) = try connection.scanKeys(matching: "*_odd").wait()
144
- // XCTAssertGreaterThanOrEqual(cursor, 0)
145
- // XCTAssertGreaterThanOrEqual(keys.count, 1)
146
- // XCTAssertLessThanOrEqual(keys.count, 7)
147
- //
148
- // (cursor, keys) = try connection.scanKeys(matching: "*_even*").wait()
149
- // XCTAssertGreaterThanOrEqual(cursor, 0)
150
- // XCTAssertGreaterThanOrEqual(keys.count, 1)
151
- // XCTAssertLessThanOrEqual(keys.count, 7)
152
- // }
125
+
126
+ func test_scan( ) throws {
127
+ var dataset : [ RedisKey ] = . init( repeating: " " , count: 10 )
128
+ for index in 1 ... 15 {
129
+ let key = RedisKey ( " key \( index) \( index % 2 == 0 ? " _even " : " _odd " ) " )
130
+ dataset. append ( key)
131
+ _ = try connection. set ( key, to: " \( index) " ) . wait ( )
132
+ }
133
+
134
+ var ( cursor, keys) = try connection. scanKeys ( count: 5 ) . wait ( )
135
+ XCTAssertGreaterThanOrEqual ( cursor, 0 )
136
+ XCTAssertGreaterThanOrEqual ( keys. count, 5 )
137
+
138
+ ( _, keys) = try connection. scanKeys ( startingFrom: cursor, count: 8 ) . wait ( )
139
+ XCTAssertGreaterThanOrEqual ( keys. count, 8 )
140
+
141
+ ( cursor, keys) = try connection. scanKeys ( matching: " *_odd " ) . wait ( )
142
+ XCTAssertGreaterThanOrEqual ( cursor, 0 )
143
+ XCTAssertGreaterThanOrEqual ( keys. count, 1 )
144
+ XCTAssertLessThanOrEqual ( keys. count, 8 )
145
+
146
+ ( cursor, keys) = try connection. scanKeys ( matching: " *_even* " ) . wait ( )
147
+ XCTAssertGreaterThanOrEqual ( cursor, 0 )
148
+ XCTAssertGreaterThanOrEqual ( keys. count, 1 )
149
+ XCTAssertLessThanOrEqual ( keys. count, 7 )
150
+ }
153
151
}
0 commit comments