Basic installation of MIM Test is no different from installing Identity Panel. Simply ensure that copies of Panel Service are installed and running on each server which needs to execute steps in a test case.
Once Identity Panel is installed and registered you can create a MIM Test project in the providers section.
Although a basic Identity Panel installation is usually adequate for use of Recovery Panel, automated MIM testing usually requires more advanced configuration.
The key difference in a development environment is that it is often beneficial to clone the MIM Test source code repository and configure the server to allow breakpoints and debugging of code. This is especially the case when custom rule functions or provider logic must be implemented. The following procedure describes how to setup a MIM Test source solution.
- Install Visual Studio 2017 with Git
The MIM Test solution requires VS2017. Community Edition is sufficient. When installing, include Git components or install git-scm separately.
- Clone MIM Test source solution
Using either the git clone command from the command line or Visual Studio Team explorer, clone the public MIM Test source repository
- Follow the instructions in the MIM Test source repository README to finish setting up the solution
Creating a Custom Project
In addition to permitting debugging, the MIM Test project also provides excellent sample code for creating custom actions, including:
- Custom schedule steps
- New Rule Functions (either for MIM Test or Uplift)
- Workflow steps
- Health Check probes
For further details see Rule Engine Functions.
- Create a new Visual Studio solution in a separate folder outside the MIM Test repository (this will allow pulling updated MIM Test code without interference from the new project).
- Add a class library project of .NET Framework type
- Add references to the following dlls (from MIM Test project output preferred)
- Build the solution and copy the resulting dll to the PanelTools\lib folder.
Registering Custom Dlls
Once a custom project has been created and compiled it is necessary to register it with Identity Panel. Ensure the project implements the IKnownTypes interface, and add the fully qualified name to the "Types" section of config.json, like this:
"Custom": "SoftwareIDM.CustomSteps.ModelTypes, SoftwareIDM.CustomSteps",
Although the dll only needs to be added to PanelTools\config.json for rule functions to work, other step types will require it to be added to the web application as well (IdentityPanelWeb\Web\config.json). This will register the UI for custom steps, and allow custom functions to appear in the Rule Help interface.