70 lines
2.9 KiB
Bash
Executable File
70 lines
2.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
ROOT="${ROOT:-/var/www/dhv2.korexlabs.com}"
|
|
cd "$ROOT"
|
|
API_URL="${API_URL:-http://127.0.0.1:3101/api/v3}"
|
|
|
|
echo "========== D5.3.6 · VERSIONES =========="
|
|
[[ "$(node -p "require('./api-v3/package.json').version")" == "0.19.3-6" ]]
|
|
[[ "$(node -p "require('./web-v2/package.json').version")" == "0.19.3-6" ]]
|
|
echo "API: 0.19.3-6"
|
|
echo "WEB: 0.19.3-6"
|
|
|
|
echo
|
|
echo "========== D5.3.6 · MIGRACIONES =========="
|
|
MIGRATION_OUTPUT="$(docker compose --profile tools run --rm migrate npm run migration:show 2>&1)"
|
|
echo "$MIGRATION_OUTPUT"
|
|
grep -Fq 'Pending migrations: no' <<<"$MIGRATION_OUTPUT"
|
|
|
|
echo
|
|
echo "========== D5.3.6 · HEALTH =========="
|
|
HEALTH="$(curl -fsS "$API_URL/health")"
|
|
echo "$HEALTH"
|
|
grep -Fq '"version":"0.19.3-6"' <<<"$HEALTH"
|
|
grep -Fq '"phase":"D5.3.6"' <<<"$HEALTH"
|
|
|
|
echo
|
|
echo "========== D5.3.6 · RUTAS PROTEGIDAS =========="
|
|
CODE="$(curl -sS -o /tmp/dhv2-d536-reconcile.txt -w '%{http_code}' -X POST "$API_URL/asset-imports/00000000-0000-4000-8000-000000000000/reconcile")"
|
|
[[ "$CODE" == "401" ]]
|
|
echo "/asset-imports/:id/reconcile sin sesión: 401 OK"
|
|
|
|
echo
|
|
echo "========== D5.3.6 · NORMALIZACIÓN =========="
|
|
grep -Fq 'technicalNormalizationSuggestion' api-v3/src/asset-imports/asset-import-profiles.ts
|
|
grep -Fq 'normalizedFamily' api-v3/src/asset-imports/asset-import-profiles.ts
|
|
grep -Fq 'normalizedSubtype' api-v3/src/asset-imports/asset-import-profiles.ts
|
|
grep -Fq 'conditionStatusSuggestion' api-v3/src/asset-imports/asset-import-profiles.ts
|
|
echo "Familia/subtipo y estados separados: OK"
|
|
|
|
echo
|
|
echo "========== D5.3.6 · MATCHING CONSERVADOR =========="
|
|
grep -Fq 'INVENTORY_ID_OR_CODE_EXACT' api-v3/src/asset-imports/asset-imports.service.ts
|
|
grep -Fq 'AREA_FIELD_EXACT' api-v3/src/asset-imports/asset-imports.service.ts
|
|
grep -Fq 'ORGANIZATION_NAME_EXACT' api-v3/src/asset-imports/asset-imports.service.ts
|
|
grep -Fq 'MATCH_MULTIPLE_ASSETS' api-v3/src/asset-imports/asset-imports.service.ts
|
|
grep -Fq 'masterModified: false' api-v3/src/asset-imports/asset-imports.service.ts
|
|
if grep -Eq 'INSERT INTO assets[[:space:]]*\(' api-v3/src/asset-imports/asset-imports.service.ts; then
|
|
echo "ERROR: D5.3.6 no debe insertar activos"; exit 1
|
|
fi
|
|
if grep -Eq 'UPDATE assets[[:space:]]+SET' api-v3/src/asset-imports/asset-imports.service.ts; then
|
|
echo "ERROR: D5.3.6 no debe actualizar activos"; exit 1
|
|
fi
|
|
echo "Conciliación sin escrituras al Maestro: OK"
|
|
|
|
echo
|
|
echo "========== D5.3.6 · DASHBOARD =========="
|
|
grep -Fq 'Conciliar con Maestro' web-v2/src/pages/AssetImportsPage.tsx
|
|
grep -Fq 'Analizables' web-v2/src/pages/AssetImportsPage.tsx
|
|
grep -Fq "detail.profileCode === 'MENDOZA_YACIMIENTOS_V1'" web-v2/src/pages/AssetImportsPage.tsx
|
|
grep -Fq '1 · Análisis' web-v2/src/pages/AssetImportsPage.tsx
|
|
grep -Fq '4 · Importación' web-v2/src/pages/AssetImportsPage.tsx
|
|
echo "Preview por perfil y flujo por etapas: OK"
|
|
|
|
echo
|
|
echo "========== D5.3.6 · CONTENEDORES =========="
|
|
docker compose ps -a
|
|
|
|
echo
|
|
echo "ACEPTACIÓN DE FASE D5.3.6: OK"
|