Merge pull request 'refactor: Prüfgate-Pakete nach Funktion benannt, migration* gruppiert' (#373) from refactor/struktur-pakete into main
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Successful in 59s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Successful in 5s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Successful in 5s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Failing after 21s
CI / Web (dms-browser) (push) Failing after 1m34s
CI / Web (pdf-viewer) (push) Failing after 1m1s
CI / Web (shl) (push) Failing after 14s
Supply-Chain-Scan (Go) / govulncheck (push) Failing after 1m11s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Failing after 3s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Successful in 59s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Successful in 5s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Successful in 5s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Failing after 21s
CI / Web (dms-browser) (push) Failing after 1m34s
CI / Web (pdf-viewer) (push) Failing after 1m1s
CI / Web (shl) (push) Failing after 14s
Supply-Chain-Scan (Go) / govulncheck (push) Failing after 1m11s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Failing after 3s
This commit was merged in pull request #373.
This commit is contained in:
commit
e0c0f7c537
59 files changed
+57
-57
No files matched your search
+2
-2
@@ -1,10 +1,10 @@
|
||||
// Package qa03gate ist das Prüfgate für QA-03: misst Klassifizierungs- und
|
||||
// Package classification ist das Prüfgate für QA-03: misst Klassifizierungs- und
|
||||
// Extraktionsgenauigkeit am Referenzkorpus (QA-01, ai/internal/refcorpus)
|
||||
// und belegt die Wirkung von Korrektur-Feedback auf künftige Vorschläge.
|
||||
// Reines Prüfgate — ruft nur bestehende, bereits gemergte Pakete auf
|
||||
// (classify CLS-02, extract EXT-05-Grundlage, correction/historysuggest
|
||||
// CLS-05), ohne deren Code zu ändern.
|
||||
package qa03gate
|
||||
package classification
|
||||
|
||||
import (
|
||||
"context"
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
// Package qa05gate ist das Prüfgate für QA-05 (Datenschutz- &
|
||||
// Package governance ist das Prüfgate für QA-05 (Datenschutz- &
|
||||
// Governance-Prüfung). Es bringt keine neue Fachlogik ein, sondern führt
|
||||
// GOV-02/GOV-03/GOV-05 end-to-end gegen eine echte Postgres-Wegwerf-DB bzw.
|
||||
// einen Mock-Core zusammen, um die drei QA-05-Akzeptanzkriterien in der
|
||||
// Praxis (nicht nur auf Store-Ebene) nachzuweisen.
|
||||
package qa05gate
|
||||
package governance
|
||||
|
||||
import (
|
||||
"context"
|
||||
@@ -36,7 +36,7 @@ func realPool(t *testing.T) *pgxpool.Pool {
|
||||
t.Skip("TEST_TENANT_DSN nicht gesetzt, Integrationstest übersprungen")
|
||||
}
|
||||
pool := testdb.Pool(t, dsn)
|
||||
migrationsDir, err := filepath.Abs("../../migrations")
|
||||
migrationsDir, err := filepath.Abs("../../../migrations")
|
||||
if err != nil {
|
||||
t.Fatalf("migrationsverzeichnis: %v", err)
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
// Package qa04gate ist das Prüfgate für QA-04: es misst Suchqualität,
|
||||
// Package searchquality ist das Prüfgate für QA-04: es misst Suchqualität,
|
||||
// RAG-Antwortgüte und Quellenverweis-Nachvollziehbarkeit auf einem festen,
|
||||
// synthetischen Testkorpus (SEM-01..06 bereits gemergt) und ändert keines der
|
||||
// geprüften Pakete. Der Korpus stammt aus refcorpus (QA-01), die "Einbettung"
|
||||
@@ -7,7 +7,7 @@
|
||||
// einem externen Modell abhängt. Reine Termfrequenz ohne IDF-Gewichtung wurde
|
||||
// probiert und verworfen: seltene, fachlich entscheidende Wörter (z.B.
|
||||
// "Gesamtbetrag") gingen gegen häufige, generische Wörter unter.
|
||||
package qa04gate
|
||||
package searchquality
|
||||
|
||||
import (
|
||||
"context"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package qa04gate
|
||||
package searchquality
|
||||
|
||||
import (
|
||||
"context"
|
||||
@@ -1,4 +1,4 @@
|
||||
package qa04gate
|
||||
package searchquality
|
||||
|
||||
// testQuestion ist eine feste Testfrage des QA-04-Prüfgates gegen den
|
||||
// refcorpus-Testkorpus (QA-01). erwarteteSourceID ist leer, wenn die Frage
|
||||
@@ -1,7 +1,7 @@
|
||||
// Package retentionverify implementiert VAL-03: Stichprobenvergleich von
|
||||
// retain_until (Quelle aus TAR-01 vs. nach der Migration im generischen
|
||||
// Retention-Objektmodell) je Tenant, nach dem Berichtsmuster aus VAL-01
|
||||
// (internal/migrationverify): Abweichung ist entweder erklaert oder
|
||||
// (internal/migration/verify): Abweichung ist entweder erklaert oder
|
||||
// blockierender Befund, nie reine Notiz.
|
||||
package retentionverify
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// cor01-tenant-migrate fuehrt COR-01 aus: Uebernahme der freigegebenen
|
||||
// tenant_migration_map (MAP-02) in Core TEN-01. Einmalig wiederholbar
|
||||
// gegen dieselbe Quelle (siehe internal/migrationtenant).
|
||||
// gegen dieselbe Quelle (siehe internal/migration/tenant).
|
||||
package main
|
||||
|
||||
import (
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"os"
|
||||
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/db"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationtenant"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/tenant"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/tenant"
|
||||
)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// cor02-user-migrate fuehrt COR-02 aus: Uebernahme der freigegebenen
|
||||
// user_migration_map in Core IAM-01, bcrypt-Hashes 1:1 ohne Rehash.
|
||||
// Einmalig wiederholbar gegen dieselbe Quelle (siehe internal/migrationuser).
|
||||
// Einmalig wiederholbar gegen dieselbe Quelle (siehe internal/migration/user).
|
||||
package main
|
||||
|
||||
import (
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"os"
|
||||
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/db"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationuser"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/user"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/tenant"
|
||||
)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// Migrationsschritt.
|
||||
//
|
||||
// Benutzer-Quellzahl kommt aus der freigegebenen user_migration_map
|
||||
// (Registry-DB, siehe internal/migrationuser). Dokument-/Nachrichten-
|
||||
// (Registry-DB, siehe internal/migration/user). Dokument-/Nachrichten-
|
||||
// Quellzahlen kommen aus archivdms/archivmail und liegen in diesem
|
||||
// Repository nicht als Go-Code vor (nur als Source-Interface in
|
||||
// dms/internal/migrationdocument bzw. mail/internal/messagemigration,
|
||||
@@ -22,7 +22,7 @@ import (
|
||||
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationverify"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/verify"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/tenant"
|
||||
)
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@ const val02SampleSize = 5
|
||||
|
||||
// val02 entschluesselt eine Stichprobe migrierter Revisionen ueber denselben
|
||||
// crypto.Service wie der Lesepfad; den eigentlichen Hash-Vergleich macht
|
||||
// internal/migrationverify (VAL-02) im Root-Modul auf diesen Klartexten.
|
||||
// internal/migration/verify (VAL-02) im Root-Modul auf diesen Klartexten.
|
||||
func (e *Env) val02(ctx context.Context, t Tenant, _ int64, res *Result) error {
|
||||
target, err := e.Pool(ctx, t.TenantDB)
|
||||
if err != nil {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Package qa08 ist das Pruefgate "Revisionssicherheit" (QA-08): Manipulation
|
||||
// Package auditproof ist das Pruefgate "Revisionssicherheit" (QA-08): Manipulation
|
||||
// an Protokoll und Revisionsinhalt wird erkannt, Signaturen sind mit einem
|
||||
// externen Werkzeug (pdfsig) pruefbar, Aktionen sind im Protokoll auffindbar,
|
||||
// und pro Revision entsteht ein Pruefbericht.
|
||||
package qa08
|
||||
package auditproof
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
@@ -1,9 +1,9 @@
|
||||
// Package qa03 ist das Pruefgate "Dokumentenkern" (QA-03): der komplette
|
||||
// Package documentcore ist das Pruefgate "Dokumentenkern" (QA-03): der komplette
|
||||
// Lebenszyklus hochladen, ansehen, ablegen, herunterladen, loeschen,
|
||||
// wiederherstellen als automatisierter Test gegen das echte, voll migrierte
|
||||
// Schema, mit Pruefsummenvergleich ueber alle Schritte, Abbruchszenarien und
|
||||
// dem vollstaendigen Referenzkorpus (QA-01).
|
||||
package qa03
|
||||
package documentcore
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
@@ -1,8 +1,8 @@
|
||||
// Package qa02 ist das Pruefgate "Fundament" (QA-02): Durchstich von der
|
||||
// Package foundation ist das Pruefgate "Fundament" (QA-02): Durchstich von der
|
||||
// identifizierten Anfrage bis zum verschluesselt abgelegten Objekt, Wirksamkeit
|
||||
// der Verschluesselung und Fehlerbild bei Ausfall von Datenbank, Storage und
|
||||
// Schluesseldienst, jeweils gegen das echte, voll migrierte Schema.
|
||||
package qa02
|
||||
package foundation
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
@@ -1,10 +1,10 @@
|
||||
// Package qa10 enthaelt QA-10s automatisierte Prüfungen je Akzeptanzkriterium:
|
||||
// Package loadtest enthaelt QA-10s automatisierte Prüfungen je Akzeptanzkriterium:
|
||||
// Zielwerte fuer Antwortzeit/Durchsatz gemessen (AC1), definiertes statt
|
||||
// zufaelliges Verhalten bei Ueberlast (AC2), selbststaendige Erholung nach
|
||||
// Lastspitze (AC3). Dieselbe Bootstrap-Logik wie cmd/qa10loadtest, aber
|
||||
// kleine, schnelle Groessenordnung fuer den CI-Testlauf statt fuer die
|
||||
// Messung im Prüfprotokoll.
|
||||
package qa10
|
||||
package loadtest
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
@@ -92,7 +92,7 @@ func setup(t *testing.T, docCount int) *testHarness {
|
||||
if err != nil {
|
||||
t.Fatalf("users tabelle: %v", err)
|
||||
}
|
||||
migrations, err := migrate.Load(filepath.Join("..", "..", "migrations", "tenant"))
|
||||
migrations, err := migrate.Load(filepath.Join("..", "..", "..", "migrations", "tenant"))
|
||||
if err != nil {
|
||||
t.Fatalf("migrationen laden: %v", err)
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package qa05
|
||||
package metadataclass
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
@@ -1,9 +1,9 @@
|
||||
// Package qa05 ist das Pruefgate "Metadaten & Klassifizierung" (QA-05) fuer
|
||||
// Package metadataclass ist das Pruefgate "Metadaten & Klassifizierung" (QA-05) fuer
|
||||
// den Teil, der im DMS existiert: Feldvalidierung ueber alle Eingabewege,
|
||||
// Typwechsel mit Bestandsdaten und Konsistenz der Massenbearbeitung, gegen das
|
||||
// echte, voll migrierte Schema. Die Genauigkeit der automatischen Zuordnung
|
||||
// (MET-05, CLS-01/03) ist mangels Umsetzung nicht pruefbar, siehe Protokoll.
|
||||
package qa05
|
||||
package metadataclass
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
@@ -1,8 +1,8 @@
|
||||
// Package qa04 ist das Pruefgate "Suche & Texterkennung" (QA-04): Es misst am
|
||||
// Package searchocr ist das Pruefgate "Suche & Texterkennung" (QA-04): Es misst am
|
||||
// festen, synthetischen Referenzkorpus die Erkennungsrate der OCR-Pipeline, die
|
||||
// Trefferqualitaet der Suche und die Konsistenz zwischen Datenbank und Suchindex,
|
||||
// gegen echtes Postgres (Testschema), echtes Tesseract und echtes Manticore.
|
||||
package qa04
|
||||
package searchocr
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
@@ -1,7 +1,7 @@
|
||||
// Package qa06 ist das Pruefgate "Sicherheit & Berechtigung" (QA-06): jede
|
||||
// Package securityauthz ist das Pruefgate "Sicherheit & Berechtigung" (QA-06): jede
|
||||
// Rolle gegen jeden objektbezogenen Endpunkt, Einschleusung, Upload-Haertung,
|
||||
// signierte URLs und aktive Inhalte.
|
||||
package qa06
|
||||
package securityauthz
|
||||
|
||||
import (
|
||||
"context"
|
||||
@@ -1,4 +1,4 @@
|
||||
package qa06
|
||||
package securityauthz
|
||||
|
||||
import (
|
||||
"context"
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationacl"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/acl"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/policy"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/rbac"
|
||||
)
|
||||
|
||||
@@ -11,10 +11,10 @@ import (
|
||||
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/finalmigrationapproval"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrate"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationaudit"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationrole"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationtenant"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationuser"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/audit"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/role"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/tenant"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/user"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/tenant"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/tenantapproval"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/tenantmatch"
|
||||
|
||||
@@ -15,8 +15,8 @@ import (
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/auth"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationuser"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationverify"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/user"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/verify"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/user"
|
||||
)
|
||||
|
||||
|
||||
@@ -7,10 +7,10 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationauditcontinuity"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/auditcontinuity"
|
||||
)
|
||||
|
||||
// val04 verwendet VAL-04 (internal/migrationauditcontinuity) direkt: Quelle
|
||||
// val04 verwendet VAL-04 (internal/migration/auditcontinuity) direkt: Quelle
|
||||
// und Ziel liegen beide in der Registry-DB (legacy_audit_log_staging bzw.
|
||||
// audit_events aus COR-05), eine Modulstufe ist dafuer nicht noetig.
|
||||
func (d *Dryrun) val04(ctx context.Context) (Outcome, error) {
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1
-1
@@ -1,6 +1,6 @@
|
||||
// Package migrationauditcontinuity implementiert VAL-04: den
|
||||
// Kontinuitaetsabgleich des Audit-Logs je Tenant nach COR-05
|
||||
// (internal/migrationaudit) — aeltester/neuester Eintrag und Gesamtzahl
|
||||
// (internal/migration/audit) — aeltester/neuester Eintrag und Gesamtzahl
|
||||
// zwischen legacy_audit_log_staging (Quelle) und audit_events (Ziel)
|
||||
// duerfen weder eine Luecke noch eine Zeitverschiebung zeigen.
|
||||
package migrationauditcontinuity
|
||||
+1
-1
@@ -11,7 +11,7 @@ import (
|
||||
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migrationaudit"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/migration/audit"
|
||||
"gitea.perlbach24.de/scripte/nexarch/internal/testdb"
|
||||
)
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -12,7 +12,7 @@ import (
|
||||
type TenantPoolResolver func(ctx context.Context, tenantSlug string) (*pgxpool.Pool, error)
|
||||
|
||||
// PostgresTenantCountProvider zaehlt users und documents direkt in der
|
||||
// Tenant-Datenbank, in die COR-02 (internal/migrationuser) bzw. DOK-01
|
||||
// Tenant-Datenbank, in die COR-02 (internal/migration/user) bzw. DOK-01
|
||||
// (dms/internal/migrationdocument) schreiben. Die Nachrichten-Zieltabelle
|
||||
// existiert nicht in Postgres (siehe mail/internal/messagemigration,
|
||||
// Metadaten liegen ausschliesslich im Manticore-Suchindex) — das
|
||||
@@ -40,7 +40,7 @@ func (p PostgresTenantCountProvider) Counts(ctx context.Context, tenantSlug stri
|
||||
|
||||
// RegistryApprovedUserCountProvider zaehlt freigegebene
|
||||
// user_migration_map-Eintraege je Tenant (siehe
|
||||
// internal/migrationuser.MapStore.Approved) als Quellzahl der
|
||||
// internal/migration/user.MapStore.Approved) als Quellzahl der
|
||||
// Benutzer-Kerntabelle.
|
||||
type RegistryApprovedUserCountProvider struct {
|
||||
RegistryPool *pgxpool.Pool
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -134,7 +134,7 @@ func TestUnapprovedEntry_IsRejectedByDownstreamConsumer(t *testing.T) {
|
||||
id := ids[0]
|
||||
|
||||
// Akzeptanzkriterium 3: approved_at IS NOT NULL ist die einzige Quelle,
|
||||
// die COR-01 (internal/migrationtenant.MapStore.Approved) tatsaechlich
|
||||
// die COR-01 (internal/migration/tenant.MapStore.Approved) tatsaechlich
|
||||
// liest -- derselbe Filter wird hier direkt nachgebildet, um die
|
||||
// Zurueckweisung ohne Freigabe nachzuweisen.
|
||||
var count int
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// (internal/tenantapproval) eine Ebene tiefer (Benutzer statt Tenant). Jede
|
||||
// Benutzer-Zusammenfuehrung erfordert eine explizite, protokollierte
|
||||
// menschliche Entscheidung (Approve/Reject), bevor COR-02
|
||||
// (internal/migrationuser.MapStore.Approved) sie als Quelle nutzen darf.
|
||||
// (internal/migration/user.MapStore.Approved) sie als Quelle nutzen darf.
|
||||
package usermigrationapproval
|
||||
|
||||
import (
|
||||
|
||||
@@ -167,7 +167,7 @@ func TestUnapprovedMerge_StaysRejectedWhileBothAccountsRemainSeparatelyMigratabl
|
||||
}
|
||||
mergeID := mergeIDs[0]
|
||||
|
||||
// Downstream-Filter von COR-02 (internal/migrationuser.MapStore.Approved)
|
||||
// Downstream-Filter von COR-02 (internal/migration/user.MapStore.Approved)
|
||||
// liest ausschliesslich approved_at IS NOT NULL -- hier direkt
|
||||
// nachgebildet, um die Zurueckweisung ohne Freigabe nachzuweisen.
|
||||
assertNotApprovedForDownstream := func(id int64) {
|
||||
@@ -251,7 +251,7 @@ func TestUnapprovedMerge_StaysRejectedWhileBothAccountsRemainSeparatelyMigratabl
|
||||
|
||||
// AC3: die freigegebene Map ist die einzige Quelle fuer COR-02 --
|
||||
// Approved() liefert ausschliesslich Eintraege mit approved_at gesetzt,
|
||||
// genau der Filter, den internal/migrationuser.MapStore.Approved
|
||||
// genau der Filter, den internal/migration/user.MapStore.Approved
|
||||
// implementiert.
|
||||
func TestApproved_LiefertNurFreigegebeneEintraege(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
|
||||
@@ -52,7 +52,7 @@ go_suite FDN-09 ./internal/crypto/
|
||||
go_suite FDN-16 ./internal/testdb/ ./internal/testlock/
|
||||
go_suite FDN-10/11 ./internal/downloadapi/ ./internal/jobqueue/
|
||||
go_suite QA-01 ./internal/testcorpus/
|
||||
go_suite QA-02 ./internal/qa02/
|
||||
go_suite QA-02 ./internal/gates/foundation/
|
||||
|
||||
perf_serial() {
|
||||
local out; out="$(cd dms && TEST_PERF=1 go test -count=1 -p 1 -v -run 'TestSearch_ConcurrentRequestsStayUnderResponseTimeLimit|TestFilters_ResponseTimeWithFiveFilters' ./internal/searchapi/ 2>&1)"
|
||||
|
||||
@@ -25,7 +25,7 @@ go_suite DOC-11/12 ./internal/trash/ ./internal/trashapi/
|
||||
go_suite DOC-14 ./internal/docmerge/
|
||||
go_suite DOC-15 ./internal/bulkedit/ ./internal/bulkeditapi/
|
||||
go_suite QA-01 ./internal/testcorpus/
|
||||
go_suite QA-03 ./internal/qa03/
|
||||
go_suite QA-03 ./internal/gates/documentcore/
|
||||
|
||||
if [ "${QA03_SKIP_WEB:-0}" != 1 ]; then
|
||||
for d in shl dms-upload dms-browser pdf-viewer; do
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
// Package qa03 ist das Pruefgate Genehmigungen & Aufgaben (QA-03): ein
|
||||
// Package approvals ist das Pruefgate Genehmigungen & Aufgaben (QA-03): ein
|
||||
// fester Testkorpus, der die bereits gemergten Bausteine APR-02
|
||||
// (dualcheck), APR-04 (delegation), TSK-03 (escalation) und TSK-05
|
||||
// (escalationnotify) end-zu-ende gegen echtes Postgres durchspielt --
|
||||
// Missbrauchsversuche auf die Vier-Augen-Freigabe, Zeitraffer-Fristen und
|
||||
// den vollstaendigen Eskalationspfad bis zum simulierten Core-Dispatcher.
|
||||
package qa03
|
||||
package approvals
|
||||
|
||||
import (
|
||||
"context"
|
||||
@@ -1,9 +1,9 @@
|
||||
// Package qa02 ist das Pruefgate fuer QA-02: Zustandsautomat (ENG-01),
|
||||
// Package engine ist das Pruefgate fuer QA-02: Zustandsautomat (ENG-01),
|
||||
// Prozessdefinitions-Format (ENG-03), Modul-Adapter-Schnittstelle (ENG-02)
|
||||
// und Fehlerbehandlung/Retry (ENG-05) werden hier nicht isoliert, sondern
|
||||
// im Zusammenspiel gegen eine echte, frisch migrierte Testdatenbank
|
||||
// gefahren.
|
||||
package qa02
|
||||
package engine
|
||||
|
||||
import (
|
||||
"context"
|
||||
Reference in new issue
Block a user