@Test
  public void testCombinedDiskDownAndNotFoundCase() throws Exception {
    doPut();
    List<MockServer> localDcServers = mockServerLayout.getMockServers()
        .stream()
        .filter(s -> s.getDataCenter().equals(LOCAL_DC))
        .collect(Collectors.toList());
    mockServerLayout.getMockServers().forEach(s -> {
      if (!localDcServers.contains(s)) {
        s.setServerErrorForAllRequests(ServerErrorCode.BlobNotFound);
      }
    });
    for (int i = 0; i < 3; ++i) {
      if (i < 2) {
        localDcServers.get(i).setServerErrorForAllRequests(ServerErrorCode.DiskUnavailable);
      } else {
        localDcServers.get(i).setServerErrorForAllRequests(ServerErrorCode.BlobNotFound);
      }
    }
    getErrorCodeChecker.testAndAssert(RouterErrorCode.AmbryUnavailable);
    mockServerLayout.getMockServers().forEach(MockServer::resetServerErrors);
  }
Test the case where originating dc returns 2 Disk_Unavailable and 1 Not_Found and rest replicas return Not_Found.
In this case, result of GET operation will be AmbryUnavailable.
@throws Exception
ambry-router/src/test/java/com/github/ambry/router/GetBlobOperationTest.java