Ansicht
Dokumentation
RBAMTEST_AUNIT_TRACE - Test RBAM Trace
BAL Application Log Documentation PERFORM Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
Verwendung
Das Programm steuert den ABAP Unit Test für den RBAM-Trace. Ziel dieses Tests ist, festzustellen, ob die erwartete Anzahl von Trace-Einträgen erzeugt werden und ob diese zu den auslösenden Berechtigungsprüfungen plausibel sind (Effekt stimmt, angewendete Policy stimmt usw.).
Ablauf des Programms.
- Es wird das UNIT Test Programm RBAMTEST_INTEGRATION_MATRIX mit Hilfe von SUMBIT gestartet. Spezielle Parameter-Einstellungen sorgen dafür, dass nur die Operation RETRIEVE getestet wird und dass der RBAM Trace in einem speziellen lokalen Modus gestartet wird. Die Trace-Einstellungen gelten dadurch nur für den gerade aktiven internen Modus. Evtl. andere vorhandene Trace-Einstellungen werden durch nicht berührt. Durch den Ablauf dieses Programms werden definierte Einträge in den RBAM-Trace geschrieben, die später geprüft werden können.
- Nachdem der Intergrations-Test beendet sich der Trace automatisch (Ende des Modus). Die Trace-Einträge werden mit Hilfe der RBAM Trace API-Methode READ_LOG von der Datenbank gelesen. Dabei wird explizit auf die RBAM-Testbenutzer "!RBAMxx" selektiert.
- Im nächsten Schritt werden die Trace-Einträge zerlegt und in eine besser verarbeitbare Struktur überführt. Da die wesentlichen Daten eines Trace-Eintrags in einer langen formatierten Zeichenkette abgelegt sind, beruht der Zerlegungsprozess auf diesem Format. Bei Änderungen an diesem Format - besonders bei Änderung von Schlüsselworten - muss die Zerlegung angepasst werden.
- Der Zerlegungsprozess erzeugt zwei interne Tabellen, eine für das Businessobjekt "Customer" eine andere für "Invoice".
- Nachdem die beiden Tabellen erstellt wurden und damit alle Vorbereitungen abgeschlossen sind, beginnt der eigentliche Unit-Test. Die Prüfung erfolgt mit Hilfe des IAT Test Framework und der Fixture- Klasse CL_RBAMTEST_TRACE_FIXTURE. Wie bei diesem Framework üblich, werden Tabellen im HTML-Format als Testbeschreibungsobjekte benötigt. Es liegt nahe, die Tabellen wieder zu verwenden, die bereits im ersten Schritt beim Ablauf des Programms RBAMTEST_INTEGRATION_MATRIX benutzt wurden. Schließlich sollen ja die genau diese Berechtigungsprüfungen bei der Prüfung herangezogen werden. Da die Testbeschreibungstabellen aber immer den Namen der Fixture-Klasse enthalten, müssen Kopien der Integration Test Tabellen - mit geändertem Namen - angelegt werden. Da nur die Operation RETRIEVE in den Test eingeht, brauchen auch nur diese beiden Tabellen kopiert werden. Der Name des Verzeichnisses im Mime-Repository ist /SAP/BC/RBAM/Testdata/Runtime/Trace.
- Gestartet werden die Unit-Tests schließlich durch den Aufruf der Framework-Methode CL_IAT_TESTRUNNER=>RUN( ).
Integration
Programm wird im Rahmen des Verifikationsprozess VER06359 ausgeführt.
Voraussetzungen
Der Test ist abhängig von den oben erwähnten Testbeschreibungstabellen im Mime-Repository-Verzeichnis /SAP/BC/RBAM/Testdata/Runtime/Trace und von der Fixture-Klasse CL_RBAMTEST_TRACE_FIXTURE. Die für den Trace-Test verwendeten Tabellen müssen Inhaltlich mit den Tabellen übereinstimmen, die beim Integrationstest verwendet werden (siehe oben).
Funktionsumfang
Selektion
Standardvarianten
Ausgabe
Falls der Unit-Test Fehler findet, werden diese im ABAP Unit Browser angezeigt.
Aktivitäten
Beispiel
General Material Data rdisp/max_wprun_time - Maximum work process run time
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 3998 Date: 20240531 Time: 144241 sap01-206 ( 98 ms )