Skip to content

Add Support For Integration Testing Pf4j Plugins With The ServerApplication ( API-SERVICE ) #295

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 19, 2023

Conversation

aq-ikhwa-tech
Copy link
Contributor

@aq-ikhwa-tech aq-ikhwa-tech commented Jul 19, 2023

Proposed changes

  • Added support to test the pf4j plugins in deployment mode within the SpringBootTest as integration tests
  • Added the following handlings to the phases:
    • pre-integration-test: Copy the required plugins' jars to the lowcoder-plugins/plugins folder
    • integration-test: Execute all tests under the classes named as *IntegrationTest.java
    • post-integration-test: Delete the plugins directory in the lowcoder-plugins created during the pre-integration-test phase
    • verify: Fail the build if any of the integration tests fail.
  • Added 2 new flags to allow to skip any of the tests if ever need be:
    • skipTests: This is already built in and configured it so that based on this flag both unit tests and integration tests would be skipped or not skipped based on its value.
    • skipUnitTests: If true, only unit tests will be skipped
    • skipIntegrationTests: If true, only integration tests will be skipped

Build Output:
mvn-verify-logs

Notes:

  • Integration tests will only run if you specify a phase later than the "package" phase to the mvn command. For example, to run the integration tests, one needs to run "mvn clean verify" instead of the usual "mvn clean package" since the integration tests are run after the "package" state.

Types of changes

What types of changes does your code introduce to Lowcoder?
Put an x in the boxes that apply.

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update (if none of the other choices apply)

Checklist

You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help!
This is simply a reminder of what we are going to look for before merging your code.
Put an x in the boxes that apply.

  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)
  • Any dependent changes have been merged and published in downstream modules

Further comments

If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc.

- Added support to test the pf4j plugins in deployment mode within the SpringBootTest as integration tests
@netlify
Copy link

netlify bot commented Jul 19, 2023

Deploy Preview for classy-bombolone-94aec0 canceled.

Name Link
🔨 Latest commit 9a1da01
🔍 Latest deploy log https://app.netlify.com/sites/classy-bombolone-94aec0/deploys/64b7c364f3515500081d07b3

@netlify
Copy link

netlify bot commented Jul 19, 2023

Deploy Preview for lowcoder-cloud canceled.

Name Link
🔨 Latest commit 9a1da01
🔍 Latest deploy log https://app.netlify.com/sites/lowcoder-cloud/deploys/64b7c3644e08cd0007d6ddc9

@FalkWolsky FalkWolsky requested a review from ludomikula July 19, 2023 11:08
@ludomikula ludomikula merged commit 8ad4436 into main Jul 19, 2023
@ludomikula ludomikula deleted the add-integration-test-phase-to-lowcoder-server-module branch July 19, 2023 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants