@Test
    void testCallingNotInjectableProviderMethods() {
        final ProxyConfigProvidersModule configProvidersModule = new ProxyConfigProvidersModule();
        final ProxyConfigProvider proxyConfigProvider = new ProxyConfigProvider(new ProxyConfig());

        SoftAssertions.assertSoftly(softAssertions -> {
            Arrays.stream(ProxyConfigProvidersModule.class.getDeclaredMethods())
                    .filter(method ->
                            method.getName().endsWith(GenerateProxyConfigProvidersModule.THROWING_METHOD_SUFFIX))
                    .forEach(method -> {
                        LOGGER.debug("method: {}", method.getName());

                        softAssertions
                                .assertThatThrownBy(() -> {
                                    try {
                                        method.invoke(configProvidersModule, proxyConfigProvider);
                                    } catch (IllegalAccessException | InvocationTargetException e) {
                                        if (e.getCause().getClass().equals(UnsupportedOperationException.class)) {
                                            throw e.getCause();
                                        }
                                        LOGGER.error("Error: {}", e.getMessage(), e);
                                        throw new RuntimeException(e);
                                    }
                                })
                                .withFailMessage(() -> LogUtil.message("Method {} should throw {}",
                                        method.getName(), UnsupportedOperationException.class.getSimpleName()))

                                .isInstanceOf(UnsupportedOperationException.class);
                    });
        });
    }
If this fails you probably want to run {@link GenerateProxyConfigProvidersModule} to generate
the missing provider methods
stroom-proxy/stroom-proxy-app/src/test/java/stroom/proxy/app/guice/TestProxyConfigProvidersModule.java