NASA-AMMOS / aerie

A software framework for modeling spacecraft.
https://nasa-ammos.github.io/aerie-docs/
MIT License
73 stars 19 forks source link

Silence noisy `db-tests` runs #1548

Open skovati opened 2 months ago

skovati commented 2 months ago

When running :db-tests:e2eTests, init_*.sql files are run over and over again, since we entirely clear out DB schemas after each test class. Some artifacts aren't being cleaned up correctly though, so psql emits warnings that either there is a transaction in progress:

psql:./aerie/deployment/postgres-init-db/sql/init_permissions.sql:8: WARNING:  there is already a transaction in progress
psql:./aerie/deployment/postgres-init-db/sql/init_db_users.sql:28: WARNING:  no privileges could be revoked for "public"

Additionally, it looks like env vars for permission users aren't being passed / substituted correctly, since we get a sql syntax error:

psql:./aerie/deployment/postgres-init-db/sql/init_db_users.sql:34: ERROR:  syntax error at or near ":"
LINE 1: ...ant select on all tables in schema permissions to :"gateway_...

Weirdly, this doesn't cause any failing tests, but is certainly leaky and incorrect to some extent.

Mythicaeda commented 2 months ago

The transaction in progress warning is likely because the sub-init files are wrapped in begin; end;. Removing these wrappers or having them declare subtransactions instead should resolve them.