eiffel-community / eiffel-intelligence

Eiffel Intelligence is a real time data aggregation and analysis solution for Eiffel events.
Apache License 2.0
11 stars 72 forks source link

Rules are not tested enough #442

Open ghost opened 4 years ago

ghost commented 4 years ago

Description

Todays' tests are hard coded to use older versions of rule sets that has since been updated. This has caused a lot of bugs to appear (see issues #439 and #441) and makes me wonder why the 'sharp' rules are not being tested rigorously.

The previously mentioned issues have been there for quite some time without the tests failing, because the tests are using their own versions of rule sets....

Motivation

We should properly test the rule sets we actually deliver together with Eiffel Intelligence. We need to know they are working as expected - and if they don't, our tests should discover that something is broken.

Exemplification

As an example, src/test/.../FlowTestTestExecution uses src/test/resources/TestExecutionObjectRules.json instead of src/main/resources/rules/TestExecutionObjectRules-Eiffel-Agen-Version.json

I'm sure there are other places in which we could replace duplicated test resource files with using the actual deliverables instead...

Benefits

Actually testing the rules we have created (and deliver together with Eiffel Intelligence source code).

Possible Drawbacks

Some tests might expect a certain strcture of the aggregation (which is defined by the rules) so it might not be viable to replace which rules to use in every test ...