getstrm/pace

[PACE-66] Run the standalone quickstart in PR builds

Closed this issue · 1 comments

In order to test whether modifications to the PACE app still result in a working standalone quickstart, we should:

  1. Start all relevant containers (a PACE Postgres DB and a Postgres processing platform, but not the PACE app, that should be the just built app from an earlier step in the CI)
  2. Perform all quickstart actions, i.e.
    1. Create the Data Policy
    2. Apply the Data Policy
  3. Connect to the Postgres processing platform as all different users that are mentioned in the quickstart:
    1. Query the view
    2. Assert the result set per user to see if the contents are correct

From SyncLinear.com | PACE-66

Executes in the pr step on Github:

In essence this is the action make all in the integration-test subdirectory. If you want to run locally (outside of github actions) first run docker-compose up -d.

Run chmod go-rw pgpass
launched local pace app.jar and stored pid 4535 in launch-pace
Waiting for localhost:50051 to become available
port 50051 is open
Loading demo data into postgres
Waiting for localhost:5431 to become available
getting blueprint public.demo
Creating policy.yaml by patching blueprint.yaml with rulesets.patch
patching file policy.yaml
upserting policy.yaml and creating upserted.yaml
applied upserted.yaml at Fri Nov 24 09:26:41 UTC 2023
downloading mark.csv by querying database as user mark
downloading public.demo to demo.csv as user standalone
----- checking marketing with user mark -----
checking emails with **** for the local part
checking that the user ids are 0
checking that the brands are Apple or Other
checking no age under 30
checking that the number of records in mark.csv is less than the source table public.demo
----- marketing view verified -----
downloading far.csv by querying database as user far
----- checking fraud and risk with user far -----
checking that the number of records in far.csv is equal to the source table public.demo
only the brands have been changed to Apple and Other, everything else is the same
----- fraud and risk verified-----
downloading other.csv by querying database as user other
----- checking other users with user other -----
all emails are ****
checking that the user ids are 0
checking that the brands are Apple or Other
checking no age under 30
checking that the number of records in other.csv is less than the source table public.demo
----- other users verified -----