1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 14:09:34 +01:00
This commit is contained in:
Janosch 2026-03-27 11:13:16 +01:00
parent 6a672705c2
commit e897f41a32
12 changed files with 129 additions and 31 deletions

19
backend/Dockerfile Normal file
View file

@ -0,0 +1,19 @@
# Multi-stage Build für das Effigenix-Backend.
# Genutzt vom E2E-Test-Stack (test-automation/docker-compose.e2e.yml).
FROM maven:3.9-eclipse-temurin-21-alpine AS build
WORKDIR /app
# Dependency-Layer cachen
COPY pom.xml .
RUN mvn dependency:go-offline -q
# Source kompilieren und paketieren (Tests überspringen)
COPY src ./src
RUN mvn package -DskipTests -q
# Schlankes Runtime-Image
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
COPY --from=build /app/target/*.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

View file

@ -0,0 +1,15 @@
# Spring-Profil für E2E-Tests gegen echte PostgreSQL-Datenbank.
# Aktiviert via SPRING_PROFILES_ACTIVE=e2e (docker-compose.e2e.yml).
# Liquibase-Kontext "e2e" aktiviert Changeset 039-seed-e2e-testusers.
spring:
liquibase:
contexts: e2e
sentry:
dsn: ""
logging:
level:
root: WARN
de.effigenix: INFO

View file

@ -0,0 +1,46 @@
-- E2E-Testbenutzer für automatisierte Tests.
-- Wird nur mit Liquibase-Kontext "e2e" eingespielt (039-seed-e2e-testusers.xml).
--
-- Benutzer:
-- admin / admin123 → ADMIN-Rolle (darf alles)
-- viewer / test1234 → SALES_STAFF-Rolle (nur MASTERDATA_READ, kein WRITE)
-- admin (Passwort: admin123)
INSERT INTO users (id, username, email, password_hash, branch_id, status, created_at, last_login)
VALUES (
'00000000-0000-0000-0000-000000000001',
'admin',
'admin@effigenix.com',
'$2a$12$SJmX80hUZoA66W77CX7cHeRw1TPscXD6S8HYEZfhJ5PxTfkbwbLdi',
NULL,
'ACTIVE',
CURRENT_TIMESTAMP,
NULL
)
ON CONFLICT (id) DO NOTHING;
INSERT INTO user_roles (user_id, role_id)
SELECT '00000000-0000-0000-0000-000000000001', id
FROM roles
WHERE name = 'ADMIN'
ON CONFLICT DO NOTHING;
-- viewer (Passwort: test1234) → SALES_STAFF = nur MASTERDATA_READ
INSERT INTO users (id, username, email, password_hash, branch_id, status, created_at, last_login)
VALUES (
'00000000-0000-0000-0000-000000000002',
'viewer',
'viewer@effigenix.com',
'$2a$12$LJ3m4ys3uz2YPMRvKbmrZOZHAMSKL4FBy.XLR3WnCKsMbVDfGKJVa',
NULL,
'ACTIVE',
CURRENT_TIMESTAMP,
NULL
)
ON CONFLICT (id) DO NOTHING;
INSERT INTO user_roles (user_id, role_id)
SELECT '00000000-0000-0000-0000-000000000002', id
FROM roles
WHERE name = 'SALES_STAFF'
ON CONFLICT DO NOTHING;

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
<changeSet id="039-seed-e2e-testusers" author="effigenix" context="e2e">
<sqlFile path="db/changelog/changes/039-seed-e2e-testusers.sql"
splitStatements="true"
stripComments="true"/>
</changeSet>
</databaseChangeLog>

View file

@ -44,5 +44,6 @@
<include file="db/changelog/changes/036-add-inventory-counts-composite-index.xml"/>
<include file="db/changelog/changes/037-add-completed-by-to-inventory-counts.xml"/>
<include file="db/changelog/changes/038-add-cancellation-reason-to-inventory-counts.xml"/>
<include file="db/changelog/changes/039-seed-e2e-testusers.xml"/>
</databaseChangeLog>