@Test
  public void testInvalidAzureConfigs() {
    Properties properties = new Properties();
    setBasicProperties(properties);
    VerifiableProperties verifiableProperties = new VerifiableProperties(properties);
    // Set conn str to null
    properties.setProperty(AzureCloudConfig.AZURE_TABLE_CONNECTION_STRING, "");
    ConnectionStringBasedStorageClient connectionStringBasedStorageClient =
        new ConnectionStringBasedStorageClient(cloudConfig, new AzureCloudConfig(verifiableProperties),
            new AzureMetrics(new MetricRegistry()));
    try {
      connectionStringBasedStorageClient.getTableServiceClient();
      fail("IllegalArgumentException expected");
    } catch (IllegalArgumentException e) {
      assertEquals("Missing Azure Table connection string config " + AzureCloudConfig.AZURE_TABLE_CONNECTION_STRING,
          e.getMessage());
    }
  }
Test PUT(with TTL) and TtlUpdate record replication.
Replication may happen after PUT and after TtlUpdate, or after TtlUpdate only.
PUT may already expired, expiration time < upload threshold or expiration time >= upload threshold.
@throws Exception
ambry-vcr/src/test/java/com/github/ambry/vcr/CloudBlobStoreTest.java