Skip to content
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

Automatic Flow tests for OSGi #4227

Closed
denis-anisimov opened this issue Jun 5, 2018 · 7 comments
Closed

Automatic Flow tests for OSGi #4227

denis-anisimov opened this issue Jun 5, 2018 · 7 comments
Assignees
Milestone

Comments

@denis-anisimov
Copy link
Contributor

@denis-anisimov commented on Mon Jun 04 2018

Similar task for FW: vaadin/framework#8594

Note that the implementation of the task in FW contains only smoke tests and also tests
custom GWT widgetset which is not applicable for Flow.

It would be nice to run the same tests in the flow-tests module in OSGi container.
At least flow-tests/test-root-context.

But I'm not sure whether it's possible.
At least smoke tests and test which validates all OSGi specific functionality implemented in Flow should be provided.

@denis-anisimov
Copy link
Contributor Author

We need a way to test Flow with OSGi somehow from the very beginning.
So this task needs to be done almost immediately even though we won't be able to merge it for some time because of issues in OSGi (it doesn't work currently that's the reason why we are doing it).
The branch with the way of testing should be available remotely so anyone can use it to check the current state of OSGi support.

@pleku
Copy link
Contributor

pleku commented Jun 20, 2018

One thing to note is that the test app should preferably use vaadin-core dependency instead of direct flow-* dependencies, because we want to test an application which also has some components in use and that the components in the platform also work in OSGi environment.

This can be a named vaadin-core version, but you can also override the flow- versions for it to use SNAPSHOT instead.

Since some of our components have special characteristics like static resources inside the .jar, we should test those like Grid and DatePicker.

@pleku
Copy link
Contributor

pleku commented Jun 20, 2018

Candidates for the application server are Apache Felix, Apache Karaf and Payara server (?). We can first test automatically with one server, and later add tests for other servers.

@pleku
Copy link
Contributor

pleku commented Jun 20, 2018

The framework has an IT with Karaf, found here: https://github.com/vaadin/framework/tree/master/test/servlet-containers/karaf

@QNENet
Copy link

QNENet commented Jun 20, 2018

Karaf is a customized container whereas Felix is general and applicable to a much larger audience.
Without commenting on using Karaf for IT it would be of value to use Felix as the main container for future OSGi documentation and tutorials etc..

@denis-anisimov denis-anisimov self-assigned this Jun 28, 2018
@denis-anisimov
Copy link
Contributor Author

At the moment we are lacking OSGi compatible artifacts at all: we don't have proper manifests for our flow jar files.
It's not possible to do anything at all for OSGi without bundles which are jar files with correct manifest declarations.
It means that this issue is blocked by the #4232.
Technically there is no immediate need to make it exactly as it's said in the ticket but since we don't have proper manifests anyway we should fix this ticket anyway firstly.

I'm going to use the same plugin as FW uses: bnd-maven-plugin.
There a felix plugin maven-bundle-plugin which does similar thing but its configuration is provided inline in the pom.xml.
Since we need individual config for many modules I would prefer to avoid the plugin duplication and have a rather separate file for the manifest instead if inlining.

@denis-anisimov
Copy link
Contributor Author

There is nightly build configuration "Flow Felix Jetty OSGi Boot Integration Tests" on bender.

@pleku pleku modified the milestones: 1.1, 1.1.0 Oct 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants