|
2 | 2 |
|
3 | 3 | import static org.junit.Assert.assertEquals; |
4 | 4 | import static org.junit.Assert.assertNotNull; |
| 5 | +import static org.junit.Assert.assertNull; |
5 | 6 | import static org.junit.Assert.assertTrue; |
6 | 7 |
|
7 | 8 | import java.util.List; |
@@ -201,15 +202,41 @@ public void memoryDoctorBinary() { |
201 | 202 |
|
202 | 203 | @Test |
203 | 204 | public void memoryUsageString() { |
204 | | - jedis.set("foo", "ba"); |
205 | | - Long usage = jedis.memoryUsage("foo"); |
206 | | - assertEquals(49 + 3, (long) usage); |
| 205 | + // Note: It has been recommended not to base MEMORY USAGE test on exact value, as the response |
| 206 | + // may subject to be 'tuned' especially targeting a major Redis release. |
207 | 207 |
|
208 | | - jedis.lpush("loo", "ba", "da", "sha"); |
209 | | - usage = jedis.memoryUsage("loo", 2); |
210 | | - assertEquals(141 + 3, (long) usage); |
| 208 | + jedis.set("foo", "bar"); |
| 209 | + long usage = jedis.memoryUsage("foo"); |
| 210 | + assertTrue(usage >= 30); |
| 211 | + assertTrue(usage <= 80); |
| 212 | + |
| 213 | + jedis.lpush("foobar", "fo", "ba", "sha"); |
| 214 | + usage = jedis.memoryUsage("foobar", 2); |
| 215 | + assertTrue(usage >= 110); |
| 216 | + assertTrue(usage <= 190); |
| 217 | + |
| 218 | + assertNull(jedis.memoryUsage("roo", 2)); |
| 219 | + } |
| 220 | + |
| 221 | + @Test |
| 222 | + public void memoryUsageBinary() { |
| 223 | + // Note: It has been recommended not to base MEMORY USAGE test on exact value, as the response |
| 224 | + // may subject to be 'tuned' especially targeting a major Redis release. |
| 225 | + |
| 226 | + byte[] bfoo = {0x01, 0x02, 0x03, 0x04}; |
| 227 | + byte[] bbar = {0x05, 0x06, 0x07, 0x08}; |
| 228 | + byte[] bfoobar = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08}; |
| 229 | + |
| 230 | + jedis.set(bfoo, bbar); |
| 231 | + long usage = jedis.memoryUsage(bfoo); |
| 232 | + assertTrue(usage >= 30); |
| 233 | + assertTrue(usage <= 80); |
| 234 | + |
| 235 | + jedis.lpush(bfoobar, new byte[]{0x01, 0x02}, new byte[]{0x05, 0x06}, new byte[]{0x00}); |
| 236 | + usage = jedis.memoryUsage(bfoobar, 2); |
| 237 | + assertTrue(usage >= 110); |
| 238 | + assertTrue(usage <= 190); |
211 | 239 |
|
212 | | - usage = jedis.memoryUsage("roo", 2); |
213 | | - assertEquals(null, usage); |
| 240 | + assertNull(jedis.memoryUsage("roo", 2)); |
214 | 241 | } |
215 | 242 | } |
0 commit comments