Class BMUnit


  • public class BMUnit
    extends Object
    Byteman Unit test manager class which provides support for loading and unloading scripts. This version assumes loads the agent as needed (unless inhibited -- see below) using System properties to control what hostname and port it uses for the socket. Other system properties can be used to configure operation of the load/unload operations.
    • Constructor Detail

      • BMUnit

        public BMUnit()
    • Method Detail

      • isAllowConfigUpdate

        public static boolean isAllowConfigUpdate()
        getter for the allowAgentConfigUpdate setting
        Returns:
        the allowAgentConfigUpdate setting
      • isVerbose

        public static boolean isVerbose()
        getter for the Byteman verbose setting
        Returns:
        the Byteman verbose setting
      • isDebug

        public static boolean isDebug()
        getter for the Byteman debug setting
        Returns:
        the Byteman debug setting
      • isBMUnitVerbose

        public static boolean isBMUnitVerbose()
        getter for the BMUnit verbose setting
        Returns:
        the BMUnit verbose setting
      • getLoadDirectory

        public static String getLoadDirectory()
        getter for the load directory
        Returns:
        the load directory
      • getResourceLoadDirectory

        public static String getResourceLoadDirectory()
        getter for the resource load directory
        Returns:
        the resource load directory
      • getHost

        public static String getHost()
        getter for the host name used to communicate with the agent
        Returns:
        the host name
      • getPort

        public static int getPort()
        getter for the port used to communicate with the agent
        Returns:
        the port
      • getPolicy

        public static boolean getPolicy()
        getter for the security policy setting
        Returns:
        the security policy setting
      • loadScriptFile

        public static void loadScriptFile​(Class<?> clazz,
                                          String dir)
                                   throws Exception
        loads a script by calling loadScriptFile(clazz, null, dir)
        Parameters:
        clazz - the test class
        dir - the directory to load the script from
        Throws:
        Exception - if the script cannot be loaded
      • loadScriptFile

        public static void loadScriptFile​(Class<?> clazz,
                                          String testName,
                                          String dir)
                                   throws Exception
        loads a script from the load directory using the name of a unit test as the root name for the script file and ".btm" or, failing that, ".txt" for the file extension
        Parameters:
        clazz - the classname of the unit test
        testName - the name of the unit test method
        dir - the directory in which the scripts are located
        Throws:
        Exception - if the script cannot be loaded
      • unloadScriptFile

        public static void unloadScriptFile​(Class<?> clazz,
                                            String testName)
                                     throws Exception
        loads a script from the load directory using the name of a unit test as the root name for the script file and ".btm" or, failing that, ".txt" for the file extension
        Parameters:
        clazz - the test class
        testName - the test name
        Throws:
        Exception - if the script cannot be unloaded
      • loadScriptText

        public static void loadScriptText​(Class<?> clazz,
                                          String testname,
                                          String scriptText)
                                   throws Exception
        loads a script supplied as a text String rather than via a file on disk
        Parameters:
        clazz - the test class
        testname - the test name
        scriptText - the text of the rule or rules contained in the script
        Throws:
        Exception - if the script text cannot be loaded
      • unloadScriptText

        public static void unloadScriptText​(Class<?> clazz,
                                            String testName)
                                     throws Exception
        unloads a script previously supplied as a text String
        Parameters:
        clazz - the test class
        testName - the test name
        Throws:
        Exception - if the script text cannot be unloaded
      • findScript

        protected static String findScript​(String dir,
                                           String name)
        Tries to find dir/name in the working directory. If not found, tries to add the ".btm", then ".txt" suffixes. If still not found, tries to find the above on the classpath
        Parameters:
        dir - The name of the directory
        name - The file name
        Returns:
        The fully qualified name of the file, or null if not found