@Override
    protected boolean notExist() {
        return Stream.of(DefaultPathConstants.PLUGIN_PARENT,
                DefaultPathConstants.APP_AUTH_PARENT,
                DefaultPathConstants.META_DATA,
                DefaultPathConstants.PROXY_SELECTOR,
                DefaultPathConstants.DISCOVERY_UPSTREAM).noneMatch(etcdClient::exists);
    }
@Test
    public void testNotExist() throws Exception {
        EtcdDataChangedInit etcdDataChangedInit = new EtcdDataChangedInit(etcdClient);
        assertNotNull(etcdDataChangedInit);

        when(etcdClient.exists(DefaultPathConstants.PLUGIN_PARENT)).thenReturn(true);
        boolean pluginExist = etcdDataChangedInit.notExist();
        assertFalse(pluginExist, "plugin exist.");
        when(etcdClient.exists(DefaultPathConstants.PLUGIN_PARENT)).thenReturn(false);

        when(etcdClient.exists(DefaultPathConstants.APP_AUTH_PARENT)).thenReturn(true);
        boolean appAuthExist = etcdDataChangedInit.notExist();
        assertFalse(appAuthExist, "app auth exist.");
        when(etcdClient.exists(DefaultPathConstants.APP_AUTH_PARENT)).thenReturn(false);

        when(etcdClient.exists(DefaultPathConstants.META_DATA)).thenReturn(true);
        boolean metaDataExist = etcdDataChangedInit.notExist();
        assertFalse(metaDataExist, "metadata exist.");
        when(etcdClient.exists(DefaultPathConstants.META_DATA)).thenReturn(false);
        boolean metaDataNotExist = etcdDataChangedInit.notExist();
        assertTrue(metaDataNotExist, "metadata not exist.");
    }