Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
Marko Budiselic 187c831eb7 TCK suite update.
Summary: TCK suite update.

Reviewers: mislav.bradac

Reviewed By: mislav.bradac

Differential Revision: https://phabricator.memgraph.io/D490
2017-06-16 16:56:36 +02:00
dbms First version of external integration test. 2017-03-07 12:44:58 +01:00
docker KPI service docker file. 2017-03-17 12:00:30 +01:00
kpi_service Refactored kpi service 2017-03-20 13:17:37 +00:00
tck_engine openCypher_M06 added 2017-06-16 12:55:03 +00:00
tests Split features in separate files 2017-05-02 18:47:42 +02:00
.arcconfig First version of external integration test. 2017-03-07 12:44:58 +01:00
.gitignore Continuous integration status script. 2017-05-19 11:13:58 +02:00
continuous_integration TCK suite update. 2017-06-16 16:56:36 +02:00
filter_failing_scenarios Add a script for filtering failed tck scenarios 2017-05-12 09:50:18 +01:00
init Removed hardcoded queries and modified run and init script 2017-05-08 08:17:43 +00:00
README.md openCypher_M06 added 2017-06-16 12:55:03 +00:00
requirements.txt Begin qa refactor 2017-04-06 16:17:36 +02:00
run Config update. 2017-06-16 16:28:26 +02:00

Memgraph quality assurance

In order to test dressipi's queries agains memgraph the following commands have to be executed: 1. ./init [Dxyz] # downloads query implementations + memgraph # (the auth is manually for now) + optionally user can # define arcanist diff which will be applied on the # memgraph source code 2. ./run # compiles and runs database instance, also runs the # test queries

TODO: automate further

TCK Engine

Python script used to run tck tests against memgraph. To run script execute:

1. python3 tck_engine/test_executor.py

Script uses Behave to run Cucumber tests.

The following tck tests have been changed:

1. Tests where example injection did not work. Behave stores the first row
   in Cucumber tables as headings and the example injection is not working in
   headings. To correct this behavior, one row was added to tables where
   injection was used.

2. Tests where the results were not always in the same order. Query does not
   specify the result order, but tests specified it. It led to the test failure.
   To correct tests, tag "the result should be" was changed with a
   tag "the result should be (ignoring element order for lists)".

3. Behave can't escape character '|' and it throws parse error. Query was then
   changed and result was returned with different name.

Comparability.feature tests are failing because integers are compared to strings what is not allowed in openCypher.

TCK Engine problems:

1. Comparing tables with ordering.
     ORDER BY x DESC
     | x | y |    | x | y |
     | 3 | 2 |    | 3 | 1 |
     | 3 | 1 |    | 3 | 2 |
     | 1 | 4 |    | 1 | 4 |

2. Properties side effects
     | +properties | 1 |
     | -properties | 1 |

     Database is returning properties_set, not properties_created and properties_deleted.

KPI Service

Flask application used to get results from executing tests with TCK Engine. Application can be ran executing:

1. python3 kpi_service/kpi_service.py