@Test
  public void testRedundancyLevelSpecifiedButNotSatisfied() throws Exception {
    // stop two secondaries
    server2.invoke(RedundancyLevelTestBase::stopServer);
    server1.invoke(RedundancyLevelTestBase::stopServer);

    createClientCache(NetworkUtils.getServerHostName(), PORT1, PORT2, PORT3, PORT4,
        2);

    verifyConnectedAndRedundantServers(2, 1);
    verifyOrderOfEndpoints();

    assertThat(pool.getRedundantNames().contains(SERVER4)).isTrue();
    assertThat(pool.getPrimaryName().equals(SERVER1)).isTrue();
    assertThat(pool.getRedundantNames().contains(SERVER3)).isFalse();
    assertThat(pool.getRedundantNames().contains(SERVER2)).isFalse();
    // start server
    server2.invoke(RedundancyLevelTestBase::startServer);

    verifyConnectedAndRedundantServers(3, 2);
    verifyOrderOfEndpoints();

    assertThat(pool.getRedundantNames().contains(SERVER4)).isTrue();
    assertThat(pool.getRedundantNames().contains(SERVER3)).isTrue();
    assertThat(pool.getPrimaryName().equals(SERVER1)).isTrue();
    assertThat(pool.getRedundantNames().contains(SERVER2)).isFalse();
    server2.invoke(RedundancyLevelTestBase::verifyInterestRegistration);
    // verify that redundancy level is satisfied
    server1.invoke(RedundancyLevelTestBase::startServer);
    Wait.pause(1000);
    verifyOrderOfEndpoints();

    assertThat(pool.getRedundantNames().contains(SERVER4)).isTrue();
    assertThat(pool.getRedundantNames().contains(SERVER3)).isTrue();
    assertThat(pool.getPrimaryName().equals(SERVER1)).isTrue();
    assertThat(pool.getRedundantNames().contains(SERVER2)).isFalse();
    server1.invoke(RedundancyLevelTestBase::verifyNoCCP);


  }
Redundancy level specified but not satisfied, new EP is added then it should be added in Live
server map as well as failover set and make sure that CCP is created on the server with
relevant interest registration.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RedundancyLevelPart2DUnitTest.java