@Test
  public void testQueryChangeFeedNormal() {
    List<CloudBlobMetadata> metadataList = doQueryChangeFeed();
    assertEquals("Expected single entry", 1, metadataList.size());
    CloudBlobMetadata outputMetadata = metadataList.get(0);
    assertEquals("Returned metadata does not match original", blobMetadata, outputMetadata);
    assertEquals(1, azureMetrics.changeFeedQueryCount.getCount());
    assertEquals(0, azureMetrics.changeFeedQueryFailureCount.getCount());

    // test when queryChangeFeed throws exception
    CosmosPagedFlux mockCosmosPagedFlux = mock(CosmosPagedFlux.class);
    when(mockCosmosPagedFlux.byPage()).thenReturn(Flux.error(mock(CosmosException.class)));
    when(mockCosmosAsyncContainer.queryChangeFeed(any(), any())).thenReturn(mockCosmosPagedFlux);

    try {
      doQueryChangeFeed();
    } catch (CompletionException e) {
      assertTrue(e.getCause() instanceof CosmosException);
    }
    assertEquals(2, azureMetrics.changeFeedQueryCount.getCount());
    assertEquals(1, azureMetrics.changeFeedQueryFailureCount.getCount());
  }
Test change feed query. Ignoring for now since {@link CosmosChangeFeedRequestOptions} instance needed for change
feed query might also need to be mocked in some way before executing the query
ambry-cloud/src/test/java/com/github/ambry/cloud/azure/CosmosDataAccessorTest.java