Hi,

I can confirm that

1. the Integration tests do run in OfflineMode
2. that the CELI engines do support OfflineMode and therefore
deactivate themselves if stanbol is started in OfflineMode

For Unit Tests it is a real dilemma because on the one hand failing
tests because of non-functional (or non reachable) external services
are inconvenient on the other hand without running those tests with
normal tests there is a good change that we will miss API (and data
changes) of those external Services. E.g. some time ago the confidence
values provided by geoname.org changed from [0..1] to [0..*]. This
would have been not detected without running the those test with every
build.

So what I typically do is to catch IOExceptions that typically result
of unreachable (or timed out) calls to external services. This ensures
that test do not fail if the external service is down - or the
developer does not have a internet connection while still ensuring
that the Stanbol Engines are validated against the external services
with every build.

I will have a look what kind of Exception caused the failed build and
make sure that those do cause tests to be skipped for future builds.

WDYT
Rupert

On Mon, Sep 24, 2012 at 2:28 PM, Reto Bachmann-Gmür <[email protected]> wrote:
> On Mon, Sep 24, 2012 at 1:37 PM, Bertrand Delacretaz <[email protected]
>> wrote:
>
>> On Mon, Sep 24, 2012 at 12:19 PM, Reto Bachmann-Gmür <[email protected]>
>> wrote:
>> > On Mon, Sep 24, 2012 at 8:54 AM, Bertrand Delacretaz <
>> [email protected]
>> >> On Sunday, September 23, 2012, Reto Bachmann-Gmür wrote:
>> >> > ...I think the tests shold not access external services...
>> >> Yes - there's OfflineMode for that.
>> >>
>> > ...The offline mode is for not updating libraries from the remote repos.
>> If I
>> > have the libraries in the local repository I can use the offline mode. If
>> > tests are skipped in offline mode this means that some projects might
>> buil
>> > with -o and fail otherwise...
>>
>> Sorry I was too terse maybe, didn't mean maven's offline mode, but the
>> STANBOL-86 OfflineMode service, which allows you to modify your
>> service's behavior when the system should not make any external
>> requests, which IMO is needed when running our automated tests.
>>
>
> The test that was failing was a unit tests that doesn't use OSGi and thus
> couldn't use STANBOL-86.
>
> For the integration tests STANBOL-86 seems a good approach. If understand
> STANBOL-87 <https://issues.apache.org/jira/browse/STANBOL-87> correctly the
> integrations tests are always run in offline mode. I think the unit tests
> should always be offline while for the integration tests it might be good
> to have the options to check if things integrate with the outside world.
>
> Cheers,
> Reto
>
>
>> -Bertrand
>>



-- 
| Rupert Westenthaler             [email protected]
| Bodenlehenstraße 11                             ++43-699-11108907
| A-5500 Bischofshofen

Reply via email to