public void testBlobDelete503NoSuccessReplica(boolean enableODR, boolean enableOfflineRepair) throws Exception {
    // test the case either ODR or offline repair is enabled.
    assertTrue(enableODR || enableOfflineRepair);
    String serviceID = "delete-service";
    MockServerLayout layout = new MockServerLayout(mockClusterMap);
    String localDcName = "DC3";
    setRouter(getNonBlockingRouterPropertiesForRepairRequests(localDcName, enableODR, enableOfflineRepair, false),
        layout, new LoggingNotificationSystem());
    setOperationParams();
    String blobId = router.putBlob(putBlobProperties, putUserMetadata, putChannel, new PutBlobOptionsBuilder().build())
        .get(AWAIT_TIMEOUT_MS, TimeUnit.MILLISECONDS);

    for (MockServer server : layout.getMockServers()) {
      server.setServerErrorForAllRequests(ServerErrorCode.ReplicaUnavailable);
    }

    try {
      router.deleteBlob(blobId, serviceID).get();
      fail("Deletion should fail");
    } catch (Exception e) {
      RouterException r = (RouterException) e.getCause();
      Assert.assertEquals(RouterErrorCode.AmbryUnavailable, r.getErrorCode());
    } finally {
      layout.getMockServers().forEach(mockServer -> mockServer.setServerErrorForAllRequests(null));
      router.getNotFoundCache().invalidateAll();
      if (router != null) {
        router.close();
      }
    }
  }
Test Deletion hits 503. But since there is no single replica is successful, won't do ODR or offline repair
@param enableODR enable On demand replication
@param enableOfflineRepair enable the offline repair
@throws Exception
ambry-router/src/test/java/com/github/ambry/router/NonBlockingRouterTest.java