[MGNLTEST-1] Attempt to extract the integration test framework out of CE bundle Created: 28/May/19  Updated: 14/Sep/20  Resolved: 26/Jun/20

Status: Closed
Project: Magnolia Test Framework
Component/s: None
Affects Version/s: None
Fix Version/s: 1.0

Type: Task Priority: Neutral
Reporter: Aleksandr Pchelintcev Assignee: Rishab Dhar
Resolution: Fixed Votes: 0
Labels: QA&Testing
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Cloners
is cloned by MGNLTEST-28 Run selftests on extracted test frame... Closed
is cloned by MGNLEE-618 Attempt to extract the integration te... Closed
Relates
relates to MGNLTEST-30 Separate (sub)module for the test-fra... Closed
relates to MGNLTEST-34 Clean-up packages for int.- and ui-te... Closed
relates to MGNLEE-618 Attempt to extract the integration te... Closed
relates to MGNLTEST-27 Remove rest-services usage in Magnoli... Closed
dependency
is depended upon by MGNLTEST-15 Allow to write custom page objects Closed
is depended upon by MGNLSSO-19 Integration tests with Docker Keycloa... Closed
is depended upon by MGNLTEST-22 Fixture & Cleanup can be applied to b... Closed
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Date of First Response:
Epic Link: core-TF-features-bugs-improvements
Sprint: TE 5
Story Points: 8

 Description   

extract everything except the test themselves (and the test webapps):

  • test env setup
  • integration with TestContainers
  • fixture utilities (servlets, etc)
  • common page object impls

this should pave the path to eventually let the "distributed" int test setups happen (since there will be no circular dep between the modules and the bundles any longer).



 Comments   
Comment by Rishab Dhar [ 26/Jun/20 ]

During the extraction of the test-framework it was discovered that MagnoliaRestClient has public APIs that bring dependency to rest-services module which is not desired. For now in the extraction effort these APIs are deprecated, and in a future effort these APIs should be completely removed and the rest-services module dependency dropped.

Here is a comment from mgeljic on the PR.

These #readNode and #readProperty methods are not used in the context of the new test-framework.
Our main goal in porting MagnoliaRestClient over here is to keep supporting fixtures/cleanup. In fact, we could almost prune everything else.
The problem with these two methods in particular is that they return the original implementation types RepositoryNode & Property from rest-services module API, whereas we should be as much independent as possible here, so we can remove the maven dependency to rest-services as well. Modules will consume test-framework, not the other way around. (Worst case we can use a more primitive (map?) representation if needed).

Comment by Mikaël Geljić [ 02/Jul/20 ]

Ported my Open Mic demo samples for QA, all clear!
https://git.magnolia-cms.com/users/mgeljic/repos/dev-webapp/commits/8942298

Also prepared minor follow-up changes, I'll wait for CE adjustments to get through to base mine on top:
https://git.magnolia-cms.com/projects/PLATFORM/repos/test-framework/pull-requests/4/overview

Generated at Mon Feb 12 07:44:34 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.