I need some pax exam help. I get a ClassNotFoundException I don't know how to fix.
I can access the bean Account for use in asserts without errors. But once I use stream, filter and findFirst to find a particular account I get ClassNotFoundException on the account. I have the following pax exam test: https://github.com/steinarb/liquibase-karaf-feature/blob/master/liquibase-integration-test/karaf.liquibase.tests/src/test/java/no/priv/bang/karaf/liquibase/tests/LiquibaseKarafFeatureIntegrationTest.java#L55 Here I access beans of type Account in the pax exam test. However if I try searching for a bean using stream and filter, like this: @Test public void testLoadFeature() throws Exception { // NOSONAR this test has an assert, just not an assert sonar recognizes installAndAssertFeature("karaf-liquibase-sample-datasource-receiver"); var service = getOsgiService(SampleLiquibaseDatasourceReceiverService.class); var initialAccounts = service.accounts(); assertEquals(1, initialAccounts.size()); var initialAccount = initialAccounts.get(0); assertEquals("jod", initialAccount.getUsername()); var newAccount = Account.with().username("jad").build(); var accountsAfterAdd = service.addAccount(newAccount); assertEquals(2, accountsAfterAdd.size()); var addedAccount = accountsAfterAdd.stream().filter(a -> "jad".equals(a.getUsername())).findFirst().orElseThrow(); assertEquals(initialAccount.getId() + 1, addedAccount.getId()); assertEquals("jad", addedAccount.getUsername()); } Then I get the following error: [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 6.93 s <<< FAILURE! - in no.priv.bang.karaf.liquibase.tests.LiquibaseKarafFeatureIntegrationTest [ERROR] testLoadFeature(no.priv.bang.karaf.liquibase.tests.LiquibaseKarafFeatureIntegrationTest) Time elapsed: 0.061 s <<< ERROR! java.lang.ClassNotFoundException: no.priv.bang.karaf.liquibase.sample.services.Account not found by PAXEXAM-PROBE-37daa15f-5c4f-4a37-b284-8ef8ac7cb232 [77] I googled the error message and found this: https://stackoverflow.com/a/43009600 I have tried adding a probeConfiguration to the test, by adding this method to the test: @ProbeBuilder public TestProbeBuilder probeConfiguration(TestProbeBuilder probe) { probe.setHeader(Constants.IMPORT_PACKAGE, "*,no.priv.bang.karaf.liquibase.sample.services.*"); return probe; } But that just gave me a different error message: ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 13.32 s <<< FAILURE! - in no.priv.bang.karaf.liquibase.tests.LiquibaseKarafFeatureIntegrationTest [ERROR] no.priv.bang.karaf.liquibase.tests.LiquibaseKarafFeatureIntegrationTest Time elapsed: 11.865 s <<< ERROR! java.lang.RuntimeException: Bundle cannot be installed Caused by: org.osgi.framework.BundleException: Unable to resolve PAXEXAM-PROBE-20d166e8-9d0f-41f0-86b8-79228ed20833 [77](R 77.0): missing requirement [PAXEXAM-PROBE-20d166e8-9d0f-41f0-86b8-79228ed20833 [77](R 77.0)] osgi.wiring.package; (osgi.wiring.package=no.priv.bang.karaf.liquibase.sample.services.*) Unresolved requirements: [[PAXEXAM-PROBE-20d166e8-9d0f-41f0-86b8-79228ed20833 [77](R 77.0)] osgi.wiring.package; (osgi.wiring.package=no.priv.bang.karaf.liquibase.sample.services.*)] Does anyone know why I get the ClassNotFoundException when I use the stream, but not when accessing the Account variables in the asserts? Does anyone know what to do to fix this? Thanks! -- -- ------------------ OPS4J - http://www.ops4j.org - ops4j@googlegroups.com --- You received this message because you are subscribed to the Google Groups "OPS4J" group. To unsubscribe from this group and stop receiving emails from it, send an email to ops4j+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ops4j/871qbsu8oj.fsf%40dod.no.