please try to add a special "manifest" goal to the maven-bundle-plugin in your 
pom as described here [1]

stefan

[1] 
http://felix.apache.org/documentation/faqs/apache-felix-bundle-plugin-faq.html#use-scr-metadata-generated-by-bnd-in-unit-tests


>-----Original Message-----
>From: nino martinez wael [mailto:[email protected]]
>Sent: Wednesday, November 1, 2017 9:17 AM
>To: [email protected]
>Subject: Re: [2.x] Sling mock
>
>Captains log,
>
>When I changed from calling
>
>context.registerInjectActivateService(BusinessServiceImpl.class);
>
>
>TO doing this instead, everything works:
>
>BusinessServiceImpl businessService= new BusinessServiceImpl();
>MockOsgi.injectServices(businessService,context.bundleContext());
>MockOsgi.activate(businessService,context.bundleContext());
>
>
>On Fri, Oct 27, 2017 at 6:41 AM, nino martinez wael <
>[email protected]> wrote:
>
>> What a horrible mail, I sent (apprerently yesterday was not my day)..
>> Wheres the content without quotes:
>>
>> Somethings wrong with my test,
>>
>> @Rule
>> public final OsgiContext context = new OsgiContextBuilder().build();
>>
>> @Test
>> public void test() throws CiscoAPIException, FailedSecurityException {
>>     context.registerInjectActivateService(BusinessServiceImpl.class);
>>     BusinessService service = context.getService(BusinessService.class);
>>     Assert.assertEquals("got more campaigns than
>expected",0,service.getAllCampaigns().size());
>>
>>
>> }
>>
>>
>> Above are failing at
>"context.registerInjectActivateService(BusinessServiceImpl.class);"
>>
>> With this message:
>>
>> org.apache.sling.testing.mock.osgi.NoScrMetadataException: No OSGi SCR
>metadata found for class java.lang.Class
>>
>>      at
>org.apache.sling.testing.mock.osgi.OsgiServiceUtil.injectServices(OsgiServi
>ceUtil.java:381)
>>      at
>org.apache.sling.testing.mock.osgi.MockOsgi.injectServices(MockOsgi.java:14
>8)
>>      at
>org.apache.sling.testing.mock.osgi.context.OsgiContextImpl.registerInjectAc
>tivateService(OsgiContextImpl.java:153)
>>      at
>org.apache.sling.testing.mock.osgi.context.OsgiContextImpl.registerInjectAc
>tivateService(OsgiContextImpl.java:141)
>>      at
>dk.netdesign.dialer.backend.SlingMockTestBusinessService.test(SlingMockTest
>BusinessService.java:22)
>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>      at
>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:6
>2)
>>      at
>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
>l.java:43)
>>      at java.lang.reflect.Method.invoke(Method.java:498)
>>      at
>org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod
>.java:47)
>>      at
>org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.
>java:12)
>>      at
>org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.j
>ava:44)
>>      at
>org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.ja
>va:17)
>>
>>
>> When debugging the test the actual fail are :
>> class org.apache.sling.testing.mock.osgi.MockConfigurationAdmin
>>
>> Which comes from OsgiContextImpl.setUp().. Seems I am missing something,
>> what am I doing wrong?
>>
>> On Thu, Oct 26, 2017 at 4:25 PM, nino martinez wael <
>> [email protected]> wrote:
>>
>>>
>>>
>>> Somethings wrong with my test,
>>>
>>> @Rule
>>> public final OsgiContext context = new OsgiContextBuilder().build();
>>>
>>> @Test
>>> public void test() throws CiscoAPIException, FailedSecurityException {
>>>     context.registerInjectActivateService(BusinessServiceImpl.class);
>>>     BusinessService service = context.getService(BusinessService.class);
>>>     Assert.assertEquals("got more campaigns than
>expected",0,service.getAllCampaigns().size());
>>>
>>>
>>> }
>>>
>>>
>>> Above are failing at
>"context.registerInjectActivateService(BusinessServiceImpl.class);"
>>>
>>> With this message:
>>>
>>> org.apache.sling.testing.mock.osgi.NoScrMetadataException: No OSGi SCR
>metadata found for class java.lang.Class
>>>
>>>     at
>org.apache.sling.testing.mock.osgi.OsgiServiceUtil.injectServices(OsgiServi
>ceUtil.java:381)
>>>     at
>org.apache.sling.testing.mock.osgi.MockOsgi.injectServices(MockOsgi.java:14
>8)
>>>     at
>org.apache.sling.testing.mock.osgi.context.OsgiContextImpl.registerInjectAc
>tivateService(OsgiContextImpl.java:153)
>>>     at
>org.apache.sling.testing.mock.osgi.context.OsgiContextImpl.registerInjectAc
>tivateService(OsgiContextImpl.java:141)
>>>     at
>dk.netdesign.dialer.backend.SlingMockTestBusinessService.test(SlingMockTest
>BusinessService.java:22)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:6
>2)
>>>     at
>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
>l.java:43)
>>>     at java.lang.reflect.Method.invoke(Method.java:498)
>>>     at
>org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod
>.java:47)
>>>     at
>org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.
>java:12)
>>>     at
>org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.j
>ava:44)
>>>     at
>org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.ja
>va:17)
>>>
>>>
>>> When debugging the test the actual fail are :
>>> class org.apache.sling.testing.mock.osgi.MockConfigurationAdmin
>>>
>>> Which comes from OsgiContextImpl.setUp().. Seems I am missing something,
>>> what am I doing wrong?
>>>
>>>
>>> --
>>> Best regards / Med venlig hilsen
>>> Nino Martinez
>>>
>>>
>>>
>>
>>
>> --
>> Best regards / Med venlig hilsen
>> Nino Martinez
>>
>
>
>
>--
>Best regards / Med venlig hilsen
>Nino Martinez

Reply via email to