SAPL — Verschlüsselungsrecherche & Testautomatisierung

Spring Boot Testing Security

Beschreibung

Datenbank-Verschlüsselungsstrategien evaluiert und AssertJ-Testinfrastruktur für die SAPL Policy Engine im Rahmen eines Backend-fokussierten Industriepraktikums aufgebaut.


Context

During my industry internship at FTK Dortmund (Java Backend & DevOps), I worked on two parallel tracks within the open-source SAPL policy engine ecosystem: data encryption evaluation and test automation.

Problem

The team needed a clear comparison of database encryption strategies to guide architectural decisions, and the SAPL project’s test suite needed to be migrated from Hamcrest to the more expressive AssertJ framework for better maintainability.

What I Did

Encryption research & prototyping:

  • Researched and compared encryption approaches: Column-Level Encryption, Field-Level Encryption, and Transparent Data Encryption
  • Built Spring Boot prototypes with PostgreSQL and H2 to validate each approach hands-on
  • Evaluated trade-offs (performance, complexity, security coverage) and presented findings to the team

Test automation:

  • Learned the existing Hamcrest test patterns, then created and migrated assertions to JUnit + AssertJ
  • Contributed test code to the open-source SAPL repository

Outcome

  • Delivered a structured encryption comparison that informed the team’s architectural direction
  • Migrated and expanded test coverage in the public SAPL repository — contributions visible on GitHub

Tech Stack

Java, Spring Boot, PostgreSQL, H2, JUnit, AssertJ, Hamcrest, Maven, Git

Kontext

Während meines Industriepraktikums am FTK Dortmund (Java Backend & DevOps) habe ich an zwei parallelen Themen innerhalb des Open-Source-Ökosystems der SAPL Policy Engine gearbeitet: Verschlüsselungsevaluierung und Testautomatisierung.

Problem

Das Team benötigte einen klaren Vergleich von Datenbank-Verschlüsselungsstrategien als Grundlage für Architekturentscheidungen. Zudem musste die Test-Suite des SAPL-Projekts von Hamcrest auf das ausdrucksstärkere AssertJ-Framework migriert werden, um die Wartbarkeit zu verbessern.

Was ich gemacht habe

Verschlüsselungsrecherche & Prototyping:

  • Verschlüsselungsansätze recherchiert und verglichen: Column-Level, Field-Level und Transparent Data Encryption
  • Spring-Boot-Prototypen mit PostgreSQL und H2 gebaut, um jeden Ansatz praktisch zu validieren
  • Abwägungen (Performance, Komplexität, Sicherheitsabdeckung) bewertet und dem Team präsentiert

Testautomatisierung:

  • Bestehende Hamcrest-Testmuster erlernt, dann Assertions auf JUnit + AssertJ erstellt und migriert
  • Testcode zum Open-Source SAPL-Repository beigetragen

Ergebnis

  • Einen strukturierten Verschlüsselungsvergleich geliefert, der die Architekturrichtung des Teams beeinflusste
  • Testabdeckung im öffentlichen SAPL-Repository migriert und erweitert — Beiträge auf GitHub sichtbar

Tech Stack

Java, Spring Boot, PostgreSQL, H2, JUnit, AssertJ, Hamcrest, Maven, Git