@Test
  public void testBasicOperations() throws Exception {
    StoreKey storeKey0 = mock(StoreKey.class);
    StoreKey storeKey1 = mock(StoreKey.class);
    assertNotSame("storeKeys should not be equal", storeKey0, storeKey1);
    List<StoreKey> list = Arrays.asList(storeKey0, storeKey1);

    try {
      storeKeyConverter.getConverted(storeKey0);
      fail("Get succeeded for not converted keys");
    } catch (Exception e) {
      //expected
    }

    Map<StoreKey, StoreKey> convertedMap = storeKeyConverter.convert(list);
    assertEquals("Size of keys in input and output is different", list.size(), convertedMap.size());

    try {
      StoreKey storeKey0Res = storeKeyConverter.getConverted(storeKey0);
      assertNotNull("Conversion of storeKey0 should not be null", storeKey0Res);
    } catch (Exception e) {
      fail("Exception thrown while storeKey0 is present");
    }

    storeKeyConverter.dropCache();
    try {
      storeKeyConverter.getConverted(storeKey0);
      fail("Get succeeded after cache is cleared");
    } catch (Exception e) {
      //expected
    }
  }
Test conversion of keys by  first try getting keys without converting,
then converting two keys try getting them ,
and then clearing cache and again try getting keys
@throws Exception
ambry-commons/src/test/java/com/github/ambry/store/AbstractStoreKeyConverterTest.java