Does Apache Ignite provide any test utilities that one can use to easily spin up a multiple node cluster in tests for unit tests and integration tests?
There is no such thing as far as I know. It's easy enough to start multiple Ignite nodes in the same JVM without any additional tools.
To start multiple nodes in the same JVM you need to specify igniteInstanceName in configuration of each node.
To make all nodes see each other it's convenient to use TcpDiscoveryVmIpFinder without any addresses in it and with shared flag set to true. It will make all nodes that use the same instance of such IP finder see each other.
The following code can be used to create node configuration:
static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
IgniteConfiguration getConfiguration(String instanceName) {
IgniteConfiguration igniteConfig = new IgniteConfiguration();
igniteConfig.setIgniteInstanceName(instanceName);
TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
discoverySpi.setIpFinder(IP_FINDER);
igniteConfig.setDiscoverySpi(discoverySpi);
return igniteConfig;
}