F3.1 CI: corregir asserts PostgreSQL y cubrir merge de catálogo
This commit is contained in:
@@ -116,26 +116,50 @@ jobs:
|
||||
run: |
|
||||
npm run migration:show | tee /tmp/migrations.txt
|
||||
grep -Fq 'Pending migrations: no' /tmp/migrations.txt
|
||||
- name: Assert F3.1 structure, merge and Inspector profile
|
||||
- name: Assert F3.1 structure, merges and Inspector profile
|
||||
env:
|
||||
PGPASSWORD: owner_test_password
|
||||
run: |
|
||||
set -Eeuo pipefail
|
||||
PSQL="psql -At -v ON_ERROR_STOP=1 -h 127.0.0.1 -U dhv2_owner -d dhv2_ci"
|
||||
|
||||
test "$($PSQL -c \"SELECT count(*) FROM inventory_families WHERE level='INSTALLATION' AND is_active=true\")" = "15"
|
||||
test "$($PSQL -c \"SELECT count(*) FROM inventory_families WHERE level='SUBINSTALLATION' AND is_active=true\")" = "124"
|
||||
test "$($PSQL -c \"SELECT count(*) FROM inventory_families WHERE source_reference LIKE 'SYSTEM:F3.1:OTHER%'\")" = "16"
|
||||
test "$($PSQL -c \"SELECT count(*) FROM finding_categories WHERE lower(code)='app26r2' AND is_active=true\")" = "1"
|
||||
test "$($PSQL -c \"SELECT count(*) FROM finding_categories WHERE lower(code)='app26' AND is_active=false\")" = "1"
|
||||
query() {
|
||||
psql -At -v ON_ERROR_STOP=1 \
|
||||
-h 127.0.0.1 \
|
||||
-U dhv2_owner \
|
||||
-d dhv2_ci \
|
||||
-c "$1"
|
||||
}
|
||||
|
||||
test "$($PSQL -c \"SELECT count(*) FROM information_schema.tables WHERE table_name='asset_merges'\")" = "1"
|
||||
test "$($PSQL -c \"SELECT count(*) FROM pg_trigger WHERE tgname='trg_asset_merges_append_only' AND NOT tgisinternal\")" = "1"
|
||||
test "$($PSQL -c \"SELECT count(*) FROM information_schema.columns WHERE table_name='users' AND column_name IN ('dni','phone','job_title','employee_number')\")" = "4"
|
||||
test "$($PSQL -c \"SELECT count(*) FROM pg_trigger WHERE tgname IN ('trg_user_roles_inspector_email','trg_users_inspector_email') AND NOT tgisinternal\")" = "2"
|
||||
assert_eq() {
|
||||
local expected="$1"
|
||||
local sql="$2"
|
||||
local actual
|
||||
actual="$(query "$sql")"
|
||||
if [ "$actual" != "$expected" ]; then
|
||||
echo "ASSERT FAILED"
|
||||
echo "SQL: $sql"
|
||||
echo "Expected: $expected"
|
||||
echo "Actual: $actual"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
test "$($PSQL -c \"SELECT count(*) FROM assets a JOIN asset_types t ON t.id=a.asset_type_id WHERE a.data_origin='IMPORT' AND a.source_name='Tablas de yacimiento(1).xlsx' AND lower(t.code)='yacimiento'\")" = "230"
|
||||
test "$($PSQL -c \"SELECT count(*) FROM assets WHERE (operational_area_id IS NULL) <> (operator_company_id IS NULL)\")" = "0"
|
||||
assert_eq 15 "SELECT count(*) FROM inventory_families WHERE level='INSTALLATION' AND is_active=true"
|
||||
assert_eq 124 "SELECT count(*) FROM inventory_families WHERE level='SUBINSTALLATION' AND is_active=true"
|
||||
assert_eq 16 "SELECT count(*) FROM inventory_families WHERE source_reference LIKE 'SYSTEM:F3.1:OTHER%'"
|
||||
assert_eq 1 "SELECT count(*) FROM finding_categories WHERE lower(code)='app26r2' AND is_active=true"
|
||||
assert_eq 1 "SELECT count(*) FROM finding_categories WHERE lower(code)='app26' AND is_active=false"
|
||||
|
||||
assert_eq 1 "SELECT count(*) FROM information_schema.tables WHERE table_name='asset_merges'"
|
||||
assert_eq 1 "SELECT count(*) FROM pg_trigger WHERE tgname='trg_asset_merges_append_only' AND NOT tgisinternal"
|
||||
assert_eq 1 "SELECT count(*) FROM information_schema.tables WHERE table_name='finding_catalog_merges'"
|
||||
assert_eq 1 "SELECT count(*) FROM pg_trigger WHERE tgname='trg_finding_catalog_merges_append_only' AND NOT tgisinternal"
|
||||
|
||||
assert_eq 4 "SELECT count(*) FROM information_schema.columns WHERE table_name='users' AND column_name IN ('dni','phone','job_title','employee_number')"
|
||||
assert_eq 2 "SELECT count(*) FROM pg_trigger WHERE tgname IN ('trg_user_roles_inspector_email','trg_users_inspector_email') AND NOT tgisinternal"
|
||||
|
||||
assert_eq 230 "SELECT count(*) FROM assets a JOIN asset_types t ON t.id=a.asset_type_id WHERE a.data_origin='IMPORT' AND a.source_name='Tablas de yacimiento(1).xlsx' AND lower(t.code)='yacimiento'"
|
||||
assert_eq 0 "SELECT count(*) FROM assets WHERE (operational_area_id IS NULL) <> (operator_company_id IS NULL)"
|
||||
|
||||
web:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
Reference in New Issue
Block a user