[to #763] Complement v2 codec unit test cases (#768)

* complement v2 codec unit test cases.

Signed-off-by: Ping Yu <yuping@pingcap.com>

* fix fmt

Signed-off-by: Ping Yu <yuping@pingcap.com>

---------

Signed-off-by: Ping Yu <yuping@pingcap.com>
This commit is contained in:
Ping Yu 2023-09-24 14:36:45 +08:00 committed by GitHub
parent 37f9796c8f
commit 903fbde30a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 25 additions and 19 deletions

View File

@ -178,27 +178,33 @@ public class RequestKeyCodecTest {
assertEquals(ByteString.EMPTY, decoded.getEndKey()); assertEquals(ByteString.EMPTY, decoded.getEndKey());
// test region out of keyspace // test region out of keyspace
region = {
Region.newBuilder() ByteString m_123 = CodecUtils.encode(ByteString.copyFromUtf8("m_123"));
.setStartKey(ByteString.EMPTY) ByteString m_124 = CodecUtils.encode(ByteString.copyFromUtf8("m_124"));
.setEndKey(CodecUtils.encode(v2.keyPrefix)) ByteString infiniteEndKey_0 =
.build(); CodecUtils.encode(v2.infiniteEndKey.concat(ByteString.copyFrom(new byte[] {0})));
ByteString t_123 = CodecUtils.encode(ByteString.copyFromUtf8("t_123"));
ByteString y_123 = CodecUtils.encode(ByteString.copyFromUtf8("y_123"));
try { ByteString[][] outOfKeyspaceCases = {
decoded = v2.decodeRegion(region); {ByteString.EMPTY, CodecUtils.encode(v2.keyPrefix)}, // ["", "r000"/"x000")
fail(); {ByteString.EMPTY, m_123},
} catch (Exception ignored) { {m_123, m_124},
} {m_124, CodecUtils.encode(v2.keyPrefix)},
{CodecUtils.encode(v2.infiniteEndKey), ByteString.EMPTY}, // ["r001"/"x001", "")
{CodecUtils.encode(v2.infiniteEndKey), infiniteEndKey_0},
{infiniteEndKey_0, t_123},
{y_123, ByteString.EMPTY}, // "y_123" is bigger than "infiniteEndKey" for both raw & txn.
};
region = for (ByteString[] testCase : outOfKeyspaceCases) {
Region.newBuilder() region = Region.newBuilder().setStartKey(testCase[0]).setEndKey(testCase[1]).build();
.setStartKey(CodecUtils.encode(v2.infiniteEndKey)) try {
.setEndKey(ByteString.EMPTY) decoded = v2.decodeRegion(region);
.build(); fail(String.format("[%s,%s): %s", testCase[0], testCase[1], decoded.toString()));
try { } catch (Exception ignored) {
decoded = v2.decodeRegion(region); }
fail(); }
} catch (Exception ignored) {
} }
// case: regionStartKey == "" < keyPrefix < regionEndKey < infiniteEndKey // case: regionStartKey == "" < keyPrefix < regionEndKey < infiniteEndKey