@Override
    public ExecuteContext doBefore(ExecuteContext context) {
        if (RegisterContext.INSTANCE.isAvailable()
                && !RegisterDynamicConfig.INSTANCE.isNeedCloseOriginRegisterCenter()) {
            return context;
        }
        final Object target = context.getObject();
        context.skip(isWebfLux(target) ? Flux.fromIterable(Collections.emptyList()) : Collections.emptyList());
        return context;
    }
@Test
    public void doBefore() throws NoSuchMethodException {
        // Normal scenarios where isAvailable is true
        RegisterContext.INSTANCE.setAvailable(true);
        REGISTER_CONFIG.setEnableSpringRegister(true);
        REGISTER_CONFIG.setOpenMigration(true);
        final ExecuteContext context = interceptor.doAfter(buildContext(client, null, originServices));
        Assert.assertTrue(context.getResult() instanceof List);
        Assert.assertEquals(((List<?>) context.getResult()).size(), originServices.size() + services.size());

        // IsWebfLux scenario where isAvailable is true
        final ExecuteContext fluxContext = interceptor.doAfter(
                buildContext(reactiveCompositeDiscoveryClient, null, Flux.fromIterable(originServices)));
        Assert.assertTrue(fluxContext.getResult() instanceof Flux);
        final List<?> block = ((Flux<?>) fluxContext.getResult()).collectList().block();
        Assert.assertNotNull(block);
        Assert.assertEquals(block.size(), originServices.size() + services.size());

        // A normal scenario where isAvailable is false
        RegisterContext.INSTANCE.setAvailable(false);
        final ExecuteContext NotAvailableContext = interceptor.doBefore(
                buildContext(client, null));
        Assert.assertTrue(NotAvailableContext.isSkip());
        REGISTER_CONFIG.setEnableSpringRegister(false);
        REGISTER_CONFIG.setOpenMigration(false);
    }