Integration Tests Status Quo

As announced by Tim one main goal for beta-4 is to have the integration tests running. There are 2 kinds of integration test suites: One for the engine, and for the webapps. And for both tests either on the Tomcat or Wildfly distro.

On Friday Tim and I had a good pair coding session where we focussed on the engine integration tests on Wildfly. This helped us to get a step further so that many tests were already running. Now I have focussed on the remaining failed tests and took a look at each of them. Also, the Github workflow has been enhanced a bit.

Actually, the failing tests helped us to detect a few issues that sneaked in. So good to have these tests.

And now great news: The first integration test suite (engine-integration,wildfly,h2) has been successfully executed without failures with the integration testing pipeline on Github :tada:

Next step is to enable these tests for the Tomcat distro.

1 Like

That’s great news! Thank you for fixing all Wildfly integration tests. Did you also find issues which could potentially affect real world integration scenarios or were they all bound to the test scope?

They might affect users using Wildfly as container. There where 2 things:

  • I refactored to use Spring’s ObjectUtils for checking empty or null Strings instead of checking that in code inline , e.g. (x != null && x.length > 0). While the dependency on code level to String was present, it was not in the defined modules in the Wildfly distro.
  • On CDI classes field injection was changed to constructor injection. While this is considered a good practice, it does not work with certain CDI beans.

I am glad that such things are detected by tests.

2 Likes

So i think it’s important to release beta-4 as soon as all integration tests are green. We could also finish some backports for beta-4.

That’s great news and an important step! This makes our tests a better foundation for testing the big refactorings, like javax.* to jakarta.* Migrations or the removal of Spring 5 dependencies.

For the beta-4 I’d stick to the plan in the referenced thread. No reason to rush :slight_smile:

My thinking was here “it should not take as much time as beta-3” but I think this won’t be the case anyway. Of course we should stick to the plan if we can do it within the next 1-3 weeks. As long we’re in beta this might be not an issue at all. Later we can think about doing a point release in such cases.

Cheers,
Julian

1 Like

The next steps are quite substantial. There might be the option to release a beta-4 when the tests are established, but before we do the final cut. But I think also, we should stick to the plan and do the cut before beta-4. This might take more than the 3 weeks. Just because we can’t work full time on it.

2 Likes

I made progress on the Tomcat integration tests. The changes are on branch build/integration-tests. The main problem was missing libraries in the Tomcat runtime.

Only 2 tests are failing now. I will have a look in the evening on it.

1 Like

The Tomcat engine integration tests are fixed now. Next on the plate are the webapps integration tests.

1 Like

Nice Work, Karsten, Thank you!

The more I learn about these tests, the more I doubt that anyone is running them currently on C7 or the forks. Although in the end just details, but they must have been broken for a while already. But good that we deal with it. They are exceptionally important for our next steps.

2 Likes