Skip to content

Unittest für PolicyServiceImpl.java #1472

Closed
ds-vlisenco wants to merge 10 commits intoeclipse-tractusx:mainfrom
ds-vlisenco:main
Closed

Unittest für PolicyServiceImpl.java #1472
ds-vlisenco wants to merge 10 commits intoeclipse-tractusx:mainfrom
ds-vlisenco:main

Conversation

@ds-vlisenco
Copy link

@ds-vlisenco ds-vlisenco commented Jun 4, 2025

Description

feat: Add unit tests for PolicyServiceImpl class

Dieses PR führt umfassende Unit Tests für die Klasse PolicyServiceImpl im Traceability-Backend ein. Die Klasse enthält Geschäftslogik zur Verwaltung von Policies und interagiert mit PolicyRepository und EdcNotificationContractService.

Die neuen Tests verbessern die Zuverlässigkeit des Codes und stellen die korrekte Interaktion mit den abhängigen Komponenten sicher.

Fixes: [gegebenenfalls Issue-Nummer eintragen]


Pre-review checks

Bitte sicherstellen, dass folgende Punkte erfüllt sind:

  • Abhängigkeiten überprüft (Dash license tool)
  • Lizenz-Header vorhanden
  • Projekt-Coding-Standards eingehalten

Hintergrund

Die Klasse PolicyServiceImpl hatte bislang keine dedizierten Unit Tests. Ziel ist es, deren Korrektheit und Wartbarkeit durch vollständige Testabdeckung aller öffentlichen Methoden sicherzustellen.


Umfang

Folgende Methoden wurden getestet:

  • getIrsPolicies(): Rückgabe der Rohdaten-Map
  • getPolicies(): Rückgabe einer flachen Liste von PolicyResponse
  • getPolicy(String id): Erfolg und Fehlerfall (PolicyNotFoundException)
  • createPolicy(RegisterPolicyRequest): Erstellung und EDC-Aktualisierung
  • updatePolicy(UpdatePolicyRequest): Update und EDC-Aktualisierung
  • deletePolicy(String id): Löschung und EDC-Aktualisierung

Abgedeckte Szenarien:

  • Erfolgsfälle (Happy Path)
  • Fehler- und Randfälle (z. B. Null, leere Werte, fehlende Einträge)
  • Interaktion mit abhängigen Komponenten (Mockito verify)

Teststrategie

  • Testklasse: PolicyServiceImplTest.java
  • Frameworks: JUnit 5, Mockito
  • Setup: @ExtendWith(MockitoExtension.class)
  • Prüfung von Ausnahmen: assertThrows(...)
  • Verifikation von Abhängigkeiten: verify(...)
  • Testabdeckung > 90 %

Akzeptanzkriterien

  • PolicyServiceImplTest.java wurde erstellt
  • Alle öffentlichen Methoden der Klasse wurden getestet
  • Testabdeckung ≥ 90 %
  • Tests decken sowohl Normal- als auch Fehlerpfade ab
  • Alle Tests sind erfolgreich
  • Code Review wurde durchgeführt

Hinweise

  • Bestehende Testklassen im Projekt wurden zur Orientierung herangezogen
  • Keine Änderungen an der Business-Logik vorgenommen

Added input validation to PolicyServiceImpl#getPolicy to throw IllegalArgumentException
when policy ID is null or blank. This ensures consistent error handling and aligns with
unit test expectations.

Also resolves failing test cases in PolicyServiceImplTest that check for invalid inputs.
Added input validation to PolicyServiceImpl#getPolicy to throw IllegalArgumentException
when policy ID is null or blank. This ensures consistent error handling and aligns with
unit test expectations.

Also resolves failing test cases in PolicyServiceImplTest that check for invalid inputs.
fix: add null checks to PolicyServiceImpl to handle invalid input
@ds-vlisenco ds-vlisenco closed this Jun 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant