You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

This page descibes hits for developing and researching failures of Apache Ignite tests 

Ignite Specific Test Frameworks

Test compatibility with older versions

Ignite test has build in Framework to test compatibilty. This framework provides an opportunity to start working with Ignite instances of previously released versions.


The entire module is built on top of the Ignite Testing Framework, especially on the MiltiJVM-mode classes. There is a class IgniteCompatibilityAbstractTest that provides methods to start Ignite nodes with versions which have been previously released in the Maven repository in separate JVM and allows them to join topology.

Framework looking for artifacts of a specific version in the Maven local repository, if they don’t exist there, they will be downloaded and stored via Maven.

The main implemented API:

startGrid(name, version, configurationClosure);
startGrid(name, version, configurationClosure, postStartupClosure);

You can simply specify a version of Ignite, which you want to start, define the configuration in the configurationClosure and set the actions on the started node in the postStartupClosure.

It’s very easy to use it for writing unit tests, here is a simple example which demonstrates the main functional.

 

Test of .NET API parity with Java API

This test checks that everything that is on the public API in the configuration, is there in the  .NET, unless specified otherwise. Exceptions are:

  • "it's not necessary in  .NET"
  • "it's not yet supported in  .NET".

If there is a public API, but it is not in the  .NET class, or in the list of unnecessary, or in the list of known unsupported, then the test fails. This fix explicitly marks the property as yet unimplemented in class

modules/platforms/dotnet/Apache.Ignite.Core.Tests/ApiParity/IgniteConfigurationParityTest.cs 

there is String array MissingProperties. This array stores properties that are missing on .NET side. Adding property to this list disable Parity test fails, but it is reasonable to add properties only with corresponding issue creation first. Issue number can be added as comment

  • No labels