Example #1
0
  @Test(dataProvider = "shadow-cell-suffixes", timeOut = 10_000)
  public void testShadowCellQualifiers(byte[] shadowCellSuffixToTest) throws IOException {

    final byte[] validShadowCellQualifier =
        com.google.common.primitives.Bytes.concat(qualifier, shadowCellSuffixToTest);
    final byte[] sandwichValidShadowCellQualifier =
        com.google.common.primitives.Bytes.concat(shadowCellSuffixToTest, validShadowCellQualifier);
    final byte[] doubleEndedValidShadowCellQualifier =
        com.google.common.primitives.Bytes.concat(validShadowCellQualifier, shadowCellSuffixToTest);
    final byte[] interleavedValidShadowCellQualifier =
        com.google.common.primitives.Bytes.concat(
            validShadowCellQualifier,
            com.google.common.primitives.Bytes.concat(
                validShadowCellQualifier, validShadowCellQualifier));
    final byte[] value = Bytes.toBytes("test-value");

    // Test the qualifier passed is a shadow cell
    // qualifier because it contains only one suffix
    // and is placed at the end of the qualifier:
    // qual_nameSUFFIX
    KeyValue kv = new KeyValue(row, family, validShadowCellQualifier, value);
    assertTrue(CellUtils.isShadowCell(kv), "Should include a valid shadowCell identifier");

    // We also accept this pattern in the qualifier:
    // SUFFIXqual_nameSUFFIX
    kv = new KeyValue(row, family, sandwichValidShadowCellQualifier, value);
    assertTrue(CellUtils.isShadowCell(kv), "Should include a valid shadowCell identifier");

    // We also accept this pattern in the qualifier:
    // qual_nameSUFFIXSUFFIX
    kv = new KeyValue(row, family, doubleEndedValidShadowCellQualifier, value);
    assertTrue(CellUtils.isShadowCell(kv), "Should include a valid shadowCell identifier");

    // We also accept this pattern in the qualifier:
    // qual_nameSUFFIXqual_nameSUFFIXqual_nameSUFFIX
    kv = new KeyValue(row, family, interleavedValidShadowCellQualifier, value);
    assertTrue(CellUtils.isShadowCell(kv), "Should include a valid shadowCell identifier");

    // Test the qualifier passed is not a shadow cell
    // qualifier if there's nothing else apart from the suffix
    kv = new KeyValue(row, family, shadowCellSuffixToTest, value);
    assertFalse(CellUtils.isShadowCell(kv), "Should not include a valid shadowCell identifier");
  }