Skip to content

Latest commit

 

History

History
82 lines (46 loc) · 3.06 KB

README.md

File metadata and controls

82 lines (46 loc) · 3.06 KB

OSGi Testing Support

Testing support for OSGi

Purpose

This project provides a set of bundles which contain useful and helpful classes for testing of OSGi API.

This artifact includes common utility classes which are useful in all testing scenarios.

org.osgi.test.assertj.*

These artifacts provides support classes for OSGi testing with AssertJ including custom assertions. Currently there are artifacts for org.osgi.framework, org.osgi.util.promise, and org.osgi.service.log.

This artifact provides support classes for OSGi testing with JUnit 4 including JUnit 4 Rules.

This artifact provides support classes for OSGi testing with JUnit 5 including JUnit 5 Extensions.

This artifact provides support classes for OSGi testing with ConfigurationAdmin and JUnit 5 including JUnit 5 Extensions.

This artifact provides a JUnit 5 TestExecutionListener that logs test output via the OSGi Log Service.

Building

We use Maven to build and the repo includes mvnw. You can use your system mvn but we require a recent version.

  • ./mvnw clean install - Assembles and tests the project

Build Status

Code Quality

We use CodeQL for continuous security analysis.

Repository

Release versions of osgi-test bundles are available on Maven Central under the org.osgi group ID. You can find them here.

For those who want the bleeding edge, snapshot artifacts are published to the Sonatype OSS repository:

https://oss.sonatype.org/content/repositories/snapshots/

Future work

See the open issues for the list of outstanding TODOs.

License

This program and the accompanying materials are made available under the terms of the Apache License, Version 2.0 which is available at https://www.apache.org/licenses/LICENSE-2.0.

Contributing

Want to hack? There are instructions to get you started.

They are probably not perfect, please let us know if anything feels wrong or incomplete.

Acknowledgments

This project uses the Bnd Maven Plugins to build.