It's all about the answers!

Ask a question

Is there a change in Unit testing framework from RTC-5.0.2 to EWM-7.0.2


aastha khatri (22619) | asked Mar 23 '23, 2:31 p.m.

We have extended lot of RTC functionality and developed new features in our custom environment. We had written Test suite for Junit Plugin testing in RTC-5.0.2 and now post upgrading to EWM-7.0.2 SR1 when we try to run test cases we are seeing lot of errors related to eclipse plugins. Is there a major change in the APIs. While validating plugins we are getting Platform filter errors and Missing constraints errors. Please guide us on debugging this error. Also please share any documentation which help in understanding trying Junit test cases for EWM-7.0.2SR1. Thanks

3 answers



permanent link
Ralph Schoon (63.2k33646) | answered Mar 24 '23, 3:35 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
edited Mar 24 '23, 4:07 a.m.

I have been maintaining the EWM Extensions workshop and have used the EWM APIs and the EWM SDK for years.  I am not aware of breaking API changes since RTC 2.0. There have been minor API changes I have seen in the past that, if used, broke the code for previous versions, which is to be expected. 


My expectation would be that customers that use the APIs and especially the SDK install the EWM Extensions Workshop for the release they wish to upgrade to and load their code into the relevant workspaces. Then they should test their code in that environment. In the past it was easy enough to do and I never experienced any breaking changes as mentioned.

But for 7.0.2 SR1 you want to look at my blog how to get the environment to work. If you do not follow these hints, you are likely not going to able to use the Extensions Workshop. I have published hints and erratas on this blog https://rsjazz.wordpress.com/ every time I found issues with the Extensions Workshop or the APIs. You can search the blog and the posts are also tagged. 

In addition to the SSL issues mentined in my blog, EWM 7.0.2 SR1 has a breaking change in the SDK, as it removes Log4J1 and adds Log4J2. This removes libraries and requires manual changes, if you implemented logging.

EWM 6.x and 7.x require different Java Versions. 7.0.2 requires Java 8. This could contribute, but should not be an issue if you follow the Extensions Workshop.

If plugins and features are done correctly, as described in the Extensions Workshop, they should automatically pick up newer versions of plugins and features in the target platform/SDK. If there are dependency issues, Eclipse and the compiler should be guides to find out what the issue is. If the environment works and you see errors you need to find out what the reason is. Use Jetty for initial testing. If the stuff compiles and works in general, follow your Unit tests to find out what is going wrong. It is your JUnit testing, I am not aware of any dramatic changes in the unit testing frameworks, except maybe a newer JUnit version compared to the ancient EWM 5.0.x.

I am not aware of documentation for specifics in EWM APIs, besides the Extensions Workshop and the Developer Wiki, see https://jazz.net/wiki/bin/view/Deployment/CLMProductAPILanding for places for specific APIs.

I am not sure if documentation would help, Who reads documentation? 

Your question is devoid of any useful information with respect to the issue you see, so you should not expect any detailed help.     
 


Comments
Ralph Schoon commented Mar 24 '23, 3:48 a.m. | edited Mar 24 '23, 4:08 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

I should probably add, that my expectation is, that you create the new deploy code from your new 7.0.2SR1 plugin in the new development environment. The old deployable code for plugins and features will likely not run since the Java version changes to 8. 


permanent link
aastha khatri (22619) | answered Mar 24 '23, 4:48 a.m.
Thanks for your response. Actually while building the code and deploying the plugins to server is working. But the main issue I am facing is while running the test suite. I am unable to run the test cases as using Junit plugin Test. I am facing issues while validating the plugins and it is throwing errors related to eclipse jars.

permanent link
aastha khatri (22619) | answered Mar 24 '23, 4:49 a.m.
Also I am getting errors related to plugins validation.

Comments
Ralph Schoon commented Mar 24 '23, 4:58 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

This has nothing to do with the EWM stuff as far as I can tell. You will have to manage your dependencies so that the tests can find all required plugins. Besides that the validation issues do not necessarily have to all be errors. 

I do not know where the dependencies to the org.eclipse.wst (Web Standard Tools?) is introduced. Maybe you have to get and install these libraries/plugins/features. 

You will have to debug your unit tests and find out what is actually driving errors and what is just clutter. 


aastha khatri commented Mar 24 '23, 9:46 a.m.

ok got it. Also can you please tell me what is the difference between Client SDK and server SDK as till RTC-5.0.2 there was only one sdk. Currently I am using Server SDK. What is the use case of Client sdk. Thank you!


Ralph Schoon commented Mar 24 '23, 10:57 a.m. | edited Mar 24 '23, 11:00 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

I would suggest you read and perform the Extensions Workshop, as that explains all that. 


The server SDK contains the server SDK as well as the client SDK similar to how the packaging for the early SDKs have been.  

The client SDK only contains the client SDK. Client and server SDK have different Eclipse version requirements. Which drove the need to split the Client SDK with support for newer Eclipse versions away from the Server SDK (which retains the client SDK for the supported Eclipse. Something like that....

The client SDK(s) can be used to write EWM Eclipse client extensions.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.