Class TestExtensionsTracker


  • public class TestExtensionsTracker
    extends java.lang.Object
    Tracks registration of hooks and support objects during test initialization in order to log used additions (to simplify applied objects tracking). Also, tracks applied configuration overrides, but only after application start (the only way to show actually applied values).
    Since:
    27.05.2022
    • Field Detail

      • GUICEY_EXTENSIONS_DEBUG

        public static final java.lang.String GUICEY_EXTENSIONS_DEBUG
        System property enables debug output for all used guicey extensions.
        See Also:
        Constant Field Values
      • debug

        public boolean debug
      • extensionsSource

        protected final java.util.List<java.lang.String> extensionsSource
      • hooksSource

        protected final java.util.List<java.lang.String> hooksSource
    • Constructor Detail

      • TestExtensionsTracker

        public TestExtensionsTracker()
    • Method Detail

      • setContextHook

        public void setContextHook​(java.lang.Class<? extends TestEnvironmentSetup> hook)
      • extensionsFromFields

        public final void extensionsFromFields​(java.util.List<java.lang.reflect.Field> fields,
                                               java.lang.Object instance)
      • extensionsFromAnnotation

        @SafeVarargs
        public final void extensionsFromAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> ann,
                                                   java.lang.Class<? extends TestEnvironmentSetup>... exts)
      • hooksFromFields

        public final void hooksFromFields​(java.util.List<java.lang.reflect.Field> fields,
                                          boolean baseHooks,
                                          java.lang.Object instance)
      • hooksFromAnnotation

        @SafeVarargs
        public final void hooksFromAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> ann,
                                              java.lang.Class<? extends GuiceyConfigurationHook>... exts)
      • extensionClasses

        @SafeVarargs
        public final void extensionClasses​(java.lang.Class<? extends TestEnvironmentSetup>... exts)
      • hookClasses

        @SafeVarargs
        public final void hookClasses​(java.lang.Class<? extends GuiceyConfigurationHook>... exts)
      • enableDebugFromSystemProperty

        public void enableDebugFromSystemProperty()
        In some cases it might be simpler to use system property to enable debug: -Dguicey.extensions.debug=true.
      • logUsedHooksAndSetupObjects

        public void logUsedHooksAndSetupObjects​(java.lang.String configPrefix)
        Logs registered setup objects and hooks. Do nothing if no setup objects or hooks registered.
        Parameters:
        configPrefix - configuration prefix
      • logOverriddenConfigs

        public void logOverriddenConfigs​(java.lang.String configPrefix)
        Logs overridden configurations. Show values already applied to system properties.
        Parameters:
        configPrefix - configuration prefix