As far as I can tell this does not work for my purpose. I need to run the tests 
in the project’s IT test with Sling and the full application installed. It 
needs to be run before the IT tests actually run just to make sure all 
references are satisfied (and maybe more later). My project has multiple 
bundles with services in them and it does have services provided by the IT test 
environment. All of them need to be checked in the setup() method before any 
tests run.

Cheers - Andy

> On Feb 24, 2020, at 2:05 PM, Oliver Lietz <[email protected]> wrote:
> 
> On Friday, February 14, 2020 6:22:55 PM CET Andreas Schaefer wrote:
>> I don’t think that would work for me.
>> 
>> I have a set of IT that will test services running in a Sling Start Maven
>> Plugin instance. In order to make sure that my tests can succeed and do not
>> fail because of unsatisfied references I want to check the references
>> before starting the tests (I had multiple occasions where I was debugging
>> my code just to figure out that my bundles were active but some services
>> were not accessible because of these unsatisfied references).
> 
> That's an OOTB feature of Pax Exam, see examples (@Inject): 
> 
> https://sling.apache.org/documentation/development/testing-paxexam.html
> 
> O.
> 
> 
>> - Andy
>> 
>>> On Feb 14, 2020, at 12:18 AM, Stefan Seifert <[email protected]>
>>> wrote:
>>> 
>>> did you try to use
>>> https://sling.apache.org/documentation/development/osgi-mock.html
>>> 
>>> it can be used standalone or as part of sling mocks.
>>> 
>>> stefan
>>> 
>>>> -----Original Message-----
>>>> From: Andreas Schaefer [mailto:[email protected]]
>>>> Sent: Thursday, February 13, 2020 10:34 PM
>>>> To: dev
>>>> Subject: Enhancing Testing Client OSGi package
>>>> 
>>>> Hi
>>>> 
>>>> I am working on a project with many backend OSGi services that have many
>>>> references between them and I ran into many issues when the services were
>>>> not fully workable due to unsatisfied references.
>>>> 
>>>> The Testing Clients’ OsgiConsoleClient has a few methods to introspect
>>>> the
>>>> state of the OSGi bundles, components and services but they are not easy
>>>> to
>>>> use.
>>>> 
>>>> In my case I need to find the ‘Declarative Service Components’, then get
>>>> their Service Info and check that any reference of these components are
>>>> satisfied. After some back and forth I was able to implement these tests
>>>> but I could not use the OsgiConsoleClient which makes for a lot of heavy
>>>> handed JsonNode parsing.
>>>> 
>>>> So I was wondering if this is of interest for Sling to have a better way
>>>> to
>>>> inspect the OSGi system. This is what I have in mind:
>>>> - Add additional data from the bundles into the BundleInfo class (like
>>>> the
>>>> Declarative Service Components)
>>>> - Add additional data from the components into the ComponentInfo
>>>> (references etc)
>>>> - Add a method to call the OSGi Console from the OsgiConsoleClient
>>>> directly
>>>> (it does not support depths so the SlingClient’s doGet() does not work)
>>>> 
>>>> Let me know if you think this would be valuable for Sling Testing
>>>> Clients.
>>>> 
>>>> - Andy
> 
> 
> 
> 

Reply via email to