diff --git a/.github/renovate.json b/.github/renovate.json index 7821063f..9d3e4b2a 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -3,5 +3,6 @@ "extends": [ "local>hmcts/.github:renovate-config", "local>hmcts/.github//renovate/automerge-minor" - ] + ], + "timezone": "Europe/London" } diff --git a/Create.CSV.Data/Accept_Transcriber_Details_PATCH_CSV.ps1 b/Create.CSV.Data/Accept_Transcriber_Details_PATCH_CSV.ps1 index 74e0e47e..b9a6445d 100644 --- a/Create.CSV.Data/Accept_Transcriber_Details_PATCH_CSV.ps1 +++ b/Create.CSV.Data/Accept_Transcriber_Details_PATCH_CSV.ps1 @@ -5,7 +5,7 @@ WITH RankedTranscriptions AS ( transcription.tra_id, transcription.created_by, courthouse.cth_id, - '\"' || REPLACE(courthouse.display_name, '\"', '\"\"') || '\"' AS courthouse_name, + courthouse.display_name AS courthouse_name, user_account.usr_id, user_account.user_email_address, 'PerfTester@01' AS "Password", diff --git a/Create.CSV.Data/GetCourtHouse_And_CourtRooms_CSV.ps1 b/Create.CSV.Data/GetCourtHouse_And_CourtRooms_CSV.ps1 index 7c63a4f1..e610382a 100644 --- a/Create.CSV.Data/GetCourtHouse_And_CourtRooms_CSV.ps1 +++ b/Create.CSV.Data/GetCourtHouse_And_CourtRooms_CSV.ps1 @@ -1,12 +1,12 @@ # SQL query to be executed $query = @" SELECT - '\"' || darts.courtroom.cth_id || '\"' AS cth_id, - '\"' || darts.courtroom.courtroom_name || '\"' AS courtroom_name, - '\"' || darts.courtroom.ctr_id || '\"' AS ctr_id, - '\"' || REPLACE(darts.courthouse.courthouse_name, '\"', '\"\"') || '\"' AS courthouse_name, - '\"' || darts.courthouse.display_name || '\"' AS display_name, - '\"' || darts.courthouse.courthouse_code || '\"' AS courthouse_code + darts.courtroom.cth_id AS cth_id, + darts.courtroom.courtroom_name AS courtroom_name, + darts.courtroom.ctr_id AS ctr_id, + REPLACE(darts.courthouse.courthouse_name, '\"', '\"\"') AS courthouse_name, + darts.courthouse.display_name AS display_name, + darts.courthouse.courthouse_code AS courthouse_code FROM darts.courtroom INNER JOIN diff --git a/Create.CSV.Data/GetPerfCourtClerk_Users_CSV.ps1 b/Create.CSV.Data/GetPerfCourtClerk_Users_CSV.ps1 index 04ef8a9b..4085dfa6 100644 --- a/Create.CSV.Data/GetPerfCourtClerk_Users_CSV.ps1 +++ b/Create.CSV.Data/GetPerfCourtClerk_Users_CSV.ps1 @@ -7,7 +7,7 @@ WITH UserDetails AS ( 'PerfTester@01' AS Password, ua.user_name, sgch.cth_id, - '\"' || REPLACE(ch.display_name, '\"', '\"\"') || '\"' AS courthouse_name, + ch.display_name AS courthouse_name, ch.courthouse_code, 'CourtClerk' AS Type, ROW_NUMBER() OVER (PARTITION BY ua.usr_id ORDER BY RANDOM()) AS courthouse_rn diff --git a/Create.CSV.Data/GetPerfCourtManager_Users_CSV.ps1 b/Create.CSV.Data/GetPerfCourtManager_Users_CSV.ps1 index 7e0b411f..674cc5f0 100644 --- a/Create.CSV.Data/GetPerfCourtManager_Users_CSV.ps1 +++ b/Create.CSV.Data/GetPerfCourtManager_Users_CSV.ps1 @@ -7,7 +7,7 @@ WITH UserDetails AS ( 'PerfTester@01' AS Password, ua.user_name, sgch.cth_id, - '\"' || REPLACE(ch.display_name, '\"', '\"\"') || '\"' AS courthouse_name, + ch.display_name AS courthouse_name, ch.courthouse_code, 'CourtManager' AS Type, ROW_NUMBER() OVER (PARTITION BY ua.usr_id ORDER BY RANDOM()) AS courthouse_rn diff --git a/Create.CSV.Data/GetPerfJudge_Users_CSV.ps1 b/Create.CSV.Data/GetPerfJudge_Users_CSV.ps1 index db6ba8b5..0edb7171 100644 --- a/Create.CSV.Data/GetPerfJudge_Users_CSV.ps1 +++ b/Create.CSV.Data/GetPerfJudge_Users_CSV.ps1 @@ -7,7 +7,7 @@ WITH UserDetails AS ( 'PerfTester@01' AS Password, ua.user_name, urch.cth_id, - '\"' || REPLACE(ch.display_name, '\"', '\"\"') || '\"' AS courthouse_name, + ch.display_name AS courthouse_name, ch.courthouse_code, 'Judge' AS Type, ROW_NUMBER() OVER (PARTITION BY ua.usr_id ORDER BY RANDOM()) AS courthouse_rn diff --git a/Create.CSV.Data/GetPerfLanguage_Shop_Users_CSV.ps1 b/Create.CSV.Data/GetPerfLanguage_Shop_Users_CSV.ps1 index a869fb41..943a6720 100644 --- a/Create.CSV.Data/GetPerfLanguage_Shop_Users_CSV.ps1 +++ b/Create.CSV.Data/GetPerfLanguage_Shop_Users_CSV.ps1 @@ -7,7 +7,7 @@ WITH UserDetails AS ( 'PerfTester@01' AS Password, ua.user_name, urch.cth_id, - '\"' || REPLACE(ch.display_name, '\"', '\"\"') || '\"' AS courthouse_name, + ch.display_name AS courthouse_name, ch.courthouse_code, 'LanguageShop' AS Type, ROW_NUMBER() OVER (PARTITION BY ua.usr_id ORDER BY RANDOM()) AS courthouse_rn diff --git a/Create.CSV.Data/GetPerfTranscirber_Users_CSV.ps1 b/Create.CSV.Data/GetPerfTranscirber_Users_CSV.ps1 index 792eff08..6ca96245 100644 --- a/Create.CSV.Data/GetPerfTranscirber_Users_CSV.ps1 +++ b/Create.CSV.Data/GetPerfTranscirber_Users_CSV.ps1 @@ -7,7 +7,7 @@ WITH UserDetails AS ( 'PerfTester@01' AS Password, ua.user_name, urch.cth_id, - '\"' || REPLACE(ch.display_name, '\"', '\"\"') || '\"' AS courthouse_name, + ch.display_name AS courthouse_name, ch.courthouse_code, 'Transcriber' AS Type, ROW_NUMBER() OVER (PARTITION BY ua.usr_id ORDER BY RANDOM()) AS courthouse_rn diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..dae897ab --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,65 @@ +# Security Policy + +## Purpose + +This document outlines how security vulnerabilities should be reported for this +repository. + +HMCTS is committed to responsible vulnerability disclosure and to addressing +legitimate security issues in a timely and coordinated manner. + +## Reporting a vulnerability + +If you believe you have identified a security vulnerability in this repository, please report it by email to: + +HMCTSVulnerabilityDisclosure@justice.gov.uk + +This email address is the sole approved point of contact for vulnerability disclosures relating to HMCTS-owned repositories and services. + +Please **do not** create public GitHub issues or pull requests to report security vulnerabilities. + +## What to Include in a Report + +When reporting a vulnerability, please provide as much of the following information as possible: + +- The repository, service, or component affected +- A clear description of the vulnerability +- Steps required to reproduce the issue +- Any non-destructive proof of concept or exploitation details + +Where available, the following additional information is helpful: + +- The suspected vulnerability type (for example, an OWASP category) +- Relevant logs, screenshot or error messages + +Reports do not need to be fully validated before submission. If you are unsure whether an issue is exploitable or security-relevant, you are still encouraged to report it. + +## Responsible Disclosure Guidelines + +When investigating or reporting a vulnerability affecting HMCTS systems, reporters must not: + +- Break the law or breach applicable regulations +- Access unnecessary, excessive, or unrelated data +- Modify or delete data +- Perform denial-of-service or other disruptive testing +- Use high-intensity, invasive, or destructive scanning techniques +- Publicly disclose the vulnerability before it has been addressed +- Attempt social engineering, Phishing, or physical attacks +- Demand payment or compensation in exchange for disclosure + +These guidelines are intended to protect users, services, and data while allowing good-faith security research. + + +## Bug Bounty + +HMCTS does not operate a paid bug bounty programme. + +## Code of Conduct + +All contributors and reporters are expected to act in good faith and in accordance with applicable laws and professional standards. + +## Further Reading + +- https://www.ncsc.gov.uk/information/vulnerability-reporting +- https://www.gov.uk/help/report-vulnerability +- https://github.com/Trewaters/security-README diff --git a/build.gradle b/build.gradle index 24965975..9d6089e8 100644 --- a/build.gradle +++ b/build.gradle @@ -16,10 +16,20 @@ repositories { dependencyCheck { suppressionFile = 'config/owasp/suppressions.xml' } - +ext { + log4JVersion = "2.25.2" +} dependencies { gatling group: 'org.postgresql', name: 'postgresql', version: '42.7.4' gatling 'com.github.hmcts:juror-generation-support-library:1.5.4' + gatlingCompileOnly 'org.projectlombok:lombok:1.18.42' + gatlingAnnotationProcessor 'org.projectlombok:lombok:1.18.42' + + + gatling group: 'com.github.hmcts.java-logging', name: 'logging', version: '6.1.9' + + gatling group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4JVersion + gatling group: 'org.apache.logging.log4j', name: 'log4j-to-slf4j', version: log4JVersion } // Default gatlingRun configuration diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AudioGETPreviewSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AudioGETPreviewSimulation.java index 7660dc3b..681cad4c 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AudioGETPreviewSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AudioGETPreviewSimulation.java @@ -6,16 +6,18 @@ import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import io.gatling.javaapi.core.*; import io.gatling.javaapi.http.*; +import simulations.Scripts.Utilities.HttpUtil; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class AudioGETPreviewSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AudioPostSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AudioPostSimulation.java index dc603b97..db209459 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AudioPostSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AudioPostSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class AudioPostSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestDeleteSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestDeleteSimulation.java index 4f50a897..46fd4137 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestDeleteSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestDeleteSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class AudioRequestDeleteSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetDownloadSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetDownloadSimulation.java index 0076b929..71de5f35 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetDownloadSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetDownloadSimulation.java @@ -8,13 +8,14 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class AudioRequestGetDownloadSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetPlayBackSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetPlayBackSimulation.java index 3bb4e7e2..79bd66e8 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetPlayBackSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetPlayBackSimulation.java @@ -9,14 +9,15 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class AudioRequestGetPlayBackSimulation extends Simulation { { final FeederBuilder feeder = csv(AppConfig.AUDIO_REQUEST_POST_FILE_PATH).random(); - final HttpProtocolBuilder httpProtocol = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetSimulation.java index 73913114..8abd5d76 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestGetSimulation.java @@ -9,13 +9,14 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class AudioRequestGetSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestPostSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestPostSimulation.java index 98380615..263d1754 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestPostSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AudioRequestPostSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class AudioRequestPostSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); @@ -25,7 +26,7 @@ public class AudioRequestPostSimulation extends Simulation { ); setUp( - scn1.injectOpen(constantUsersPerSec(1).during(1)).protocols(httpProtocol)); + scn1.injectOpen(atOnceUsers(1)).protocols(httpProtocol)); } } \ No newline at end of file diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunApplyRetentionCaseAssociatedObjectsTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunApplyRetentionCaseAssociatedObjectsTaskSimulation.java index af5a3c92..6f8a1cc1 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunApplyRetentionCaseAssociatedObjectsTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunApplyRetentionCaseAssociatedObjectsTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunApplyRetentionCaseAssociatedObjectsTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunApplyRetentionTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunApplyRetentionTaskSimulation.java index 4f1a03bf..5b44a452 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunApplyRetentionTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunApplyRetentionTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunApplyRetentionTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunArmRpoPollingTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunArmRpoPollingTaskSimulation.java index a4a0230d..ed3cf69f 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunArmRpoPollingTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunArmRpoPollingTaskSimulation.java @@ -10,12 +10,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunArmRpoPollingTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunAudioLinkingTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunAudioLinkingTaskSimulation.java index 4b33fe30..831450e1 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunAudioLinkingTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunAudioLinkingTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunAudioLinkingTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunAutomatedTask11Simulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunAutomatedTask11Simulation.java index 57ff8af3..d363804c 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunAutomatedTask11Simulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunAutomatedTask11Simulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunAutomatedTask11Simulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCaseExpiryDeletionSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCaseExpiryDeletionSimulation.java index 2fcc9da6..5c43a170 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCaseExpiryDeletionSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCaseExpiryDeletionSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunCaseExpiryDeletionSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCloseOldCasesTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCloseOldCasesTaskSimulation.java index 7eea6f6a..7ea66d39 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCloseOldCasesTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCloseOldCasesTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunCloseOldCasesTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCloseOldUnfinishedTranscriptionsSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCloseOldUnfinishedTranscriptionsSimulation.java index 90543093..8c0a0441 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCloseOldUnfinishedTranscriptionsSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunCloseOldUnfinishedTranscriptionsSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunCloseOldUnfinishedTranscriptionsSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDailyListHouseKeepingTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDailyListHouseKeepingTaskSimulation.java index 15938710..8ccf2a86 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDailyListHouseKeepingTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDailyListHouseKeepingTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunDailyListHouseKeepingTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDailyListTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDailyListTaskSimulation.java index c3fd3db4..cdb8854d 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDailyListTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDailyListTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunDailyListTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDetsToArmTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDetsToArmTaskSimulation.java index aec7d42f..975efc78 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDetsToArmTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunDetsToArmTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunDetsToArmTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunExternalDataStoreDeleterTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunExternalDataStoreDeleterTaskSimulation.java index 8a2fb5ee..6e721081 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunExternalDataStoreDeleterTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunExternalDataStoreDeleterTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunExternalDataStoreDeleterTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunGenerateCaseDocumentForRetentionDateSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunGenerateCaseDocumentForRetentionDateSimulation.java index 55ad5378..7ad95e0e 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunGenerateCaseDocumentForRetentionDateSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunGenerateCaseDocumentForRetentionDateSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunGenerateCaseDocumentForRetentionDateSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunGenerateCaseDocumentSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunGenerateCaseDocumentSimulation.java index 21352cbc..66b646b5 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunGenerateCaseDocumentSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunGenerateCaseDocumentSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunGenerateCaseDocumentSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunInboundAudioDeleterTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunInboundAudioDeleterTaskSimulation.java index e252568c..2cafea34 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunInboundAudioDeleterTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunInboundAudioDeleterTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunInboundAudioDeleterTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunInboundToUnstructuredDataStoreSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunInboundToUnstructuredDataStoreSimulation.java index b3418375..ba098d2e 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunInboundToUnstructuredDataStoreSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunInboundToUnstructuredDataStoreSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunInboundToUnstructuredDataStoreSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunOutboundAudioDeleterTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunOutboundAudioDeleterTaskSimulation.java index 06a4734b..20979a8d 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunOutboundAudioDeleterTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunOutboundAudioDeleterTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunOutboundAudioDeleterTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessArmResponseFilesTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessArmResponseFilesTaskSimulation.java index 28569abe..eec52bd5 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessArmResponseFilesTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessArmResponseFilesTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunProcessArmResponseFilesTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessDETSToArmResponseTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessDETSToArmResponseTaskSimulation.java index 947b8012..96686d5c 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessDETSToArmResponseTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessDETSToArmResponseTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunProcessDETSToArmResponseTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessE2EArmRpoPendingTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessE2EArmRpoPendingTaskSimulation.java index 0cdd073c..96188940 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessE2EArmRpoPendingTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunProcessE2EArmRpoPendingTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunProcessE2EArmRpoPendingTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunRemoveDuplicateEventsSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunRemoveDuplicateEventsSimulation.java index 88bb1021..c2ae4e07 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunRemoveDuplicateEventsSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunRemoveDuplicateEventsSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunRemoveDuplicateEventsSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunUnstructuredAudioDeleterTaskSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunUnstructuredAudioDeleterTaskSimulation.java index e4940c88..cbbfe6db 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunUnstructuredAudioDeleterTaskSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunUnstructuredAudioDeleterTaskSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunUnstructuredAudioDeleterTaskSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunUnstructuredToArmDataStoreSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunUnstructuredToArmDataStoreSimulation.java index 13f5b834..3843cd97 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunUnstructuredToArmDataStoreSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/AutomatedTasks/RunUnstructuredToArmDataStoreSimulation.java @@ -9,12 +9,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RunUnstructuredToArmDataStoreSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/CasePostSearchSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/CasePostSearchSimulation.java index 8994be89..46b4b65d 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/CasePostSearchSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/CasePostSearchSimulation.java @@ -8,13 +8,15 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class CasePostSearchSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT).httpsPort(AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() + // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT).httpsPort(AppConfig.PROXY_PORT)) .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/CaseRetentionForChildObjectsSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/CaseRetentionForChildObjectsSimulation.java index 2427176e..3268aee8 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/CaseRetentionForChildObjectsSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/CaseRetentionForChildObjectsSimulation.java @@ -10,12 +10,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class CaseRetentionForChildObjectsSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/CourthousePostSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/CourthousePostSimulation.java index e6bc599b..67f1177c 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/CourthousePostSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/CourthousePostSimulation.java @@ -8,11 +8,12 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class CourthousePostSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/CreateData/AddAudioToHearingSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/CreateData/AddAudioToHearingSimulation.java index 71589bb4..533fd451 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/CreateData/AddAudioToHearingSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/CreateData/AddAudioToHearingSimulation.java @@ -8,6 +8,7 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class AddAudioToHearingSimulation extends Simulation { diff --git a/src/gatling/java/simulations/Scripts/DartsApi/CreateData/CaseRetentionSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/CreateData/CaseRetentionSimulation.java index 7f05485f..a6f9f4c0 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/CreateData/CaseRetentionSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/CreateData/CaseRetentionSimulation.java @@ -10,12 +10,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class CaseRetentionSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/CreateData/CloseCaseSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/CreateData/CloseCaseSimulation.java index 50ae24db..d8696765 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/CreateData/CloseCaseSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/CreateData/CloseCaseSimulation.java @@ -11,12 +11,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class CloseCaseSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/CreateData/GetEventUpdateInterpereterUsed.java b/src/gatling/java/simulations/Scripts/DartsApi/CreateData/GetEventUpdateInterpereterUsed.java index 193f50c1..854096a8 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/CreateData/GetEventUpdateInterpereterUsed.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/CreateData/GetEventUpdateInterpereterUsed.java @@ -10,14 +10,15 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class GetEventUpdateInterpereterUsed extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/CreateData/InterpreterUsedEventSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/CreateData/InterpreterUsedEventSimulation.java index 7dd8b559..55426ede 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/CreateData/InterpreterUsedEventSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/CreateData/InterpreterUsedEventSimulation.java @@ -9,6 +9,7 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class InterpreterUsedEventSimulation extends Simulation { @@ -16,8 +17,8 @@ public class InterpreterUsedEventSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/GETTokenSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/GETTokenSimulation.java index a92b3cc2..27b7d4d1 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/GETTokenSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/GETTokenSimulation.java @@ -8,13 +8,14 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class GETTokenSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/LinkedAudioSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/LinkedAudioSimulation.java index e23c1b00..44f4534a 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/LinkedAudioSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/LinkedAudioSimulation.java @@ -9,13 +9,14 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class LinkedAudioSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/PostDuplicateEventSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/PostDuplicateEventSimulation.java index 674ea95d..929d59a1 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/PostDuplicateEventSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/PostDuplicateEventSimulation.java @@ -10,12 +10,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class PostDuplicateEventSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/PostEventsAndAudioSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/PostEventsAndAudioSimulation.java index e7b4177c..fa24b1af 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/PostEventsAndAudioSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/PostEventsAndAudioSimulation.java @@ -11,12 +11,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class PostEventsAndAudioSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/PostEventsSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/PostEventsSimulation.java index b3c1248c..c17d1c3e 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/PostEventsSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/PostEventsSimulation.java @@ -10,12 +10,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class PostEventsSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/TranscriptionPatchAcceptSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/TranscriptionPatchAcceptSimulation.java index a78954f3..ffac3716 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/TranscriptionPatchAcceptSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/TranscriptionPatchAcceptSimulation.java @@ -10,11 +10,12 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class TranscriptionPatchAcceptSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsApi/TranscriptionPostSimulation.java b/src/gatling/java/simulations/Scripts/DartsApi/TranscriptionPostSimulation.java index 0e8b67b9..b40ddfac 100644 --- a/src/gatling/java/simulations/Scripts/DartsApi/TranscriptionPostSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsApi/TranscriptionPostSimulation.java @@ -10,11 +10,12 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class TranscriptionPostSimulation extends Simulation { { - final HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + final HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources(); diff --git a/src/gatling/java/simulations/Scripts/DartsPortal/CourtClerkRequestorSimulation.java b/src/gatling/java/simulations/Scripts/DartsPortal/CourtClerkRequestorSimulation.java index f81a0e7c..7d508b61 100644 --- a/src/gatling/java/simulations/Scripts/DartsPortal/CourtClerkRequestorSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsPortal/CourtClerkRequestorSimulation.java @@ -14,13 +14,14 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class CourtClerkRequestorSimulation extends Simulation { { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() // .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .baseUrl("https://login.microsoftonline.com") diff --git a/src/gatling/java/simulations/Scripts/DartsPortal/CourtManagerApproverSimulation.java b/src/gatling/java/simulations/Scripts/DartsPortal/CourtManagerApproverSimulation.java index 201b641b..2f66a018 100644 --- a/src/gatling/java/simulations/Scripts/DartsPortal/CourtManagerApproverSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsPortal/CourtManagerApproverSimulation.java @@ -12,14 +12,15 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import java.time.Duration; public class CourtManagerApproverSimulation extends Simulation { { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .baseUrl("https://login.microsoftonline.com") diff --git a/src/gatling/java/simulations/Scripts/DartsPortal/InternalLogin.java b/src/gatling/java/simulations/Scripts/DartsPortal/InternalLogin.java index 5ea3f2a3..0f5546a9 100644 --- a/src/gatling/java/simulations/Scripts/DartsPortal/InternalLogin.java +++ b/src/gatling/java/simulations/Scripts/DartsPortal/InternalLogin.java @@ -8,12 +8,13 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class InternalLogin extends Simulation { { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl("https://login.microsoftonline.com") .inferHtmlResources() .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7") diff --git a/src/gatling/java/simulations/Scripts/DartsPortal/JudgeChangingRetentionSimulation.java b/src/gatling/java/simulations/Scripts/DartsPortal/JudgeChangingRetentionSimulation.java index 347c1f0c..11546cc0 100644 --- a/src/gatling/java/simulations/Scripts/DartsPortal/JudgeChangingRetentionSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsPortal/JudgeChangingRetentionSimulation.java @@ -9,11 +9,12 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class JudgeChangingRetentionSimulation extends Simulation { { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl("https://login.microsoftonline.com") .inferHtmlResources() diff --git a/src/gatling/java/simulations/Scripts/DartsPortal/LanguageShopRequestorSimulation.java b/src/gatling/java/simulations/Scripts/DartsPortal/LanguageShopRequestorSimulation.java index bfedf5de..b883c0ad 100644 --- a/src/gatling/java/simulations/Scripts/DartsPortal/LanguageShopRequestorSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsPortal/LanguageShopRequestorSimulation.java @@ -11,11 +11,12 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class LanguageShopRequestorSimulation extends Simulation { { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") diff --git a/src/gatling/java/simulations/Scripts/DartsPortal/TranscriberAttachFileAndDownloadAudioSimulation.java b/src/gatling/java/simulations/Scripts/DartsPortal/TranscriberAttachFileAndDownloadAudioSimulation.java index adc1b0e7..8114151b 100644 --- a/src/gatling/java/simulations/Scripts/DartsPortal/TranscriberAttachFileAndDownloadAudioSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsPortal/TranscriberAttachFileAndDownloadAudioSimulation.java @@ -14,11 +14,12 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class TranscriberAttachFileAndDownloadAudioSimulation extends Simulation { // Corrected class name { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/AddAudioTokenSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/AddAudioTokenSimulation.java index 8f3d1841..f8a32e46 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/AddAudioTokenSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/AddAudioTokenSimulation.java @@ -12,6 +12,8 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +import simulations.Scripts.Utilities.Util; public class AddAudioTokenSimulation extends Simulation { @@ -21,8 +23,7 @@ public class AddAudioTokenSimulation extends Simulation { private static final String SPIKE_SCENARIO_NAME = "Spike - DARTS - GateWay - Soap - AddAudio:POST"; public AddAudioTokenSimulation() { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol =HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()) .inferHtmlResources(); @@ -49,6 +50,6 @@ private ScenarioBuilder setUpScenario(String scenarioName, int paceDurationMilli .on(exec(RegisterWithUsernameScenario.RegisterWithUsername(EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) .exec(RegisterWithTokenScenario.registerWithToken(EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) .repeat(repeats) - .on(exec(AddAudioTokenScenario.addAudioToken().pace(Duration.ofMillis(paceDurationMillis))))); + .on(exec(AddAudioTokenScenario.addAudioToken() .pace(Util.getDurationFromMillis(paceDurationMillis))))); } } diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/AddAudioUserSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/AddAudioUserSimulation.java index e7935bdf..337dabbc 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/AddAudioUserSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/AddAudioUserSimulation.java @@ -6,10 +6,14 @@ import io.gatling.javaapi.core.*; import io.gatling.javaapi.http.*; +import simulations.Scripts.Utilities.HttpUtil; + import java.time.Duration; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +import simulations.Scripts.Utilities.Util; import java.util.UUID; @@ -21,8 +25,7 @@ public class AddAudioUserSimulation extends Simulation { private static final String SPIKE_SCENARIO_NAME = "Spike Test"; public AddAudioUserSimulation() { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol =HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") @@ -50,8 +53,9 @@ private ScenarioBuilder setUpScenario(String scenarioName, int paceDurationMilli return scenario(scenarioName) .group(scenarioName) .on(repeat(1) - .on(exec(AddAudioUserScenario.addAudioUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()).pace(Duration.ofMillis(paceDurationMillis)) - // exec(AddAudioUserScenario.addAudioUserBinary(EnvironmentURL.DARTS_SOAP_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_EXTERNAL_PASSWORD.getUrl()).pace(Duration.ofMillis(paceDurationMillis))) + .on(exec(AddAudioUserScenario.addAudioUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()) + .pace(Util.getDurationFromMillis(paceDurationMillis)) + // exec(AddAudioUserScenario.addAudioUserBinary(EnvironmentURL.DARTS_SOAP_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_EXTERNAL_PASSWORD.getUrl()) .pace(Util.getDurationFromMillis(paceDurationMillis))) ))); } } diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/AddCaseTokenSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/AddCaseTokenSimulation.java index d33d838b..1bb1b119 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/AddCaseTokenSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/AddCaseTokenSimulation.java @@ -11,6 +11,8 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +import simulations.Scripts.Utilities.Util; public class AddCaseTokenSimulation extends Simulation { @@ -19,7 +21,7 @@ public class AddCaseTokenSimulation extends Simulation { private static final String SPIKE_SCENARIO_NAME = "Spike Test"; public AddCaseTokenSimulation() { - HttpProtocolBuilder httpProtocol = http + HttpProtocolBuilder httpProtocol =http .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") @@ -49,6 +51,7 @@ private ScenarioBuilder setUpScenario(String scenarioName, int paceDurationMilli .on(exec(RegisterWithUsernameScenario.RegisterWithUsername(EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) .exec(RegisterWithTokenScenario.registerWithToken(EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) .repeat(1) - .on(exec(AddCaseTokenScenario.addCaseToken().pace(Duration.ofMillis(paceDurationMillis))))); + .on(exec(AddCaseTokenScenario.addCaseToken() + .pace(Util.getDurationFromMillis(paceDurationMillis))))); } } diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/AddCaseUserSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/AddCaseUserSimulation.java index 585693ee..c8cde0d3 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/AddCaseUserSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/AddCaseUserSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; @@ -10,13 +11,15 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class AddCaseUserSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public AddCaseUserSimulation() { @@ -48,6 +51,6 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap) { @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/AddCourtLogSOAPUserSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/AddCourtLogSOAPUserSimulation.java index 42b26799..dab5484c 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/AddCourtLogSOAPUserSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/AddCourtLogSOAPUserSimulation.java @@ -10,6 +10,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +import simulations.Scripts.Utilities.Util; + import java.time.Duration; public class AddCourtLogSOAPUserSimulation extends Simulation { @@ -20,8 +23,8 @@ public class AddCourtLogSOAPUserSimulation extends Simulation { private static final String SPIKE_SCENARIO_NAME = "Spike Test"; public AddCourtLogSOAPUserSimulation() { - HttpProtocolBuilder httpProtocol = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") @@ -48,6 +51,7 @@ private ScenarioBuilder setUpScenario(String scenarioName, int paceDurationMilli return scenario(scenarioName) .group(scenarioName) .on(repeat(repeats) - .on(exec(AddCourtlogUserScenario.addCourtLogUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()).pace(Duration.ofMillis(paceDurationMillis))))); + .on(exec(AddCourtlogUserScenario.addCourtLogUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()) .pace( + Util.getDurationFromMillis(paceDurationMillis))))); } } diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/AddCourtLogTokenSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/AddCourtLogTokenSimulation.java index 52f8b24d..e7a1823a 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/AddCourtLogTokenSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/AddCourtLogTokenSimulation.java @@ -12,6 +12,8 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +import simulations.Scripts.Utilities.Util; public class AddCourtLogTokenSimulation extends Simulation { @@ -20,8 +22,8 @@ public class AddCourtLogTokenSimulation extends Simulation { private static final String SPIKE_SCENARIO_NAME = "Spike Test"; public AddCourtLogTokenSimulation() { - HttpProtocolBuilder httpProtocol = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") @@ -51,6 +53,7 @@ private ScenarioBuilder setUpScenario(String scenarioName, int paceDurationMilli .on(exec(RegisterWithUsernameScenario.RegisterWithUsername(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl())) .exec(RegisterWithTokenScenario.registerWithToken(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl())) .repeat(repeats) - .on(exec(AddCourtlogTokenScenario.addCourtLogToken().pace(Duration.ofMillis(paceDurationMillis))))); + .on(exec(AddCourtlogTokenScenario.addCourtLogToken() + .pace(Util.getDurationFromMillis(paceDurationMillis))))); } } diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/AddDocumentEventTokenSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/AddDocumentEventTokenSimulation.java index eab01c4e..596f0f2a 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/AddDocumentEventTokenSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/AddDocumentEventTokenSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import simulations.Scripts.Scenario.DartsSoap.AddDocumentEventTokenScenario; @@ -10,7 +11,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class AddDocumentEventTokenSimulation extends Simulation { private static final String BASELINE_SCENARIO_NAME = "DARTS - GateWay - Soap - AddDocument:POST - Event Token"; @@ -18,12 +21,12 @@ public class AddDocumentEventTokenSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public AddDocumentEventTokenSimulation() { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.GATEWAY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/AddDocumentsSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/AddDocumentsSimulation.java index 6c049b31..21343148 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/AddDocumentsSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/AddDocumentsSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import simulations.Scripts.Scenario.DartsSoap.AddDocumentCPPEventTokenScenario; @@ -12,18 +13,20 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class AddDocumentsSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public AddDocumentsSimulation() { - HttpProtocolBuilder httpProtocolSoap = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolSoap = + HttpUtil.getHttpProtocol() .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") .contentTypeHeader("text/xml;charset=UTF-8") @@ -64,6 +67,6 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap) { @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/DailyListsSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/DailyListsSimulation.java index 6e9d5b07..7c87bbab 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/DailyListsSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/DailyListsSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import simulations.Scripts.Scenario.DartsSoap.AddDocumentCPPDailyListTokenScenario; @@ -11,17 +12,19 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class DailyListsSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public DailyListsSimulation() { - HttpProtocolBuilder httpProtocolSoap = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolSoap = + HttpUtil.getHttpProtocol() .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") .contentTypeHeader("text/xml;charset=UTF-8") @@ -72,6 +75,6 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap) { @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } \ No newline at end of file diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/GetCasesUserSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/GetCasesUserSimulation.java index db2cd734..43171138 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/GetCasesUserSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/GetCasesUserSimulation.java @@ -10,6 +10,8 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +import simulations.Scripts.Utilities.Util; public class GetCasesUserSimulation extends Simulation { @@ -19,8 +21,8 @@ public class GetCasesUserSimulation extends Simulation { private static final String SPIKE_SCENARIO_NAME = "Spike Test"; public GetCasesUserSimulation() { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") @@ -48,6 +50,7 @@ private ScenarioBuilder setUpScenario(String scenarioName, int paceDurationMilli return scenario(scenarioName) .group(scenarioName) .on(repeat(1) - .on(exec(GetCasesUserScenario.GetCaseSOAPUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()).pace(Duration.ofMillis(paceDurationMillis))))); + .on(exec(GetCasesUserScenario.GetCaseSOAPUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()) + .pace(Util.getDurationFromMillis(paceDurationMillis))))); } } diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/GetCourtLogTokenSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/GetCourtLogTokenSimulation.java index 78cf12b5..3c0facdd 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/GetCourtLogTokenSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/GetCourtLogTokenSimulation.java @@ -12,6 +12,8 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +import simulations.Scripts.Utilities.Util; public class GetCourtLogTokenSimulation extends Simulation { @@ -20,8 +22,8 @@ public class GetCourtLogTokenSimulation extends Simulation { private static final String SPIKE_SCENARIO_NAME = "Spike Test"; public GetCourtLogTokenSimulation() { - HttpProtocolBuilder httpProtocol = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") @@ -51,6 +53,7 @@ private ScenarioBuilder setUpScenario(String scenarioName, int paceDurationMilli .on(exec(RegisterWithUsernameScenario.RegisterWithUsername(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl())) .exec(RegisterWithTokenScenario.registerWithToken(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl())) .repeat(repeats) - .on(exec(GetCourtlogTokenScenario.getCourtLogToken().pace(Duration.ofMillis(paceDurationMillis))))); + .on(exec(GetCourtlogTokenScenario.getCourtLogToken() + .pace(Util.getDurationFromMillis(paceDurationMillis))))); } } diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/RegisterWithTokenSOAPSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/RegisterWithTokenSOAPSimulation.java index c3fa5d9e..c6305093 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/RegisterWithTokenSOAPSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/RegisterWithTokenSOAPSimulation.java @@ -8,13 +8,14 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RegisterWithTokenSOAPSimulation extends Simulation { FeederBuilder feeder = csv(AppConfig.COURT_HOUSE_AND_COURT_ROOMS_FILE_PATH).random(); { - HttpProtocolBuilder httpProtocol = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") diff --git a/src/gatling/java/simulations/Scripts/DartsSoap/RegisterWithUsernameSOAPSimulation.java b/src/gatling/java/simulations/Scripts/DartsSoap/RegisterWithUsernameSOAPSimulation.java index 0a1c272a..1627b40e 100644 --- a/src/gatling/java/simulations/Scripts/DartsSoap/RegisterWithUsernameSOAPSimulation.java +++ b/src/gatling/java/simulations/Scripts/DartsSoap/RegisterWithUsernameSOAPSimulation.java @@ -9,11 +9,11 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class RegisterWithUsernameSOAPSimulation extends Simulation { { - HttpProtocolBuilder httpProtocol = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocol = HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") diff --git a/src/gatling/java/simulations/Scripts/Headers/Headers.java b/src/gatling/java/simulations/Scripts/Headers/Headers.java index 77528ade..504baddb 100644 --- a/src/gatling/java/simulations/Scripts/Headers/Headers.java +++ b/src/gatling/java/simulations/Scripts/Headers/Headers.java @@ -350,18 +350,18 @@ public static Map getHeaders(int headerType) { headers.put("user-agent", "application/x-www-form-urlencoded"); headers.put("Content-Type", "application/x-www-form-urlencoded"); case 27: - headers.put("sec-ch-ua", "Chromium\";v=\"134\", \"Not:A-Brand\";v=\"24\", \"Google Chrome\";v=\"134"); + headers.put("sec-ch-ua", "\"Chromium\";v=\"134\", \"Not:A-Brand\";v=\"24\", \"Google Chrome\";v=\"134\""); headers.put("sec-ch-ua-mobile", "?0"); - headers.put("sec-ch-ua-platform", "Windows"); - headers.put("Sec-Fetch-Dest", "document"); + headers.put("sec-ch-ua-platform", "\"Windows\""); headers.put("Upgrade-Insecure-Requests", "1"); headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36"); headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"); headers.put("Sec-Fetch-Mode", "navigate"); headers.put("Sec-Fetch-User", "?1"); headers.put("Sec-Fetch-Dest", "document"); - headers.put("Sec-Fetch-Mode", "navigate"); - headers.put("Sec-Fetch-Site", "same-origin"); + headers.put("Sec-Fetch-Site", "none"); + headers.put("Accept-Encoding", "gzip, deflate, br, zstd"); + headers.put("Accept-Language", "en-US,en;q=0.9"); break; case 28: headers.put("sec-ch-ua-platform", "Windows"); @@ -369,7 +369,6 @@ public static Map getHeaders(int headerType) { headers.put("sec-ch-ua-mobile", "?0"); headers.put("Sec-Fetch-Site", "same-origin"); headers.put("client-request-id", "#{clientRequestId}"); - headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36"); headers.put("Accept", "application/json"); headers.put("hpgrequestid", "#{sessionId}"); @@ -396,6 +395,33 @@ public static Map getHeaders(int headerType) { // headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"); break; + case 30: + headers.put("Host", "login.microsoftonline.com"); + + headers.put("Connection", "keep-alive"); + // headers.put("Content-Length", "1582"); + headers.put("Cache-Control", "max-age=0"); + + headers.put("sec-ch-ua", "\"Chromium\";v=\"134\", \"Not:A-Brand\";v=\"24\", \"Google Chrome\";v=\"134\""); + headers.put("sec-ch-ua-mobile", "?0"); + headers.put("sec-ch-ua-platform", "\"Windows\""); + headers.put("sec-ch-ua-platform-version", "15.0.0"); + + headers.put("Origin", "https://login.microsoftonline.com"); + headers.put("Content-Type", "application/x-www-form-urlencoded"); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36"); + + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"); + + + headers.put("Sec-Fetch-Site", "same-origin"); + headers.put("Sec-Fetch-Mode", "navigate"); + headers.put("Sec-Fetch-User", "?1"); + headers.put("Sec-Fetch-Dest", "document"); + headers.put("Referer", "https://login.microsoftonline.com/e575f663-b30a-4786-89ad-319842dfe853/login"); + + } return headers; } diff --git a/src/gatling/java/simulations/Scripts/NightlyRun/AddCaseUserSimulation.java b/src/gatling/java/simulations/Scripts/NightlyRun/AddCaseUserSimulation.java index a2923557..5c3f88fd 100644 --- a/src/gatling/java/simulations/Scripts/NightlyRun/AddCaseUserSimulation.java +++ b/src/gatling/java/simulations/Scripts/NightlyRun/AddCaseUserSimulation.java @@ -1,53 +1,59 @@ package simulations.Scripts.NightlyRun; +import io.gatling.javaapi.core.ScenarioBuilder; +import io.gatling.javaapi.core.Simulation; +import io.gatling.javaapi.http.HttpProtocolBuilder; +import lombok.extern.slf4j.Slf4j; +import simulations.Scripts.Scenario.DartsSoap.AddCaseUserScenario; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; -import simulations.Scripts.Scenario.DartsSoap.AddCaseUserScenario; - -import io.gatling.javaapi.core.*; -import io.gatling.javaapi.http.*; - -import static io.gatling.javaapi.core.CoreDsl.*; -import static io.gatling.javaapi.http.HttpDsl.*; +import static io.gatling.javaapi.core.CoreDsl.atOnceUsers; +import static io.gatling.javaapi.core.CoreDsl.exec; +import static io.gatling.javaapi.core.CoreDsl.repeat; +import static io.gatling.javaapi.core.CoreDsl.scenario; +import static io.gatling.javaapi.http.HttpDsl.http; +@Slf4j public class AddCaseUserSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public AddCaseUserSimulation() { - HttpProtocolBuilder httpProtocolSoap = http + HttpProtocolBuilder httpProtocolSoap = + http .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") .contentTypeHeader("text/xml;charset=UTF-8") .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)") .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()); - setUpScenarios(httpProtocolSoap); + setUpScenarios(httpProtocolSoap); } private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap) { // Main SOAP scenario setup ScenarioBuilder mainScenario = scenario("DARTS - GateWay - Soap - AddCase:POST") - //Register with different VIQ - .group("DARTS - GateWay - Soap - AddCase:POST") - .on( - repeat(AppConfig.NIGHTLY_RUN_REPEATS) - .on(exec(AddCaseUserScenario.addCaseUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) - ); + //Register with different VIQ + .group("DARTS - GateWay - Soap - AddCase:POST") + .on( + repeat(AppConfig.NIGHTLY_RUN_REPEATS) + .on(exec(AddCaseUserScenario.addCaseUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) + ); // Set up all scenarios together setUp( mainScenario.injectOpen(atOnceUsers(AppConfig.NIGHTLY_RUN_USERS)).protocols(httpProtocolSoap) - + ); } @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/NightlyRun/NightlyRunSimulation.java b/src/gatling/java/simulations/Scripts/NightlyRun/NightlyRunSimulation.java index 04ef3ce2..06fc494e 100644 --- a/src/gatling/java/simulations/Scripts/NightlyRun/NightlyRunSimulation.java +++ b/src/gatling/java/simulations/Scripts/NightlyRun/NightlyRunSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.NightlyRun; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import simulations.Scripts.Utilities.Feeders; @@ -27,427 +28,474 @@ import simulations.Scripts.Scenario.DartsSoap.RegisterWithUsernameScenario; import simulations.Scripts.Scenario.DartsApi.DeleteAudioRequestScenario; import simulations.Scripts.Scenario.DartsApi.GetApiTokenScenario; + import java.time.Duration; + import io.gatling.javaapi.core.*; import io.gatling.javaapi.http.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; + +@Slf4j public class NightlyRunSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } - // // Load all SQL queries in parallel and store them in distinct variables - // private static final String HEARING_QUERY; - // private static final String TEST1_QUERY; - // private static final String TEST2_QUERY; - // private static final String TEST3_QUERY; - - // static { - // // Load each SQL file asynchronously - // CompletableFuture hearingQueryFuture = CompletableFuture.supplyAsync(() -> SQLQueryProvider.loadSQL("hearing_query.sql")); - // CompletableFuture test1QueryFuture = CompletableFuture.supplyAsync(() -> SQLQueryProvider.loadSQL("test1_query.sql")); - // CompletableFuture test2QueryFuture = CompletableFuture.supplyAsync(() -> SQLQueryProvider.loadSQL("test2_query.sql")); - // CompletableFuture test3QueryFuture = CompletableFuture.supplyAsync(() -> SQLQueryProvider.loadSQL("test3_query.sql")); - - // // Wait for all queries to load - // try { - // HEARING_QUERY = hearingQueryFuture.get(); - // TEST1_QUERY = test1QueryFuture.get(); - // TEST2_QUERY = test2QueryFuture.get(); - // TEST3_QUERY = test3QueryFuture.get(); - // } catch (InterruptedException | ExecutionException e) { - // throw new RuntimeException("Failed to load SQL queries", e); - // } - // } + // // Load all SQL queries in parallel and store them in distinct variables + // private static final String HEARING_QUERY; + // private static final String TEST1_QUERY; + // private static final String TEST2_QUERY; + // private static final String TEST3_QUERY; + + // static { + // // Load each SQL file asynchronously + // CompletableFuture hearingQueryFuture = CompletableFuture.supplyAsync(() -> SQLQueryProvider + // .loadSQL("hearing_query.sql")); + // CompletableFuture test1QueryFuture = CompletableFuture.supplyAsync(() -> SQLQueryProvider.loadSQL + // ("test1_query.sql")); + // CompletableFuture test2QueryFuture = CompletableFuture.supplyAsync(() -> SQLQueryProvider.loadSQL + // ("test2_query.sql")); + // CompletableFuture test3QueryFuture = CompletableFuture.supplyAsync(() -> SQLQueryProvider.loadSQL + // ("test3_query.sql")); + + // // Wait for all queries to load + // try { + // HEARING_QUERY = hearingQueryFuture.get(); + // TEST1_QUERY = test1QueryFuture.get(); + // TEST2_QUERY = test2QueryFuture.get(); + // TEST3_QUERY = test3QueryFuture.get(); + // } catch (InterruptedException | ExecutionException e) { + // throw new RuntimeException("Failed to load SQL queries", e); + // } + // } public NightlyRunSimulation() { - - - HttpProtocolBuilder httpProtocolSoap = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) - + HttpProtocolBuilder httpProtocolSoap = + HttpUtil.getHttpProtocol() .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") .contentTypeHeader("text/xml;charset=UTF-8") .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)") .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()); - - HttpProtocolBuilder httpProtocolSoapAddDocument = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + + HttpProtocolBuilder httpProtocolSoapAddDocument = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.GATEWAY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") .contentTypeHeader("text/xml;charset=UTF-8") .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)"); - + HttpProtocolBuilder httpProtocolApi = http .inferHtmlResources() - .baseUrl(EnvironmentURL.B2B_Login.getUrl()); + .baseUrl(EnvironmentURL.B2B_Login.getUrl()); HttpProtocolBuilder httpProtocolExternal = http .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) - .inferHtmlResources() - .acceptHeader("application/json, text/plain, */*") - .acceptEncodingHeader("gzip, deflate, br") - .acceptLanguageHeader("en-US,en;q=0.9") - .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"); + .inferHtmlResources() + .acceptHeader("application/json, text/plain, */*") + .acceptEncodingHeader("gzip, deflate, br") + .acceptLanguageHeader("en-US,en;q=0.9") + .userAgentHeader( + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 " + + "Safari/537.36"); + - HttpProtocolBuilder httpProtocolInternal = http - .baseUrl("https://login.microsoftonline.com") - .inferHtmlResources() - .acceptHeader("application/json, text/plain, */*") - .acceptEncodingHeader("gzip, deflate, br") - .acceptLanguageHeader("en-US,en;q=0.9") - .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"); - - setUpScenarios(httpProtocolSoap, httpProtocolSoapAddDocument, httpProtocolApi, httpProtocolExternal, httpProtocolInternal); + .baseUrl("https://login.microsoftonline.com") + .inferHtmlResources() + .acceptHeader("application/json, text/plain, */*") + .acceptEncodingHeader("gzip, deflate, br") + .acceptLanguageHeader("en-US,en;q=0.9") + .userAgentHeader( + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 " + + "Safari/537.36"); + + setUpScenarios(httpProtocolSoap, httpProtocolSoapAddDocument, httpProtocolApi, httpProtocolExternal, + httpProtocolInternal); } - private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap, HttpProtocolBuilder httpProtocolSoapAddDocument, HttpProtocolBuilder httpProtocolApi, HttpProtocolBuilder httpProtocolExternal, HttpProtocolBuilder httpProtocolInternal) { + private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap, HttpProtocolBuilder httpProtocolSoapAddDocument, + HttpProtocolBuilder httpProtocolApi, HttpProtocolBuilder httpProtocolExternal, + HttpProtocolBuilder httpProtocolInternal) { // Main SOAP scenario setup ScenarioBuilder saopScenarios = scenario("Soap Proxy Scenario") - //Register with different VIQ - .group("Register With VIQ External Username") - .on( - exec(RegisterWithUsernameScenario.RegisterWithUsername(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl())) - .exec(RegisterWithTokenScenario.registerWithToken(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl())) - .repeat(AppConfig.NIGHTLY_RUN_REPEATS) - .on(exec(AddCaseUserScenario.addCaseUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) - .repeat(AppConfig.NIGHTLY_RUN_REPEATS) - .on(exec(GetCasesUserScenario.GetCaseSOAPUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) - .repeat(AppConfig.NIGHTLY_RUN_REPEATS) - .on(exec(AddCourtlogUserScenario.addCourtLogUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) + //Register with different VIQ + .group("Register With VIQ External Username") + .on( + exec(RegisterWithUsernameScenario.RegisterWithUsername( + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl())) + .exec(RegisterWithTokenScenario.registerWithToken( + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl())) + .repeat(AppConfig.NIGHTLY_RUN_REPEATS) + .on(exec(AddCaseUserScenario.addCaseUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) + .repeat(AppConfig.NIGHTLY_RUN_REPEATS) + .on(exec( + GetCasesUserScenario.GetCaseSOAPUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) + .repeat(AppConfig.NIGHTLY_RUN_REPEATS) + .on(exec(AddCourtlogUserScenario.addCourtLogUser( + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) ); - + ScenarioBuilder soapAddDocument = scenario("Soap Gateway Scenario") - //Register with different CPP - .group("Register With CPP External Username") - .on( - exec(RegisterWithUsernameScenario.RegisterWithUsername(EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_PASSWORD.getUrl())) - .exec(RegisterWithTokenScenario.registerWithToken(EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_PASSWORD.getUrl())) - .repeat(AppConfig.NIGHTLY_RUN_REPEATS) - .on(exec(AddDocumentCPPEventTokenScenario.AddDocumentCPPEventToken())) - .repeat(AppConfig.NIGHTLY_RUN_REPEATS) - .on(exec(AddDocumentCPPDailyListTokenScenario.AddDocumentCPPDailyListToken())) - ) - - //Register with different XHIBIT - .group("Register With XHIBIT External Username") - .on( - exec(RegisterWithUsernameScenario.RegisterWithUsername(EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) - .exec(RegisterWithTokenScenario.registerWithToken(EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) - .repeat(AppConfig.NIGHTLY_RUN_REPEATS) + //Register with different CPP + .group("Register With CPP External Username") + .on( + exec(RegisterWithUsernameScenario.RegisterWithUsername( + EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_PASSWORD.getUrl())) + .exec(RegisterWithTokenScenario.registerWithToken( + EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_PASSWORD.getUrl())) + .repeat(AppConfig.NIGHTLY_RUN_REPEATS) + .on(exec(AddDocumentCPPEventTokenScenario.AddDocumentCPPEventToken())) + .repeat(AppConfig.NIGHTLY_RUN_REPEATS) + .on(exec(AddDocumentCPPDailyListTokenScenario.AddDocumentCPPDailyListToken())) + ) + + //Register with different XHIBIT + .group("Register With XHIBIT External Username") + .on( + exec(RegisterWithUsernameScenario.RegisterWithUsername( + EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) + .exec(RegisterWithTokenScenario.registerWithToken( + EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) + .repeat(AppConfig.NIGHTLY_RUN_REPEATS) .on(exec(AddDocumentXhibitEventTokenScenario.AddDocumentXhibitEventToken())) - .repeat(AppConfig.NIGHTLY_RUN_REPEATS) + .repeat(AppConfig.NIGHTLY_RUN_REPEATS) .on(exec(AddDocumentXhibitDailyListTokenScenario.AddDocumentXhibitDailyListToken())) - ); + ); // API scenario setups ScenarioBuilder postAudioScenario = scenario("Post Audio Request Scenario") .exec(GetApiTokenScenario.getApiToken()) .repeat(1) - .on(exec(PostAudioRequestScenario.PostaudioRequest()) - .exec(GetAudioRequestScenario.GetAudioRequest()) - .exec(DeleteAudioRequestScenario.DeleteAudioRequest()) + .on(exec(PostAudioRequestScenario.PostaudioRequest()) + .exec(GetAudioRequestScenario.GetAudioRequest()) + .exec(DeleteAudioRequestScenario.DeleteAudioRequest()) // .uniformRandomSwitch().on( // exec(GetAudioRequestScenario.GetAudioRequestDownload()), // exec(GetAudioRequestScenario.GetAudioRequestPlayBack())) - ); + ); - ScenarioBuilder courtClerkUsers = scenario("Smoke Test Two - DARTS - Portal - Court Clerk Users") + ScenarioBuilder courtClerkUsers = scenario("Smoke Test Two - DARTS - Portal - Court Clerk Users") .group("Court Clerk Users") .on( exec(feed(Feeders.createCourtClerkUsers())) // Load court clerk user data - .exec(DartsPortalInternalLoginScenario.DartsPortalInternalLoginRequest()) // Login request - .exec(session -> session.set("loopCounter", 0)) // Initialize loop counter - .repeat(5).on( // Repeat 5 times, once for each cas_id and defendant name - exec(session -> { - // Increment the loop counter - int iteration = session.getInt("loopCounter") + 1; - - // Determine the cas_id and defendant name column names based on the iteration number - String casIdColumn = ""; - String defendantColumn = ""; - switch (iteration) { - case 1: - casIdColumn = "cas_id1"; - defendantColumn = "defendantFirstName"; - break; - case 2: - casIdColumn = "cas_id2"; - defendantColumn = "defendantSecondName"; - break; - case 3: - casIdColumn = "cas_id3"; - defendantColumn = "defendantThirdName"; - break; - case 4: - casIdColumn = "cas_id4"; - defendantColumn = "defendantFourthName"; - break; - case 5: - casIdColumn = "cas_id5"; - defendantColumn = "defendantFifthName"; - break; - default: - throw new RuntimeException("Unexpected iteration: " + iteration); - } - - // Retrieve the cas_id and defendant name from the session and set them for use in the scenario - String casId = session.getString(casIdColumn); - String defendantName = session.getString(defendantColumn); - session = session - .set("getCaseId", casId) // Set the case_id for #{case_id} usage - .set("defendantFirstName", defendantName); // Set the defendant name for #{defendantFirstName} usage - - // Update the loop counter in the session for the next iteration - return session.set("loopCounter", iteration); - }) - .exec(DartsPortalAdvanceSearchScenario.DartsPortalAdvanceSearch()) // Perform advance search - .exec(DartsPortalRequestAudioScenario.DartsPortalRequestAudioDownload()) // Request audio download - .exec(DartsPortalRequestTranscriptionScenario.DartsPortalRequestTranscription()) // Request transcription - ) - // .exec(DartsPortalPreviewAudioScenario.DartsPortalPreviewAudioScenario()) - .exec(DartsPortalInternalLogoutScenario.DartsPortalInternalLogoutRequest()) // Logout request - ); - - ScenarioBuilder courtManagerUsers = scenario("Smoke Test Two - DARTS - Portal - Court Manager Users") - .group("Court Managers Users") - .on( - exec(feed(Feeders.createCourtManagerUsers())) // Load court clerk user data .exec(DartsPortalInternalLoginScenario.DartsPortalInternalLoginRequest()) // Login request .exec(session -> session.set("loopCounter", 0)) // Initialize loop counter .repeat(5).on( // Repeat 5 times, once for each cas_id and defendant name exec(session -> { // Increment the loop counter int iteration = session.getInt("loopCounter") + 1; - + // Determine the cas_id and defendant name column names based on the iteration number String casIdColumn = ""; String defendantColumn = ""; switch (iteration) { - case 1: - casIdColumn = "cas_id1"; - defendantColumn = "defendantFirstName"; + case 1: + casIdColumn = "cas_id1"; + defendantColumn = "defendantFirstName"; break; - case 2: - casIdColumn = "cas_id2"; - defendantColumn = "defendantSecondName"; + case 2: + casIdColumn = "cas_id2"; + defendantColumn = "defendantSecondName"; break; - case 3: - casIdColumn = "cas_id3"; - defendantColumn = "defendantThirdName"; + case 3: + casIdColumn = "cas_id3"; + defendantColumn = "defendantThirdName"; break; - case 4: - casIdColumn = "cas_id4"; - defendantColumn = "defendantFourthName"; + case 4: + casIdColumn = "cas_id4"; + defendantColumn = "defendantFourthName"; break; - case 5: - casIdColumn = "cas_id5"; - defendantColumn = "defendantFifthName"; + case 5: + casIdColumn = "cas_id5"; + defendantColumn = "defendantFifthName"; break; - default: + default: throw new RuntimeException("Unexpected iteration: " + iteration); } - - // Retrieve the cas_id and defendant name from the session and set them for use in the scenario + + // Retrieve the cas_id and defendant name from the session and set them for use in the + // scenario String casId = session.getString(casIdColumn); String defendantName = session.getString(defendantColumn); session = session - .set("getCaseId", casId) // Set the case_id for #{case_id} usage - .set("defendantFirstName", defendantName); // Set the defendant name for #{defendantFirstName} usage - + .set("getCaseId", casId) // Set the case_id for #{case_id} usage + .set("defendantFirstName", + defendantName); // Set the defendant name for #{defendantFirstName} usage + // Update the loop counter in the session for the next iteration return session.set("loopCounter", iteration); }) - .exec(DartsPortalAdvanceSearchScenario.DartsPortalAdvanceSearch()) // Perform advance search - .exec(DartsPortalApproveAudioScenario.DartsPortalApproveAudio()) + .exec(DartsPortalAdvanceSearchScenario.DartsPortalAdvanceSearch()) // Perform advance search + .exec( + DartsPortalRequestAudioScenario.DartsPortalRequestAudioDownload()) // Request audio + // download + .exec(DartsPortalRequestTranscriptionScenario.DartsPortalRequestTranscription()) + // Request transcription ) // .exec(DartsPortalPreviewAudioScenario.DartsPortalPreviewAudioScenario()) .exec(DartsPortalInternalLogoutScenario.DartsPortalInternalLogoutRequest()) // Logout request - ); - - ScenarioBuilder transcriberUsers = scenario("Smoke Test Two - DARTS - Portal - Transcriber Users") - .group("Transcriber Users") - .on( - exec(feed(Feeders.createTranscriberUsers())) // Load court clerk user data - .exec(DartsPortalExternalLoginScenario.DartsPortalExternalLoginRequest()) - .exec(session -> session.set("loopCounter", 0)) // Initialize loop counter - .repeat(5).on( // Repeat 5 times, once for each cas_id and defendant name - exec(session -> { - // Increment the loop counter - int iteration = session.getInt("loopCounter") + 1; - - // Determine the cas_id and defendant name column names based on the iteration number - String casIdColumn = ""; - String defendantColumn = ""; - switch (iteration) { - case 1: - casIdColumn = "cas_id1"; - defendantColumn = "defendantFirstName"; - break; - case 2: - casIdColumn = "cas_id2"; - defendantColumn = "defendantSecondName"; - break; - case 3: - casIdColumn = "cas_id3"; - defendantColumn = "defendantThirdName"; - break; - case 4: - casIdColumn = "cas_id4"; - defendantColumn = "defendantFourthName"; - break; - case 5: - casIdColumn = "cas_id5"; - defendantColumn = "defendantFifthName"; - break; - default: - throw new RuntimeException("Unexpected iteration: " + iteration); - } - - // Retrieve the cas_id and defendant name from the session and set them for use in the scenario - String casId = session.getString(casIdColumn); - String defendantName = session.getString(defendantColumn); - session = session - .set("getCaseId", casId) // Set the case_id for #{case_id} usage - .set("defendantFirstName", defendantName); // Set the defendant name for #{defendantFirstName} usage - - // Update the loop counter in the session for the next iteration - return session.set("loopCounter", iteration); - }) + ); + + ScenarioBuilder courtManagerUsers = scenario("Smoke Test Two - DARTS - Portal - Court Manager Users") + .group("Court Managers Users") + .on( + exec(feed(Feeders.createCourtManagerUsers())) // Load court clerk user data + .exec(DartsPortalInternalLoginScenario.DartsPortalInternalLoginRequest()) // Login request + .exec(session -> session.set("loopCounter", 0)) // Initialize loop counter + .repeat(5).on( // Repeat 5 times, once for each cas_id and defendant name + exec(session -> { + // Increment the loop counter + int iteration = session.getInt("loopCounter") + 1; + + // Determine the cas_id and defendant name column names based on the iteration number + String casIdColumn = ""; + String defendantColumn = ""; + switch (iteration) { + case 1: + casIdColumn = "cas_id1"; + defendantColumn = "defendantFirstName"; + break; + case 2: + casIdColumn = "cas_id2"; + defendantColumn = "defendantSecondName"; + break; + case 3: + casIdColumn = "cas_id3"; + defendantColumn = "defendantThirdName"; + break; + case 4: + casIdColumn = "cas_id4"; + defendantColumn = "defendantFourthName"; + break; + case 5: + casIdColumn = "cas_id5"; + defendantColumn = "defendantFifthName"; + break; + default: + throw new RuntimeException("Unexpected iteration: " + iteration); + } + + // Retrieve the cas_id and defendant name from the session and set them for use in the + // scenario + String casId = session.getString(casIdColumn); + String defendantName = session.getString(defendantColumn); + session = session + .set("getCaseId", casId) // Set the case_id for #{case_id} usage + .set("defendantFirstName", + defendantName); // Set the defendant name for #{defendantFirstName} usage + + // Update the loop counter in the session for the next iteration + return session.set("loopCounter", iteration); + }) .exec(DartsPortalAdvanceSearchScenario.DartsPortalAdvanceSearch()) // Perform advance search - .exec(DartsPortalRequestAudioScenario.DartsPortalRequestAudioDownload()) // Request audio download - .exec(TranscriberAttachFileAndDownloadAudioScenario.TranscriberAttachFileAndDownloadAudio()) // Add File to Transcription - .exec(DartsPortalDeleteAudioRequestScenario.DartsPortalDeleteAudioRequest()) // Delete a random Audio request - ) - // .exec(DartsPortalPreviewAudioScenario.DartsPortalPreviewAudioScenario()) - .exec(DartsPortalExternalLogoutScenario.DartsPortalExternalLogoutRequest()) // Logout request - ); - - ScenarioBuilder languageShopUsers = scenario("Smoke Test Two - DARTS - Portal - Language Shop Users") - .group("Language Shop Users") - .on( - exec(feed(Feeders.createLanguageShopUsers())) + .exec(DartsPortalApproveAudioScenario.DartsPortalApproveAudio()) + ) + // .exec(DartsPortalPreviewAudioScenario.DartsPortalPreviewAudioScenario()) + .exec(DartsPortalInternalLogoutScenario.DartsPortalInternalLogoutRequest()) // Logout request + ); + + ScenarioBuilder transcriberUsers = scenario("Smoke Test Two - DARTS - Portal - Transcriber Users") + .group("Transcriber Users") + .on( + exec(feed(Feeders.createTranscriberUsers())) // Load court clerk user data .exec(DartsPortalExternalLoginScenario.DartsPortalExternalLoginRequest()) .exec(session -> session.set("loopCounter", 0)) // Initialize loop counter .repeat(5).on( // Repeat 5 times, once for each cas_id and defendant name exec(session -> { // Increment the loop counter int iteration = session.getInt("loopCounter") + 1; - + // Determine the cas_id and defendant name column names based on the iteration number String casIdColumn = ""; String defendantColumn = ""; switch (iteration) { - case 1: - casIdColumn = "cas_id1"; - defendantColumn = "defendantFirstName"; + case 1: + casIdColumn = "cas_id1"; + defendantColumn = "defendantFirstName"; break; - case 2: - casIdColumn = "cas_id2"; - defendantColumn = "defendantSecondName"; + case 2: + casIdColumn = "cas_id2"; + defendantColumn = "defendantSecondName"; break; - case 3: - casIdColumn = "cas_id3"; - defendantColumn = "defendantThirdName"; + case 3: + casIdColumn = "cas_id3"; + defendantColumn = "defendantThirdName"; break; - case 4: - casIdColumn = "cas_id4"; - defendantColumn = "defendantFourthName"; + case 4: + casIdColumn = "cas_id4"; + defendantColumn = "defendantFourthName"; break; - case 5: - casIdColumn = "cas_id5"; - defendantColumn = "defendantFifthName"; + case 5: + casIdColumn = "cas_id5"; + defendantColumn = "defendantFifthName"; break; - default: + default: throw new RuntimeException("Unexpected iteration: " + iteration); } - - // Retrieve the cas_id and defendant name from the session and set them for use in the scenario + + // Retrieve the cas_id and defendant name from the session and set them for use in the + // scenario String casId = session.getString(casIdColumn); String defendantName = session.getString(defendantColumn); session = session - .set("getCaseId", casId) // Set the case_id for #{case_id} usage - .set("defendantFirstName", defendantName); // Set the defendant name for #{defendantFirstName} usage - + .set("getCaseId", casId) // Set the case_id for #{case_id} usage + .set("defendantFirstName", + defendantName); // Set the defendant name for #{defendantFirstName} usage + // Update the loop counter in the session for the next iteration return session.set("loopCounter", iteration); }) - .exec(DartsPortalAdvanceSearchScenario.DartsPortalAdvanceSearch()) - .exec(DartsPortalRequestAudioScenario.DartsPortalRequestAudioDownload()) - // .exec(DartsPortalPreviewAudioScenario.DartsPortalPreviewAudioScenario()) + .exec(DartsPortalAdvanceSearchScenario.DartsPortalAdvanceSearch()) // Perform advance search + .exec( + DartsPortalRequestAudioScenario.DartsPortalRequestAudioDownload()) // Request audio + // download + .exec( + TranscriberAttachFileAndDownloadAudioScenario.TranscriberAttachFileAndDownloadAudio()) // Add File to Transcription + .exec(DartsPortalDeleteAudioRequestScenario.DartsPortalDeleteAudioRequest()) + // Delete a random Audio request + ) + // .exec(DartsPortalPreviewAudioScenario.DartsPortalPreviewAudioScenario()) + .exec(DartsPortalExternalLogoutScenario.DartsPortalExternalLogoutRequest()) // Logout request + ); + + ScenarioBuilder languageShopUsers = scenario("Smoke Test Two - DARTS - Portal - Language Shop Users") + .group("Language Shop Users") + .on( + exec(feed(Feeders.createLanguageShopUsers())) + .exec(DartsPortalExternalLoginScenario.DartsPortalExternalLoginRequest()) + .exec(session -> session.set("loopCounter", 0)) // Initialize loop counter + .repeat(5).on( // Repeat 5 times, once for each cas_id and defendant name + exec(session -> { + // Increment the loop counter + int iteration = session.getInt("loopCounter") + 1; + + // Determine the cas_id and defendant name column names based on the iteration number + String casIdColumn = ""; + String defendantColumn = ""; + switch (iteration) { + case 1: + casIdColumn = "cas_id1"; + defendantColumn = "defendantFirstName"; + break; + case 2: + casIdColumn = "cas_id2"; + defendantColumn = "defendantSecondName"; + break; + case 3: + casIdColumn = "cas_id3"; + defendantColumn = "defendantThirdName"; + break; + case 4: + casIdColumn = "cas_id4"; + defendantColumn = "defendantFourthName"; + break; + case 5: + casIdColumn = "cas_id5"; + defendantColumn = "defendantFifthName"; + break; + default: + throw new RuntimeException("Unexpected iteration: " + iteration); + } + + // Retrieve the cas_id and defendant name from the session and set them for use in the + // scenario + String casId = session.getString(casIdColumn); + String defendantName = session.getString(defendantColumn); + session = session + .set("getCaseId", casId) // Set the case_id for #{case_id} usage + .set("defendantFirstName", + defendantName); // Set the defendant name for #{defendantFirstName} usage + + // Update the loop counter in the session for the next iteration + return session.set("loopCounter", iteration); + }) + .exec(DartsPortalAdvanceSearchScenario.DartsPortalAdvanceSearch()) + .exec(DartsPortalRequestAudioScenario.DartsPortalRequestAudioDownload()) + // .exec(DartsPortalPreviewAudioScenario.DartsPortalPreviewAudioScenario()) ) .exec(DartsPortalExternalLoginScenario.DartsPortalExternalLoginRequest()) - ); - - ScenarioBuilder judgeUsers = scenario("Smoke Test Two - DARTS - Portal - Judge Users") - .group("Judge Users") - .on( - exec(feed(Feeders.createJudgeUsers())) - .exec(DartsPortalInternalLoginScenario.DartsPortalInternalLoginRequest()) - .exec(session -> session.set("loopCounter", 0)) // Initialize loopCounter - .repeat(5).on( // Repeat 5 times, once for each cas_id and defendant name - exec(session -> { - // Increment the loop counter - int iteration = session.getInt("loopCounter") + 1; - - // Determine the cas_id and defendant name column names based on the iteration number - String casIdColumn = ""; - String defendantColumn = ""; - switch (iteration) { - case 1: - casIdColumn = "cas_id1"; - defendantColumn = "defendantFirstName"; - break; - case 2: - casIdColumn = "cas_id2"; - defendantColumn = "defendantSecondName"; - break; - case 3: - casIdColumn = "cas_id3"; - defendantColumn = "defendantThirdName"; - break; - case 4: - casIdColumn = "cas_id4"; - defendantColumn = "defendantFourthName"; - break; - case 5: - casIdColumn = "cas_id5"; - defendantColumn = "defendantFifthName"; - break; - default: - throw new RuntimeException("Unexpected iteration: " + iteration); - } - - // Retrieve the cas_id and defendant name from the session and set them for use in the scenario - String casId = session.getString(casIdColumn); - String defendantName = session.getString(defendantColumn); - session = session - .set("getCaseId", casId) // Set the case_id for #{case_id} usage - .set("defendantFirstName", defendantName); // Set the defendant name for #{defendantFirstName} usage - - // Update the loop counter in the session for the next iteration - return session.set("loopCounter", iteration); - }) + ); + + ScenarioBuilder judgeUsers = scenario("Smoke Test Two - DARTS - Portal - Judge Users") + .group("Judge Users") + .on( + exec(feed(Feeders.createJudgeUsers())) + .exec(DartsPortalInternalLoginScenario.DartsPortalInternalLoginRequest()) + .exec(session -> session.set("loopCounter", 0)) // Initialize loopCounter + .repeat(5).on( // Repeat 5 times, once for each cas_id and defendant name + exec(session -> { + // Increment the loop counter + int iteration = session.getInt("loopCounter") + 1; + + // Determine the cas_id and defendant name column names based on the iteration number + String casIdColumn = ""; + String defendantColumn = ""; + switch (iteration) { + case 1: + casIdColumn = "cas_id1"; + defendantColumn = "defendantFirstName"; + break; + case 2: + casIdColumn = "cas_id2"; + defendantColumn = "defendantSecondName"; + break; + case 3: + casIdColumn = "cas_id3"; + defendantColumn = "defendantThirdName"; + break; + case 4: + casIdColumn = "cas_id4"; + defendantColumn = "defendantFourthName"; + break; + case 5: + casIdColumn = "cas_id5"; + defendantColumn = "defendantFifthName"; + break; + default: + throw new RuntimeException("Unexpected iteration: " + iteration); + } + + // Retrieve the cas_id and defendant name from the session and set them for use in the + // scenario + String casId = session.getString(casIdColumn); + String defendantName = session.getString(defendantColumn); + session = session + .set("getCaseId", casId) // Set the case_id for #{case_id} usage + .set("defendantFirstName", + defendantName); // Set the defendant name for #{defendantFirstName} usage + + // Update the loop counter in the session for the next iteration + return session.set("loopCounter", iteration); + }) .exec(DartsPortalChangeRetentionScenario.DartsPortalChangeRetention()) - ) - .exec(DartsPortalInternalLogoutScenario.DartsPortalInternalLogoutRequest()) - ); + ) + .exec(DartsPortalInternalLogoutScenario.DartsPortalInternalLogoutRequest()) + ); // Set up all scenarios together setUp( @@ -455,7 +503,7 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap, HttpProtocolBu // .protocols(httpProtocolSoap), // soapAddDocument.injectOpen(atOnceUsers(AppConfig.NIGHTLY_RUN_USERS)) // .protocols(httpProtocolSoapAddDocument), - + postAudioScenario.injectOpen(atOnceUsers(AppConfig.NIGHTLY_RUN_USERS)) .protocols(httpProtocolApi) @@ -463,22 +511,22 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap, HttpProtocolBu // rampUsers(AppConfig.JUDGE_RAMP_UP_USERS) // .during(Duration.ofMinutes(AppConfig.RAMP_UP_DURATION_OF_JUDGES)) // ).protocols(httpProtocolInternal), - + // courtClerkUsers.injectOpen( // rampUsers(AppConfig.COURT_CLERK_RAMP_UP_USERS) // .during(Duration.ofMinutes(AppConfig.RAMP_UP_DURATION_OF_COURT_CLERK)) // ).protocols(httpProtocolInternal), - + // courtManagerUsers.injectOpen( // rampUsers(AppConfig.COURT_MANAGER_RAMP_UP_USERS) // .during(Duration.ofMinutes(AppConfig.RAMP_UP_DURATION_OF_COURT_MANAGER)) // ).protocols(httpProtocolInternal), - + // transcriberUsers.injectOpen( // rampUsers(AppConfig.TRANSCRIBER_RAMP_UP_USERS) // .during(Duration.ofMinutes(AppConfig.RAMP_UP_DURATION_OF_TRANSCRIBER)) // ).protocols(httpProtocolExternal), - + // languageShopUsers.injectOpen( // rampUsers(AppConfig.LANGUAGE_SHOP_RAMP_UP_USERS) // .during(Duration.ofMinutes(AppConfig.RAMP_UP_DURATION_OF_LANGUAGE_SHOP)) @@ -488,10 +536,11 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap, HttpProtocolBu global().responseTime().max().lt(50000), global().successfulRequests().percent().gt(95.0) ); - + + } + + @Override + public void after() { + log.info("Simulation is finished!"); } - @Override - public void after() { - System.out.println("Simulation is finished!"); - } } diff --git a/src/gatling/java/simulations/Scripts/NightlyRun/PortalSmokeTestTwoSimulation.java b/src/gatling/java/simulations/Scripts/NightlyRun/PortalSmokeTestTwoSimulation.java index 9e653401..514f9446 100644 --- a/src/gatling/java/simulations/Scripts/NightlyRun/PortalSmokeTestTwoSimulation.java +++ b/src/gatling/java/simulations/Scripts/NightlyRun/PortalSmokeTestTwoSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.NightlyRun; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; import simulations.Scripts.Scenario.DartsPortal.DartsPortalInternalLoginScenario; @@ -19,7 +20,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class PortalSmokeTestTwoSimulation extends Simulation { private static final String SMOKE_TEST_TWO_JUDGE_USERS = "Smoke Test Two - DARTS - Portal - Judge Users"; @@ -30,13 +33,13 @@ public class PortalSmokeTestTwoSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public PortalSmokeTestTwoSimulation() { - HttpProtocolBuilder httpProtocolExternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolExternal = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") @@ -45,8 +48,8 @@ public PortalSmokeTestTwoSimulation() { .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"); - HttpProtocolBuilder httpProtocolInternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolInternal = + HttpUtil.getHttpProtocol() .baseUrl("https://login.microsoftonline.com") .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") @@ -416,6 +419,6 @@ private ScenarioBuilder setUpJudgeUsers(String scenarioName) { } @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLineNormalTests/PortalBaslineNormalTestSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLineNormalTests/PortalBaslineNormalTestSimulation.java index 12cfc86c..1e57e2b1 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLineNormalTests/PortalBaslineNormalTestSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLineNormalTests/PortalBaslineNormalTestSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsBaseLineNormalTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; import simulations.Scripts.Scenario.DartsPortal.DartsPortalInternalLoginScenario; @@ -20,7 +21,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class PortalBaslineNormalTestSimulation extends Simulation { // Global counter to track 400 errors @@ -34,12 +37,12 @@ public class PortalBaslineNormalTestSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public PortalBaslineNormalTestSimulation() { - HttpProtocolBuilder httpProtocolExternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolExternal = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") @@ -48,8 +51,8 @@ public PortalBaslineNormalTestSimulation() { .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"); - HttpProtocolBuilder httpProtocolInternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolInternal = + HttpUtil.getHttpProtocol() //.baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .baseUrl("https://login.microsoftonline.com") .inferHtmlResources() @@ -300,8 +303,8 @@ private ScenarioBuilder setUpJudgeUsers(String scenarioName) { @Override public void after() { - System.out.println("Total 400 Errors Encountered: " + global400ErrorCounter.get()); + log.info("Total 400 Errors Encountered: " + global400ErrorCounter.get()); - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLineNormalTests/SoapBaseLineNormalTestSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLineNormalTests/SoapBaseLineNormalTestSimulation.java index 1db4b21b..adf22c63 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLineNormalTests/SoapBaseLineNormalTestSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLineNormalTests/SoapBaseLineNormalTestSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsBaseLineNormalTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import simulations.Scripts.Scenario.DartsApi.GetAudioRequestScenario; @@ -21,26 +22,28 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class SoapBaseLineNormalTestSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public SoapBaseLineNormalTestSimulation() { - HttpProtocolBuilder httpProtocolSoap = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolSoap = + HttpUtil.getHttpProtocol() .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") .contentTypeHeader("text/xml;charset=UTF-8") .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)") .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()); - HttpProtocolBuilder httpProtocolApi = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolApi = + HttpUtil.getHttpProtocol() .inferHtmlResources() .baseUrl(EnvironmentURL.B2B_Login.getUrl()); setUpScenarios(httpProtocolSoap, httpProtocolApi); @@ -110,6 +113,6 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap, HttpProtocolBu @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/AddDocumnetPeakTestSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/AddDocumnetPeakTestSimulation.java index aaa51b24..b165f846 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/AddDocumnetPeakTestSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/AddDocumnetPeakTestSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsBaseLinePeakTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import simulations.Scripts.Scenario.DartsSoap.AddDocumentCPPDailyListTokenScenario; @@ -14,20 +15,22 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import java.time.Duration; +@Slf4j public class AddDocumnetPeakTestSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public AddDocumnetPeakTestSimulation() { - HttpProtocolBuilder httpProtocolSoapGateway = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolSoapGateway = + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.GATEWAY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") @@ -111,6 +114,6 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoapGateway) { @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/PortalBaslinePeakTestSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/PortalBaslinePeakTestSimulation.java index dbeb2584..a7e932cc 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/PortalBaslinePeakTestSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/PortalBaslinePeakTestSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsBaseLinePeakTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; import simulations.Scripts.Scenario.DartsPortal.DartsPortalInternalLoginScenario; @@ -20,7 +21,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class PortalBaslinePeakTestSimulation extends Simulation { public static AtomicInteger global400ErrorCounter = new AtomicInteger(0); @@ -33,12 +36,12 @@ public class PortalBaslinePeakTestSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public PortalBaslinePeakTestSimulation() { - HttpProtocolBuilder httpProtocolExternal = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolExternal = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") @@ -47,8 +50,8 @@ public PortalBaslinePeakTestSimulation() { .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"); - HttpProtocolBuilder httpProtocolInternal = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolInternal = + HttpUtil.getHttpProtocol() //.baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .baseUrl("https://login.microsoftonline.com") .inferHtmlResources() @@ -382,8 +385,8 @@ private ScenarioBuilder setUpJudgeUsers(String scenarioName) { @Override public void after() { - System.out.println("Total 400 Errors Encountered: " + global400ErrorCounter.get()); + log.info("Total 400 Errors Encountered: " + global400ErrorCounter.get()); - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/PortalBaslinePeakTestSimulationOld.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/PortalBaslinePeakTestSimulationOld.java index a10d9aa3..3519445a 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/PortalBaslinePeakTestSimulationOld.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/PortalBaslinePeakTestSimulationOld.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsBaseLinePeakTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; import simulations.Scripts.Scenario.DartsPortal.DartsPortalInternalLoginScenario; @@ -20,7 +21,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class PortalBaslinePeakTestSimulationOld extends Simulation { public static AtomicInteger global400ErrorCounter = new AtomicInteger(0); @@ -33,12 +36,12 @@ public class PortalBaslinePeakTestSimulationOld extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public PortalBaslinePeakTestSimulationOld() { - HttpProtocolBuilder httpProtocolExternal = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolExternal = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") @@ -47,8 +50,8 @@ public PortalBaslinePeakTestSimulationOld() { .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"); - HttpProtocolBuilder httpProtocolInternal = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolInternal = + HttpUtil.getHttpProtocol() //.baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .baseUrl("https://login.microsoftonline.com") .inferHtmlResources() @@ -418,8 +421,8 @@ private ScenarioBuilder setUpJudgeUsers(String scenarioName) { @Override public void after() { - System.out.println("Total 400 Errors Encountered: " + global400ErrorCounter.get()); + log.info("Total 400 Errors Encountered: " + global400ErrorCounter.get()); - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/SoapBaseLinePeakTestSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/SoapBaseLinePeakTestSimulation.java index ce66dd5a..a1298a8e 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/SoapBaseLinePeakTestSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsBaseLinePeakTests/SoapBaseLinePeakTestSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsBaseLinePeakTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import simulations.Scripts.Scenario.DartsApi.GetAudioRequestScenario; @@ -22,71 +23,89 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; + +@Slf4j public class SoapBaseLinePeakTestSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } - public SoapBaseLinePeakTestSimulation() { + public SoapBaseLinePeakTestSimulation() { - HttpProtocolBuilder httpProtocolSoapGateway = http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) - .baseUrl(EnvironmentURL.GATEWAY_BASE_URL.getUrl()) - .inferHtmlResources() - .acceptEncodingHeader("gzip,deflate") - .contentTypeHeader("text/xml;charset=UTF-8") - .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)"); + HttpProtocolBuilder httpProtocolSoapGateway = + HttpUtil.getHttpProtocol() + .baseUrl(EnvironmentURL.GATEWAY_BASE_URL.getUrl()) + .inferHtmlResources() + .acceptEncodingHeader("gzip,deflate") + .contentTypeHeader("text/xml;charset=UTF-8") + .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)"); - HttpProtocolBuilder httpProtocolApi = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) - .baseUrl(EnvironmentURL.B2B_Login.getUrl()) - .inferHtmlResources(); + HttpProtocolBuilder httpProtocolApi = + HttpUtil.getHttpProtocol() + .baseUrl(EnvironmentURL.B2B_Login.getUrl()) + .inferHtmlResources(); setUpScenarios(httpProtocolSoapGateway, httpProtocolApi); } private void setUpScenarios(HttpProtocolBuilder httpProtocolSoapGateway, HttpProtocolBuilder httpProtocolApi) { // Main SOAP scenario setup - ScenarioBuilder soapGatewayAddDocument = scenario("Soap Gateway Scenario") // Register with different VIQ - .group("VIQ External Requests") - .on( - repeat(AppConfig.ADD_CASES_PEAK_REPEATS) - .on(exec(AddCaseUserScenario.addCaseUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) - .repeat(AppConfig.GET_CASES_PEAK_REPEATS) - .on(exec(GetCasesUserScenario.GetCaseSOAPUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) - .repeat(AppConfig.ADD_LOG_ENTRY_PEAK_REPEATS) - .on(exec(AddCourtlogUserScenario.addCourtLogUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) - ) - - // Register with different CPP - .group("Register With CPP External Username") - .on( - exec(RegisterWithUsernameScenario.RegisterWithUsername(EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_PASSWORD.getUrl())) - .exec(RegisterWithTokenScenario.registerWithToken(EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_PASSWORD.getUrl())) - ) - .group("Add Document CPP") - .on( - repeat(AppConfig.CPP_EVENTS_PEAK_REPEATS) - .on(exec(AddDocumentCPPEventTokenScenario.AddDocumentCPPEventToken())) - .repeat(AppConfig.CPP_DailyList_PEAK_REPEATS) - .on(exec(AddDocumentCPPDailyListTokenScenario.AddDocumentCPPDailyListToken())) - ) - - // Register with different XHIBIT - .group("Register With XHIBIT External Username") - .on( - exec(RegisterWithUsernameScenario.RegisterWithUsername(EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) - .exec(RegisterWithTokenScenario.registerWithToken(EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) - ) - .group("Add Document Xhibit") - .on( - repeat(AppConfig.XHIBIT_EVENTS_PEAK_REPEATS) - .on(exec(AddDocumentXhibitEventTokenScenario.AddDocumentXhibitEventToken())) - .repeat(AppConfig.XHIBIT_DailyList_PEAK_REPEATS) - .on(exec(AddDocumentXhibitDailyListTokenScenario.AddDocumentXhibitDailyListToken())) - ); + ScenarioBuilder soapGatewayAddDocument = + scenario("Soap Gateway Scenario") // Register with different VIQ + .group("VIQ External Requests") + .on( + repeat(AppConfig.ADD_CASES_PEAK_REPEATS) + .on(exec( + AddCaseUserScenario.addCaseUser(EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) + .repeat(AppConfig.GET_CASES_PEAK_REPEATS) + .on(exec(GetCasesUserScenario.GetCaseSOAPUser( + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) + .repeat(AppConfig.ADD_LOG_ENTRY_PEAK_REPEATS) + .on(exec(AddCourtlogUserScenario.addCourtLogUser( + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_VIQ_EXTERNAL_PASSWORD.getUrl()))) + ) + + // Register with different CPP + .group("Register With CPP External Username") + .on( + exec(RegisterWithUsernameScenario.RegisterWithUsername( + EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_PASSWORD.getUrl())) + .exec(RegisterWithTokenScenario.registerWithToken( + EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_CPP_EXTERNAL_PASSWORD.getUrl())) + ) + .group("Add Document CPP") + .on( + repeat(AppConfig.CPP_EVENTS_PEAK_REPEATS) + .on(exec(AddDocumentCPPEventTokenScenario.AddDocumentCPPEventToken())) + .repeat(AppConfig.CPP_DailyList_PEAK_REPEATS) + .on(exec(AddDocumentCPPDailyListTokenScenario.AddDocumentCPPDailyListToken())) + ) + + // Register with different XHIBIT + .group("Register With XHIBIT External Username") + .on( + exec(RegisterWithUsernameScenario.RegisterWithUsername( + EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) + .exec(RegisterWithTokenScenario.registerWithToken( + EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_USERNAME.getUrl(), + EnvironmentURL.DARTS_SOAP_XHIBIT_EXTERNAL_PASSWORD.getUrl())) + ) + .group("Add Document Xhibit") + .on( + repeat(AppConfig.XHIBIT_EVENTS_PEAK_REPEATS) + .on(exec(AddDocumentXhibitEventTokenScenario.AddDocumentXhibitEventToken())) + .repeat(AppConfig.XHIBIT_DailyList_PEAK_REPEATS) + .on(exec(AddDocumentXhibitDailyListTokenScenario.AddDocumentXhibitDailyListToken())) + ); // API scenario setups ScenarioBuilder postAudioScenario = scenario("Post Audio Request Scenario") @@ -106,15 +125,15 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoapGateway, HttpPro // Set up all scenarios together setUp( - soapGatewayAddDocument.injectOpen(atOnceUsers(95)).protocols(httpProtocolSoapGateway), - postAudioScenario.injectOpen(atOnceUsers(3)).protocols(httpProtocolApi), - getAudioScenario.injectOpen(atOnceUsers(3)).protocols(httpProtocolApi), - deleteAudioScenario.injectOpen(atOnceUsers(3)).protocols(httpProtocolApi) + soapGatewayAddDocument.injectOpen(atOnceUsers(95)).protocols(httpProtocolSoapGateway), + postAudioScenario.injectOpen(atOnceUsers(3)).protocols(httpProtocolApi), + getAudioScenario.injectOpen(atOnceUsers(3)).protocols(httpProtocolApi), + deleteAudioScenario.injectOpen(atOnceUsers(3)).protocols(httpProtocolApi) ); } @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } \ No newline at end of file diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsPortalLoginTest/PortalLoginTestSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsPortalLoginTest/PortalLoginTestSimulation.java index 8350f238..eb039288 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsPortalLoginTest/PortalLoginTestSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsPortalLoginTest/PortalLoginTestSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsPortalLoginTest; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; import simulations.Scripts.Scenario.DartsPortal.DartsPortalInternalLoginScenario; @@ -20,7 +21,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class PortalLoginTestSimulation extends Simulation { public static AtomicInteger global400ErrorCounter = new AtomicInteger(0); @@ -33,12 +36,12 @@ public class PortalLoginTestSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public PortalLoginTestSimulation() { - HttpProtocolBuilder httpProtocolExternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolExternal = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") @@ -47,8 +50,8 @@ public PortalLoginTestSimulation() { .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"); - HttpProtocolBuilder httpProtocolInternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolInternal = + HttpUtil.getHttpProtocol() //.baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .baseUrl("https://login.microsoftonline.com") .inferHtmlResources() @@ -422,8 +425,8 @@ private ScenarioBuilder setUpJudgeUsers(String scenarioName) { @Override public void after() { - System.out.println("Total 400 Errors Encountered: " + global400ErrorCounter.get()); + log.info("Total 400 Errors Encountered: " + global400ErrorCounter.get()); - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalAdvanceSearchSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalAdvanceSearchSimulation.java index 2bde7549..028cc12a 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalAdvanceSearchSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalAdvanceSearchSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsSmokeTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; import simulations.Scripts.Scenario.DartsPortal.DartsPortalInternalLoginScenario; @@ -13,7 +14,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class PortalAdvanceSearchSimulation extends Simulation { private static final String SMOKE_TEST_TWO_COURT_CLERK_USERS = "Smoke Test Two - DARTS - Portal - Court Clerk Users"; @@ -23,12 +26,12 @@ public class PortalAdvanceSearchSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public PortalAdvanceSearchSimulation() { - HttpProtocolBuilder httpProtocolExternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolExternal = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") @@ -37,8 +40,8 @@ public PortalAdvanceSearchSimulation() { .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"); - HttpProtocolBuilder httpProtocolInternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolInternal = + HttpUtil.getHttpProtocol() //.baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .baseUrl("https://login.microsoftonline.com") .inferHtmlResources() @@ -217,6 +220,6 @@ private ScenarioBuilder setUpLanguageShopUsers(String scenarioName) { } @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalSmokeTestOneSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalSmokeTestOneSimulation.java index 28e15715..7fe139e4 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalSmokeTestOneSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalSmokeTestOneSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsSmokeTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; import simulations.Scripts.Scenario.DartsPortal.DartsPortalInternalLoginScenario; @@ -15,7 +16,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class PortalSmokeTestOneSimulation extends Simulation { private static final String BASELINE_NORMAL_JUDGE_USERS = "Baseline Normal - DARTS - Portal - Judge Users"; @@ -24,12 +27,12 @@ public class PortalSmokeTestOneSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public PortalSmokeTestOneSimulation() { - HttpProtocolBuilder httpProtocolExternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolExternal = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") @@ -38,8 +41,8 @@ public PortalSmokeTestOneSimulation() { .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"); - HttpProtocolBuilder httpProtocolInternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolInternal = + HttpUtil.getHttpProtocol() //.baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .baseUrl("https://login.microsoftonline.com") .inferHtmlResources() @@ -204,6 +207,6 @@ private ScenarioBuilder setUpJudgeUsers(String scenarioName) { } @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalSmokeTestTwoSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalSmokeTestTwoSimulation.java index f9ebf4b3..122a2606 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalSmokeTestTwoSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/PortalSmokeTestTwoSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsSmokeTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; import simulations.Scripts.Scenario.DartsPortal.DartsPortalInternalLoginScenario; @@ -19,7 +20,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class PortalSmokeTestTwoSimulation extends Simulation { private static final String SMOKE_TEST_TWO_JUDGE_USERS = "Smoke Test Two - DARTS - Portal - Judge Users"; @@ -30,12 +33,12 @@ public class PortalSmokeTestTwoSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public PortalSmokeTestTwoSimulation() { - HttpProtocolBuilder httpProtocolExternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolExternal = + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .inferHtmlResources() .acceptHeader("application/json, text/plain, */*") @@ -44,8 +47,8 @@ public PortalSmokeTestTwoSimulation() { .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"); - HttpProtocolBuilder httpProtocolInternal = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolInternal = + HttpUtil.getHttpProtocol() //.baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .baseUrl("https://login.microsoftonline.com") .inferHtmlResources() @@ -294,6 +297,6 @@ private ScenarioBuilder setUpJudgeUsers(String scenarioName) { } @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/SoapSmokeTestOneSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/SoapSmokeTestOneSimulation.java index e9079525..c3d39757 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/SoapSmokeTestOneSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/SoapSmokeTestOneSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsSmokeTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import simulations.Scripts.Scenario.DartsApi.GetAudioRequestScenario; @@ -19,26 +20,28 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class SoapSmokeTestOneSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public SoapSmokeTestOneSimulation() { - HttpProtocolBuilder httpProtocolSoap = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolSoap = + HttpUtil.getHttpProtocol() .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") .contentTypeHeader("text/xml;charset=UTF-8") .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)") .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()); - HttpProtocolBuilder httpProtocolApi = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolApi = + HttpUtil.getHttpProtocol() .inferHtmlResources() .baseUrl(EnvironmentURL.B2B_Login.getUrl()); setUpScenarios(httpProtocolSoap, httpProtocolApi); @@ -102,6 +105,6 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap, HttpProtocolBu @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/SoapSmokeTestTwoSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/SoapSmokeTestTwoSimulation.java index 70ef9d3b..d0d0edb1 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/SoapSmokeTestTwoSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/DartsSmokeTests/SoapSmokeTestTwoSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.DartsSmokeTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import simulations.Scripts.Scenario.DartsApi.GetAudioRequestScenario; @@ -21,26 +22,28 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public class SoapSmokeTestTwoSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); + log.info("Simulation is about to start!"); } public SoapSmokeTestTwoSimulation() { - HttpProtocolBuilder httpProtocolSoap = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolSoap = + HttpUtil.getHttpProtocol() .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") .contentTypeHeader("text/xml;charset=UTF-8") .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)") .baseUrl(EnvironmentURL.PROXY_BASE_URL.getUrl()); - HttpProtocolBuilder httpProtocolApi = http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + HttpProtocolBuilder httpProtocolApi = + HttpUtil.getHttpProtocol() .inferHtmlResources() .baseUrl(EnvironmentURL.B2B_Login.getUrl()); setUpScenarios(httpProtocolSoap, httpProtocolApi); @@ -112,6 +115,6 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap, HttpProtocolBu @Override public void after() { - System.out.println("Simulation is finished!"); + log.info("Simulation is finished!"); } } diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/NewMainTests/PortalTestSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/NewMainTests/PortalTestSimulation.java index 81fe8c61..e5e39337 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/NewMainTests/PortalTestSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/NewMainTests/PortalTestSimulation.java @@ -1,5 +1,6 @@ package simulations.Scripts.PerformanceTests.NewMainTests; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.ScenarioBuilder.CourtClerkUsersScenarioBuild; import simulations.Scripts.ScenarioBuilder.CourtManagerUsersScenarioBuild; @@ -8,14 +9,18 @@ import simulations.Scripts.ScenarioBuilder.TranscriberUsersScenario; import io.gatling.javaapi.core.*; import io.gatling.javaapi.http.*; + import java.time.Duration; import java.util.concurrent.atomic.AtomicInteger; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; -public class PortalTestSimulation extends Simulation { - +import simulations.Scripts.Utilities.HttpUtil; + +@Slf4j +public class PortalTestSimulation extends Simulation { + public static AtomicInteger global400ErrorCounter = new AtomicInteger(0); private static final String BASE_LINE_PEAK_JUDGE_USERS = "DARTS - Portal - Judge Users"; @@ -26,59 +31,59 @@ public class PortalTestSimulation extends Simulation { @Override public void before() { - System.out.println("Simulation is about to start!"); - } - - - public PortalTestSimulation() { - HttpProtocolBuilder httpProtocolInternal = configureInternalHttp(); - HttpProtocolBuilder httpProtocolExternal = configureExternalHttp(); - - setUpScenarios(httpProtocolExternal, httpProtocolInternal); - } - - private void setUpScenarios(HttpProtocolBuilder httpProtocolExternal, HttpProtocolBuilder httpProtocolInternal) { - setUp( - CourtClerkUsersScenarioBuild.build(BASE_LINE_PEAK_COURT_CLERK_USERS) - .injectOpen(rampUsers(AppConfig.getCourtClerkUsers()) + log.info("Simulation is about to start!"); + } + + + public PortalTestSimulation() { + HttpProtocolBuilder httpProtocolInternal = configureInternalHttp(); + HttpProtocolBuilder httpProtocolExternal = configureExternalHttp(); + + setUpScenarios(httpProtocolExternal, httpProtocolInternal); + } + + private void setUpScenarios(HttpProtocolBuilder httpProtocolExternal, HttpProtocolBuilder httpProtocolInternal) { + setUp( + CourtClerkUsersScenarioBuild.build(BASE_LINE_PEAK_COURT_CLERK_USERS) + .injectOpen(rampUsers(AppConfig.getCourtClerkUsers()) .during(Duration.ofMinutes(AppConfig.RAMP_UP_DURATION_OF_COURT_CLERK))) - .protocols(httpProtocolInternal), - - CourtManagerUsersScenarioBuild.build(BASE_LINE_PEAK_COURT_MANAGER_USERS) - .injectOpen(rampUsers(AppConfig.getCourtManagerUsers()) + .protocols(httpProtocolInternal), + + CourtManagerUsersScenarioBuild.build(BASE_LINE_PEAK_COURT_MANAGER_USERS) + .injectOpen(rampUsers(AppConfig.getCourtManagerUsers()) .during(Duration.ofMinutes(AppConfig.RAMP_UP_DURATION_OF_COURT_MANAGER))) - .protocols(httpProtocolInternal), - - TranscriberUsersScenario.build(BASE_LINE_PEAK_TRANSCRIBER_USERS) - .injectOpen(rampUsers(AppConfig.getTranscriberUsers()) + .protocols(httpProtocolInternal), + + TranscriberUsersScenario.build(BASE_LINE_PEAK_TRANSCRIBER_USERS) + .injectOpen(rampUsers(AppConfig.getTranscriberUsers()) .during(Duration.ofMinutes(AppConfig.RAMP_UP_DURATION_OF_TRANSCRIBER))) - .protocols(httpProtocolExternal), - - JudgeUserScenario.build(BASE_LINE_PEAK_JUDGE_USERS) - .injectOpen(rampUsers(AppConfig.getJudgeUsers()) + .protocols(httpProtocolExternal), + + JudgeUserScenario.build(BASE_LINE_PEAK_JUDGE_USERS) + .injectOpen(rampUsers(AppConfig.getJudgeUsers()) .during(Duration.ofMinutes(AppConfig.RAMP_UP_DURATION_OF_JUDGES))) - .protocols(httpProtocolInternal), - - LanguageShopUserScenario.build(BASE_LINE_PEAK_LANGUAGE_USERS) - .injectOpen(rampUsers(AppConfig.getLanguageShopUsers()) + .protocols(httpProtocolInternal), + + LanguageShopUserScenario.build(BASE_LINE_PEAK_LANGUAGE_USERS) + .injectOpen(rampUsers(AppConfig.getLanguageShopUsers()) .during(Duration.ofMinutes(AppConfig.RAMP_UP_DURATION_OF_LANGUAGE_SHOP))) - .protocols(httpProtocolExternal) - ); - } - - private HttpProtocolBuilder configureInternalHttp() { - return http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) - .baseUrl("https://login.microsoftonline.com") - .inferHtmlResources(); - } - - private HttpProtocolBuilder configureExternalHttp() { - return http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + .protocols(httpProtocolExternal) + ); + } + + private HttpProtocolBuilder configureInternalHttp() { + return + HttpUtil.getHttpProtocol() + .baseUrl("https://login.microsoftonline.com") + .inferHtmlResources(); + } + + private HttpProtocolBuilder configureExternalHttp() { + return + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .acceptHeader("application/json, text/plain, */*") .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64)"); - } } +} \ No newline at end of file diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/NewMainTests/SoapTestSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/NewMainTests/SoapTestSimulation.java index 5ab051e5..16318f14 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/NewMainTests/SoapTestSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/NewMainTests/SoapTestSimulation.java @@ -8,6 +8,7 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class SoapTestSimulation extends Simulation { @@ -48,16 +49,15 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolSoap, HttpProtocolBu } private HttpProtocolBuilder configureSoapHttp() { - return http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + return HttpUtil.getHttpProtocol() .contentTypeHeader("text/xml;charset=UTF-8") .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)") .baseUrl(AppConfig.EnvironmentURL.PROXY_BASE_URL.getUrl()); } private HttpProtocolBuilder configureSoapAddDocumentHttp() { - return http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + return + HttpUtil.getHttpProtocol() .baseUrl(EnvironmentURL.GATEWAY_BASE_URL.getUrl()) .inferHtmlResources() .acceptEncodingHeader("gzip,deflate") @@ -65,8 +65,8 @@ private HttpProtocolBuilder configureSoapAddDocumentHttp() { .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)"); } private HttpProtocolBuilder configureApiHttp() { - return http - .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + return + HttpUtil.getHttpProtocol() .contentTypeHeader("text/xml;charset=UTF-8") .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)") .baseUrl(EnvironmentURL.B2B_Login.getUrl()) diff --git a/src/gatling/java/simulations/Scripts/PerformanceTests/PeakTestWithTasksTest/PeakTestWithTasksSimulation.java b/src/gatling/java/simulations/Scripts/PerformanceTests/PeakTestWithTasksTest/PeakTestWithTasksSimulation.java index 65e413a4..56754594 100644 --- a/src/gatling/java/simulations/Scripts/PerformanceTests/PeakTestWithTasksTest/PeakTestWithTasksSimulation.java +++ b/src/gatling/java/simulations/Scripts/PerformanceTests/PeakTestWithTasksTest/PeakTestWithTasksSimulation.java @@ -9,6 +9,7 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public class PeakTestWithTasksSimulation extends Simulation { @@ -35,9 +36,9 @@ public PeakTestWithTasksSimulation() { private void setUpScenarios(HttpProtocolBuilder httpProtocolExternal, HttpProtocolBuilder httpProtocolInternal, HttpProtocolBuilder httpProtocolSoap, HttpProtocolBuilder httpProtocolApi) { setUp( // Delay the AutomatedTaskScenario by 5 minutes (300 seconds) - AutomatedTaskScenario.build(BASE_LINE_PEAK_SOAP_REQUESTS) - .injectOpen(atOnceUsers(1)) - .protocols(httpProtocolApi), + // AutomatedTaskScenario.build(BASE_LINE_PEAK_SOAP_REQUESTS) + // .injectOpen(atOnceUsers(1)) + // .protocols(httpProtocolApi), // The rest of the scenarios will start immediately after the delay CourtClerkUsersScenarioBuild.build(BASE_LINE_PEAK_COURT_CLERK_USERS) @@ -103,32 +104,32 @@ private void setUpScenarios(HttpProtocolBuilder httpProtocolExternal, HttpProtoc private HttpProtocolBuilder configureInternalHttp() { - return http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + return + HttpUtil.getHttpProtocol() .baseUrl("https://login.microsoftonline.com") .acceptHeader("application/json, text/plain, */*") .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64)"); } private HttpProtocolBuilder configureExternalHttp() { - return http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + return + HttpUtil.getHttpProtocol() .baseUrl(AppConfig.EnvironmentURL.B2B_Login.getUrl()) .acceptHeader("application/json, text/plain, */*") .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64)"); } private HttpProtocolBuilder configureSoapHttp() { - return http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + return + HttpUtil.getHttpProtocol() .contentTypeHeader("text/xml;charset=UTF-8") .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)") .baseUrl(EnvironmentURL.GATEWAY_BASE_URL.getUrl()); } private HttpProtocolBuilder configureApiHttp() { - return http - // .proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)) + return + HttpUtil.getHttpProtocol() .contentTypeHeader("text/xml;charset=UTF-8") .userAgentHeader("Apache-HttpClient/4.5.5 (Java/16.0.2)") .baseUrl(EnvironmentURL.B2B_Login.getUrl()) diff --git a/src/gatling/java/simulations/Scripts/RequestBodyBuilder/RequestBodyBuilder.java b/src/gatling/java/simulations/Scripts/RequestBodyBuilder/RequestBodyBuilder.java index 769a7587..dbb5e078 100644 --- a/src/gatling/java/simulations/Scripts/RequestBodyBuilder/RequestBodyBuilder.java +++ b/src/gatling/java/simulations/Scripts/RequestBodyBuilder/RequestBodyBuilder.java @@ -1,37 +1,64 @@ package simulations.Scripts.RequestBodyBuilder; +import com.fasterxml.jackson.databind.ObjectMapper; +import io.gatling.javaapi.core.Session; +import lombok.SneakyThrows; +import scala.util.Random; +import simulations.Scripts.Utilities.AppConfig; +import simulations.Scripts.Utilities.NumberGenerator; +import simulations.Scripts.Utilities.RandomStringGenerator; +import simulations.models.AdvancedSearchPayload; +import simulations.models.AudioRequestBody; +import simulations.models.AudioUploadRequestBody; +import simulations.models.CaseRequestBody; +import simulations.models.CaseSearchRequestBody; +import simulations.models.CourtHouseRequestBody; +import simulations.models.EventRequestBody; +import simulations.models.GetCredentialType; +import simulations.models.PerfTraceRequest; +import simulations.models.PostAudioRequestBody; +import simulations.models.RetentionPolicy; +import simulations.models.RetentionRequestBody; +import simulations.models.TranscriptionApprovalRequestBody; +import simulations.models.TranscriptionPatchAcceptRequestBody; +import simulations.models.TranscriptionRequestBody; +import simulations.models.TranscriptionsRequestBody; + +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.OffsetDateTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; +import java.util.List; import java.util.Optional; import java.util.concurrent.ThreadLocalRandom; -import static io.gatling.javaapi.core.CoreDsl.exec; -import static io.gatling.javaapi.core.CoreDsl.jsonPath; - -import java.time.LocalDate; - -//import uk.gov.hmcts.juror.support.generation.generators.value.LocalTimeGeneratorImpl; -import simulations.Scripts.Utilities.AppConfig; -import simulations.Scripts.Utilities.NumberGenerator; -import simulations.Scripts.Utilities.RandomDateGenerator; -import simulations.Scripts.Utilities.RandomStringGenerator; - -import io.gatling.javaapi.core.Session; -import scala.util.Random; - public class RequestBodyBuilder { - + private static final ObjectMapper MAPPER = new ObjectMapper(); private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'"); private static final String[] REQUEST_TYPES = {"DOWNLOAD", "PLAYBACK"}; - public static final NumberGenerator generatorCourtHouseCode = new NumberGenerator(15); // Define the percentages for each request type (must sum up to 100) private static final int DOWNLOAD_PERCENTAGE = 70; //% chance private static final int PLAYBACK_PERCENTAGE = 30; //% chance + @SneakyThrows + public static String toJson(Object value) { + return MAPPER.writeValueAsString(value); + } + + private static Integer parseInteger(Object value) { + if (value == null) { + return null; + } + try { + return Integer.valueOf(value.toString()); + } catch (NumberFormatException ignored) { + return null; + } + } + public static String buildPOSTAudioRequestBody(Session session) { String hearingId = session.get("hea_id") != null ? session.get("hea_id").toString() : ""; @@ -39,13 +66,12 @@ public static String buildPOSTAudioRequestBody(Session session) { String startTime = session.get("start_ts") != null ? session.get("start_ts").toString() : ""; String endTime = session.get("end_ts") != null ? session.get("end_ts").toString() : ""; - String requestType = getRandomRequestType(); - - return String.format("{\"hearing_id\": \"%s\", " - + "\"requestor\": \"%s\", " - + "\"start_time\": \"%s\", " - + "\"end_time\": \"%s\"}", - hearingId, userId, startTime, endTime); + return toJson(PostAudioRequestBody.builder() + .hearingId(hearingId) + .requestor(userId) + .startTime(startTime) + .endTime(endTime) + .build()); } private static String formatTime(LocalDateTime time) { @@ -54,7 +80,8 @@ private static String formatTime(LocalDateTime time) { private static String getRandomRequestType() { int totalPercentage = DOWNLOAD_PERCENTAGE + PLAYBACK_PERCENTAGE; - int randomNumber = ThreadLocalRandom.current().nextInt(totalPercentage) + 1; // Generate random number between 1 and the total percentage + int randomNumber = ThreadLocalRandom.current().nextInt(totalPercentage) + + 1; // Generate random number between 1 and the total percentage if (randomNumber <= DOWNLOAD_PERCENTAGE) { return REQUEST_TYPES[0]; // DOWNLOAD @@ -64,218 +91,215 @@ private static String getRandomRequestType() { } public static String buildTranscriptionRequestBody(Session session) { - String hearingId = session.get("hea_id") != null ? "" + session.get("hea_id").toString() + "" : "null"; - String caseId = session.get("cas_id") != null ? "" + session.get("cas_id").toString() + "" : "null"; + String hearingId = session.get("hea_id") != null ? "" + session.get("hea_id").toString() + "" : null; + String caseId = session.get("cas_id") != null ? "" + session.get("cas_id").toString() + "" : null; RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); String randomComment = randomStringGenerator.generateRandomString(10); - return String.format("{\"hearing_id\": \"%s\", " - + "\"case_id\": \"%s\", " - + "\"transcription_urgency_id\": \"3\", " - + "\"transcription_type_id\": \"999\", " - + "\"comment\": \"Perf_%s\"}", - hearingId, caseId, randomComment); + return toJson( + TranscriptionRequestBody.builder() + .hearingId(hearingId) + .caseId(caseId) + .transcriptionUrgencyId("3") + .transcriptionTypeId("999") + .comment("Perf_" + randomComment) + .build() + ); + } public static String buildTranscriptionPatchAcceptRequestBody(Session session) { - String transcriptionId = session.get("tra_id") != null ? "" + session.get("tra_id").toString() + "" : "null"; + String transcriptionId = session.get("tra_id") != null ? "" + session.get("tra_id").toString() + "" : null; RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); String randomComment = randomStringGenerator.generateRandomString(10); - return String.format("{\"transcription_status_id\": \"3\", " + - "\"workflow_comment\": \"Moved to Accepted_%s\"}", - transcriptionId, randomComment); + return toJson( + TranscriptionPatchAcceptRequestBody.builder() + .transcriptionStatusId("3") + .workflowComment("Moved to Accepted_" + randomComment) + .build() + ); } + public static String buildGetCredentialType(Session session) { - - String originalRequest = "rQQIARAA02I20jOwUjFLsTQ2SDFJ1E1LTUzWNTFMTtW1SDGw0E00TbJMMzNOs7S0MCgS4hJ416We_lKtyH32q6pu_S-3Tq1itMgoKSkottLXT0ksKinWK0ktLtFLLCgo1svITQby81JL9BNLSzL0M_NKUovyEnP0kxNzcpISk7N3MDJeYGR8wch4i4nf3xGoxAhE5BdlVqW-YmL4xMSZll-UG1-QX1yyiVkl1dTcNM3MzFg3ydggUdfE3MJM18IyMUXX2NDSwsQoJS3VwtT4FDNbfkFqXmbKBRbGVyw8BsxWHBxcAgwSDAoMP1gYF7ECnc91LZXBes4Cp7X_GOPsdBQZTrHqF6cbFISl-zs7JZqZmfkUeziahmSVVkZWZqfnROaEBOdn-haZeRVoJ0Y6utoaWRlOYGP8wMbYwc6wi5Nsnx_gZfjBt-rzqSmfWla883jFr5MRVRFpZublnellVulb4eUSGlngnBQUaVIQFhTsblmYHOGtHRJRVpkaYWlhu0GA4YEAAwA1"; - String flowToken = session.get("flowToken") != null ? "" + session.get("flowToken").toString() + "" : "null"; - String userName = session.get("Email") != null ? "" + session.get("Email").toString() + "" : "null"; - - return String.format("{\"username\":\"%s\"," - + "\"isOtherIdpSupported\":false," - + "\"checkPhones\":false," - +"\"isRemoteNGCSupported\":true," - +"\"isCookieBannerShown\":false," - +"\"isFidoSupported\":true," - +"\"originalRequest\":\"%s\"," - +"\"country\":\"GB\"," - +"\"forceotclogin\":false," - +"\"isExternalFederationDisallowed\":false," - +"\"isRemoteConnectSupported\":false," - +"\"federationFlags\":0," - +"\"isSignup\":false," - +"\"flowToken\":\"%s\"," - +"\"isAccessPassSupported\":true," - +"\"isQrCodePinSupported\":true}", - userName, originalRequest, flowToken); + + String originalRequest = + "rQQIARAA02I20jOwUjFLsTQ2SDFJ1E1LTUzWNTFMTtW1SDGw0E00TbJMMzNOs7S0MCgS4hJ416We_lKtyH32q6pu_S" + + + "-3Tq1itMgoKSkottLXT0ksKinWK0ktLtFLLCgo1svITQby81JL9BNLSzL0M_NKUovyEnP0kxNzcpISk7N3MDJeYGR8wch4i4nf3xGoxAhE5BdlVqW-YmL4xMSZll-UG1-QX1yyiVkl1dTcNM3MzFg3ydggUdfE3MJM18IyMUXX2NDSwsQoJS3VwtT4FDNbfkFqXmbKBRbGVyw8BsxWHBxcAgwSDAoMP1gYF7ECnc91LZXBes4Cp7X_GOPsdBQZTrHqF6cbFISl-zs7JZqZmfkUeziahmSVVkZWZqfnROaEBOdn-haZeRVoJ0Y6utoaWRlOYGP8wMbYwc6wi5Nsnx_gZfjBt-rzqSmfWla883jFr5MRVRFpZublnellVulb4eUSGlngnBQUaVIQFhTsblmYHOGtHRJRVpkaYWlhu0GA4YEAAwA1"; + String flowToken = session.get("flowToken") != null ? "" + session.get("flowToken").toString() + "" : null; + String userName = session.get("Email") != null ? "" + session.get("Email").toString() + "" : null; + + return toJson( + GetCredentialType.builder() + .username(userName) + .otherIdpSupported(false) + .checkPhones(false) + .remoteNGCSupported(true) + .cookieBannerShown(false) + .fidoSupported(true) + .originalRequest(originalRequest) + .country("GB") + .forceOtpLogin(false) + .externalFederationDisallowed(false) + .remoteConnectSupported(false) + .federationFlags(0) + .signup(false) + .flowToken(flowToken) + .accessPassSupported(true) + .qrCodePinSupported(true) + .build() + ); } + @SneakyThrows public static String buildSearchCaseRequestBody(Session session) { String caseNumber = Optional.ofNullable(session.get("caseNumber")) - .map(value -> "\"" + value.toString() + "\"") - .orElse("null"); + .map(Object::toString) + .orElse(null); String courtHouseName = Optional.ofNullable(session.get("courthouse_name")) - .map(value -> "\"" + value.toString() + "\"") - .orElse("null"); - String courtHouseId = Optional.ofNullable(session.get("cth_id")) - .map(value -> "\"" + value.toString() + "\"") - .orElse("null"); + .map(Object::toString) + .orElse(null); + Integer courtHouseId = Optional.ofNullable(session.get("cth_id")) + .map(value -> Integer.valueOf(value.toString())) + .orElse(null); String courtRoom = Optional.ofNullable(session.get("CourtRoom")) - .map(value -> "\"" + value.toString() + "\"") - .orElse("null"); + .map(Object::toString) + .orElse(null); String defendantName = Optional.ofNullable(session.get("defendantFirstName")) - .map(value -> "\"" + value.toString() + "\"") - .orElse("null"); - + .map(value -> value.toString()) + .orElse(null); + // Extract fromDate from session String fromDateStr = session.getString("getfromDate"); - + // Ensure fromDate is not null and parse it LocalDate fromDate = Optional.ofNullable(fromDateStr) - .map(LocalDate::parse) // Convert String to LocalDate - .orElse(LocalDate.now()); // Default to today if null - - // Add 14 days to fromDate - LocalDate formattedDateTo = fromDate.plusWeeks(24); - // LocalDate formattedDateTo = fromDate.plusDays(1); - - // Format both dates as strings for JSON - String formattedFromDateStr = "\"" + fromDate.format(DateTimeFormatter.ISO_LOCAL_DATE) + "\""; - String formattedDateToStr = "\"" + formattedDateTo.format(DateTimeFormatter.ISO_LOCAL_DATE) + "\""; - - - // System.out.println("Date at " + courtHouseName + ": " + formattedFromDateStr + " for user: " + email + " test " + defendantName); - // System.out.println("From Date: " + formattedFromDateStr); - // System.out.println("To Date: " + formattedDateToStr); - - String eventTextContains = Optional.ofNullable(session.get("EventTextContains")) - .map(value -> "\"" + value.toString() + "\"") - .orElse("null"); + .map(LocalDate::parse) // Convert String to LocalDate + .orElse(LocalDate.now()); // Default to today if null // Get the user type from the session String userType = session.get("Type").toString(); - // System.out.println("userType for Audio Request: " + userType); - + // log.info("userType for Audio Request: " + userType); + // Determine request type based on user type - if (userType.equalsIgnoreCase("LanguageShop")) { - // If the user type is LanguageShop, build the JSON payload - return String.format("{\"case_number\":%s," - + "\"courthouse_ids\":[%s]," - + "\"courtroom\":%s," - + "\"judge_name\":null," - + "\"defendant_name\":null," - + "\"event_text_contains\":null," - + "\"date_from\":\"1970-04-01\"," - + "\"date_to\":\"2025-04-07\"}", - caseNumber, courtHouseId, courtRoom); - } else { - // If not LanguageShop, build the JSON payload - return String.format("{\"case_number\":%s," - + "\"courthouse_ids\":[%s]," - + "\"courtroom\":%s," - + "\"judge_name\":null," - + "\"defendant_name\":null," - + "\"event_text_contains\":%s," - + "\"date_from\":\"1970-04-01\"," - + "\"date_to\":\"2025-04-07\"}", - caseNumber, courtHouseId, courtRoom, courtHouseName); + AdvancedSearchPayload.AdvancedSearchPayloadBuilder builder = AdvancedSearchPayload.builder() + .caseNumber(caseNumber) + .courtroom(courtRoom) + .dateFrom("1970-04-01") + .dateTo("2025-04-07"); + if (courtHouseId != null) { + builder.courthouseIds(List.of(courtHouseId)); + } + if (!userType.equalsIgnoreCase("LanguageShop")) { + builder.eventTextContains(courtHouseName); } + + return new ObjectMapper().writeValueAsString(builder.build()); } - public static String buildChangeRetentionsBody(Session session) { - String caseId = session.get("getCaseId") != null ? "\"" + session.get("getCaseId").toString() + "\"" : "null"; + String caseId = Optional.ofNullable(session.get("getCaseId")) + .map(Object::toString) + .orElse(null); RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); - String randomComment = randomStringGenerator.generateRandomString(10); - - return String.format("{\"case_id\":%s," - +"\"is_permanent_retention\":true," - +"\"comments\":\"Perf_Comment_%s\"}", - caseId, randomComment); + String randomComment = randomStringGenerator.generateRandomString(10); + + return toJson(RetentionRequestBody.builder() + .caseId(caseId) + .isPermanentRetention(true) + .comments("Perf_Comment_" + randomComment) + .build()); } + public static String buildTranscriptionsBody(Session session) { - String hearingId = session.get("getHearingId") != null ? session.get("getHearingId").toString() : "null"; - String caseId = session.get("getCaseId") != null ? session.get("getCaseId").toString() : "null"; - String transcriptionTypeId = session.get("transcriptionTypeId") != null ? session.get("transcriptionTypeId").toString() : "null"; - String getHearingdate = session.get("getHearingdate") != null ? session.get("getHearingdate").toString() : "null"; + String hearingId = session.get("getHearingId") != null ? session.get("getHearingId").toString() : null; + String caseId = session.get("getCaseId") != null ? session.get("getCaseId").toString() : null; + Integer transcriptionTypeId = parseInteger(session.get("transcriptionTypeId")); + String getHearingdate = + session.get("getHearingdate") != null ? session.get("getHearingdate").toString() : null; RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); String randomComment = randomStringGenerator.generateRandomString(10); - LocalDate hearingDate = LocalDate.parse(getHearingdate); + LocalDate hearingDate = LocalDate.parse(getHearingdate); /* ── 2. generate a random time of day (0‑23h, 0‑59m, 0‑59s) ───────── */ ThreadLocalRandom r = ThreadLocalRandom.current(); int h = r.nextInt(0, 24); int m = r.nextInt(0, 60); int s = r.nextInt(0, 60); - LocalTime randomTime = LocalTime.of(h, m, s); + LocalTime randomTime = LocalTime.of(h, m, s); /* ── 3. fuse into an OffsetDateTime in UTC (Z) ─────────────────────── */ OffsetDateTime startUtc = OffsetDateTime.of(hearingDate, randomTime, ZoneOffset.UTC); /* ── 4. add +1 hour to get the end time ───────────────────────────── */ - OffsetDateTime endUtc = startUtc.plusHours(1); + OffsetDateTime endUtc = startUtc.plusHours(1); /* ── 5. format both as ISO‑8601 with trailing Z ───────────────────── */ DateTimeFormatter isoZ = DateTimeFormatter.ISO_INSTANT; // 2025‑01‑12T09:09:09Z String startTime = isoZ.format(startUtc); - String endTime = isoZ.format(endUtc); - - return String.format("{\"case_id\":\"%s\", " - + "\"hearing_id\":\"%s\", " - + "\"transcription_type_id\":%s, " - + "\"transcription_urgency_id\":4, " - + "\"comment\":\"%s\", " - + "\"start_date_time\":\"%s\"," - + "\"end_date_time\":\"%s\"" - + "}", - caseId, hearingId, transcriptionTypeId, randomComment, startTime, endTime); + String endTime = isoZ.format(endUtc); + + return toJson(TranscriptionsRequestBody.builder() + .caseId(caseId) + .hearingId(hearingId) + .transcriptionTypeId(transcriptionTypeId) + .transcriptionUrgencyId(4) + .comment(randomComment) + .startDateTime(startTime) + .endDateTime(endTime) + .build()); } - public static String buildAudioRequestBody(Session session, Object getHearingId, Object requestor, Object audioStartDate, Object audioEndDate, Object requestType) { - return String.format("{\"hearing_id\": %s, " - +"\"requestor\": %s, " - +"\"start_time\": \"%s\", " - +"\"end_time\": \"%s\"}", - getHearingId, requestor, audioStartDate, audioEndDate); + public static String buildAudioRequestBody(Session session, Object getHearingId, Object requestor, + Object audioStartDate, Object audioEndDate, Object requestType) { + return toJson(AudioRequestBody.builder() + .hearingId(getHearingId) + .requestor(requestor) + .startTime(String.valueOf(audioStartDate)) + .endTime(String.valueOf(audioEndDate)) + .build()); } - public static String buildTranscriptionApprovalRequestBody(Session session) { RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); String randomComment = randomStringGenerator.generateRandomString(10); - - // Define variables for Approve - String approve = "{\"transcription_status_id\": \"3\"}"; - - // Define variables for Reject - String reject = String.format("{\"transcription_status_id\": \"4\", " - +"\"workflow_comment\": \"%s\"}", randomComment); - + + TranscriptionApprovalRequestBody approve = TranscriptionApprovalRequestBody.builder() + .transcriptionStatusId("3") + .build(); + + TranscriptionApprovalRequestBody reject = TranscriptionApprovalRequestBody.builder() + .transcriptionStatusId("4") + .workflowComment(randomComment) + .build(); + // Create a random number generator Random random = new Random(); - + // Generate a random number between 0 and 1 // If the generated number is less than 0.5, select Approve, otherwise select Reject String selectedAction; if (random.nextDouble() < 0.5) { - selectedAction = approve; + selectedAction = toJson(approve); } else { - selectedAction = reject; + selectedAction = toJson(reject); } - + // Return the selected string return selectedAction; } + public static String buildPostAudioApiRequest(Session session, String randomAudioFile) { // Retrieve values from session or define defaults if needed - String courtHouseName = session.get("courthouse_display_name") != null ? session.get("courthouse_display_name").toString() : ""; + String courtHouseName = + session.get("courthouse_display_name") != null ? session.get("courthouse_display_name").toString() : ""; String courtRoomName = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; String courtCaseNumber = session.get("case_number") != null ? session.get("case_number").toString() : ""; String hearingDate = session.get("hearing_date") != null ? session.get("hearing_date").toString() : ""; @@ -285,42 +309,41 @@ public static String buildPostAudioApiRequest(Session session, String randomAudi // String caseName2 = randomStringGenerator.generateRandomString(10); // String caseName3 = randomStringGenerator.generateRandomString(10); - return String.format( - "{\"started_at\": \"%sT17:28:59.936Z\", " - + " \"ended_at\": \"%sT18:28:59.936Z\", " - +" \"channel\": 1, " - +" \"total_channels\": 4, " - +" \"format\": \"mp2\", " - +" \"filename\": \"%s\", " - +" \"courthouse\": \"%s\", " - +" \"courtroom\": \"%s\", " - +" \"file_size\": 64003968, " - +" \"checksum\": \"TVRMwq16b4mcZwPSlZj/iQ==\", " - +" \"cases\": [\"%s\"] }", - hearingDate, hearingDate, randomAudioFile, courtHouseName, courtRoomName, courtCaseNumber); + return toJson(AudioUploadRequestBody.builder() + .startedAt(hearingDate + "T17:28:59.936Z") + .endedAt(hearingDate + "T18:28:59.936Z") + .channel(1) + .totalChannels(4) + .format("mp2") + .filename(randomAudioFile) + .courthouse(courtHouseName) + .courtroom(courtRoomName) + .fileSize(64003968d) + .checksum("TVRMwq16b4mcZwPSlZj/iQ==") + .cases(List.of(courtCaseNumber)) + .build()); } - public static String buildPostAudioLinkingForCaseApiRequest(Session session, String randomAudioFile, String caseName) { + public static String buildPostAudioLinkingForCaseApiRequest(Session session, String randomAudioFile, + String caseName) { // Retrieve values from session or define defaults if needed String courtHouseName = session.get("courthouse_name") != null ? session.get("courthouse_name").toString() : ""; - String courtRoom = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; - - - - - return String.format( - "{\"started_at\": \"2024-11-11T12:02:00.000Z\", " - +" \"ended_at\": \"2024-11-11T13:02:00.000Z\", " - +" \"channel\": 1, " - +" \"total_channels\": 4, " - +" \"format\": \"mp2\", " - +" \"filename\": \"%s\", " - +" \"courthouse\": \"%s\", " - +" \"courtroom\": \"%s\", " - +" \"file_size\": 937.96, " - +" \"checksum\": \"TVRMwq16b4mcZwPSlZj/iQ==\", " - +" \"cases\": [\"PerfCase_%s\"] }", - randomAudioFile, courtHouseName, courtRoom, caseName); + String courtRoom = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; + + + return toJson(AudioUploadRequestBody.builder() + .startedAt("2024-11-11T12:02:00.000Z") + .endedAt("2024-11-11T13:02:00.000Z") + .channel(1) + .totalChannels(4) + .format("mp2") + .filename(randomAudioFile) + .courthouse(courtHouseName) + .courtroom(courtRoom) + .fileSize(937.96) + .checksum("TVRMwq16b4mcZwPSlZj/iQ==") + .cases(List.of("PerfCase_" + caseName)) + .build()); } public static String buildPostCaseSearchApiRequest(Session session) { @@ -328,374 +351,361 @@ public static String buildPostCaseSearchApiRequest(Session session) { RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); String caseName = randomStringGenerator.generateRandomString(10); - return String.format( - "{\"case_number\": \"PerfCase_\"%s\"}", - caseName); + return toJson(CaseSearchRequestBody.builder() + .caseNumber("PerfCase_" + caseName) + .build()); } public static String buildPostCaseApiRequest(Session session) { // Retrieve values from session or define defaults if needed String courtHouseName = session.get("courthouse_name") != null ? session.get("courthouse_name").toString() : ""; - + // Create a single instance of RandomStringGenerator RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); - + // Generate random strings for each field String caseName = randomStringGenerator.generateRandomString(10); String defendantsName = randomStringGenerator.generateRandomString(10); String judgeName = randomStringGenerator.generateRandomString(10); String prosecutorsName = randomStringGenerator.generateRandomString(10); String defendersName = randomStringGenerator.generateRandomString(10); - - // Return formatted JSON string - return String.format( - "{" - +"\"courthouse\": \"%s\", " - +"\"case_number\": \"PerfCase_%s\", " - +"\"case_type\": \"1\", " - +"\"defendants\": [ " - + "\"PerfDefendant_%s\" " - +"], " - +"\"judges\": [ " - + "\"PerfJudge_%s\" " - +"], " - +"\"prosecutors\": [ " - + "\"PerfProsecutors_%s\" " - +"], " - +"\"defenders\": [ " - + "\"PerfDefendersName_%s\" " - +"] " - +"}", - courtHouseName, caseName, defendantsName, judgeName, prosecutorsName, defendersName); + + return toJson(CaseRequestBody.builder() + .courthouse(courtHouseName) + .caseNumber("PerfCase_" + caseName) + .caseType("1") + .defendants(List.of("PerfDefendant_" + defendantsName)) + .judges(List.of("PerfJudge_" + judgeName)) + .prosecutors(List.of("PerfProsecutors_" + prosecutorsName)) + .defenders(List.of("PerfDefendersName_" + defendersName)) + .build()); } public static String buildPostCaseForLinkingAudioApiRequest(Session session, String caseName) { // Retrieve values from session or define defaults if needed String courtHouseName = session.get("courthouse_name") != null ? session.get("courthouse_name").toString() : ""; - + // Create a single instance of RandomStringGenerator RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); - + // Generate random strings for each field String defendantsName = randomStringGenerator.generateRandomString(10); String judgeName = randomStringGenerator.generateRandomString(10); String prosecutorsName = randomStringGenerator.generateRandomString(10); String defendersName = randomStringGenerator.generateRandomString(10); - - // Return formatted JSON string - return String.format( - "{" - +"\"courthouse\": \"%s\", " - +"\"case_number\": \"PerfCase_%s\", " - +"\"case_type\": \"1\", " - +"\"defendants\": [ " - + "\"PerfDefendant_%s\" " - +"], " - +"\"judges\": [ " - + "\"PerfJudge_%s\" " - +"], " - +"\"prosecutors\": [ " - + "\"PerfProsecutors_%s\" " - +"], " - +"\"defenders\": [ " - + "\"PerfDefendersName_%s\" " - +"] " - +"}", - courtHouseName, caseName, defendantsName, judgeName, prosecutorsName, defendersName); + + return toJson(CaseRequestBody.builder() + .courthouse(courtHouseName) + .caseNumber("PerfCase_" + caseName) + .caseType("1") + .defendants(List.of("PerfDefendant_" + defendantsName)) + .judges(List.of("PerfJudge_" + judgeName)) + .prosecutors(List.of("PerfProsecutors_" + prosecutorsName)) + .defenders(List.of("PerfDefendersName_" + defendersName)) + .build()); } public static String buildDartsPortalPerftraceRequest(Session session) { - return String.format( - "{" + - " \"navigation\": {" + - " \"type\": 0," + - " \"redirectCount\": 0" + - " }," + - " \"timing\": {" + - " \"connectStart\": 1709047511193," + - " \"navigationStart\": 1709047510670," + - " \"secureConnectionStart\": 1709047511228," + - " \"fetchStart\": 1709047511190," + - " \"domContentLoadedEventStart\": 1709047511811," + - " \"responseStart\": 1709047511729," + - " \"domInteractive\": 1709047511811," + - " \"domainLookupEnd\": 1709047511190," + - " \"responseEnd\": 1709047511731," + - " \"redirectStart\": 0," + - " \"requestStart\": 1709047511489," + - " \"unloadEventEnd\": 0," + - " \"unloadEventStart\": 0," + - " \"domLoading\": 1709047511757," + - " \"domComplete\": 1709047511842," + - " \"domainLookupStart\": 1709047511190," + - " \"loadEventStart\": 1709047511842," + - " \"domContentLoadedEventEnd\": 1709047511811," + - " \"loadEventEnd\": 1709047511842," + - " \"redirectEnd\": 0," + - " \"connectEnd\": 1709047511489" + - " }," + - " \"entries\": [" + - " {" + - " \"name\": \"https://hmctsstgextid.b2clogin.com/hmctsstgextid.onmicrosoft.com/B2C_1_darts_externaluser_signin/oauth2/v2.0/authorize?client_id=363c11cb-48b9-44bf-9d06-9a3973f6f413&redirect_uri=https%3A%2F%2Fdarts.test.apps.hmcts.net%2Fauth%2Fcallback&scope=openid&prompt=login&response_mode=form_post&response_type=code\"," + - " \"entryType\": \"navigation\"," + - " \"startTime\": 0," + - " \"duration\": 1171.7000000029802," + - " \"initiatorType\": \"navigation\"," + - " \"deliveryType\": \"\"," + - " \"nextHopProtocol\": \"http/1.1\"," + - " \"renderBlockingStatus\": \"non-blocking\"," + - " \"workerStart\": 0," + - " \"redirectStart\": 0," + - " \"redirectEnd\": 0," + - " \"fetchStart\": 520," + - " \"domainLookupStart\": 520," + - " \"domainLookupEnd\": 520," + - " \"connectStart\": 522.2000000029802," + - " \"secureConnectionStart\": 557.7999999970198," + - " \"connectEnd\": 818.2000000029802," + - " \"requestStart\": 818.2999999970198," + - " \"responseStart\": 1059," + - " \"firstInterimResponseStart\": 0," + - " \"responseEnd\": 1060.7999999970198," + - " \"transferSize\": 69665," + - " \"encodedBodySize\": 69365," + - " \"decodedBodySize\": 176293," + - " \"responseStatus\": 200," + - " \"serverTiming\": []," + - " \"unloadEventStart\": 0," + - " \"unloadEventEnd\": 0," + - " \"domInteractive\": 1140.4000000059605," + - " \"domContentLoadedEventStart\": 1140.4000000059605," + - " \"domContentLoadedEventEnd\": 1140.7999999970198," + - " \"domComplete\": 1171.5999999940395," + - " \"loadEventStart\": 1171.7000000029802," + - " \"loadEventEnd\": 1171.7000000029802," + - " \"type\": \"navigate\"," + - " \"redirectCount\": 0," + - " \"activationStart\": 0," + - " \"criticalCHRestart\": 0" + - " }," + - " {" + - " \"name\": \"visible\"," + - " \"entryType\": \"visibility-state\"," + - " \"startTime\": 0," + - " \"duration\": 0" + - " }," + - " {" + - " \"name\": \"https://darts.test.apps.hmcts.net/auth/azuread-b2c-login?screenName=loginScreen&ui_locales=en\"," + - " \"entryType\": \"resource\"," + - " \"startTime\": 1132," + - " \"duration\": 411.90000000596046," + - " \"initiatorType\": \"xmlhttprequest\"," + - " \"deliveryType\": \"\"," + - " \"nextHopProtocol\": \"http/1.1\"," + - " \"renderBlockingStatus\": \"non-blocking\"," + - " \"workerStart\": 0," + - " \"redirectStart\": 0," + - " \"redirectEnd\": 0," + - " \"fetchStart\": 1132," + - " \"domainLookupStart\": 1132," + - " \"domainLookupEnd\": 1132," + - " \"connectStart\": 1133.2999999970198," + - " \"secureConnectionStart\": 1159.4000000059605," + - " \"connectEnd\": 1299.2000000029802," + - " \"requestStart\": 1299.2999999970198," + - " \"responseStart\": 1543.4000000059605," + - " \"firstInterimResponseStart\": 0," + - " \"responseEnd\": 1543.9000000059605," + - " \"transferSize\": 5876," + - " \"encodedBodySize\": 5576," + - " \"decodedBodySize\": 5576," + - " \"responseStatus\": 200," + - " \"serverTiming\": [" + - " {" + - " \"name\": \"dtSInfo\"," + - " \"duration\": 0," + - " \"description\": \"0\"" + - " }," + - " {" + - " \"name\": \"dtRpid\"," + - " \"duration\": 0," + - " \"description\": \"1087509397\"" + - " }," + - " {" + - " \"name\": \"dtTao\"," + - " \"duration\": 0," + - " \"description\": \"1\"" + - " }" + - " ]" + - " }" + - " ]," + - " \"connection\": {" + - " \"onchange\": null," + - " \"effectiveType\": \"3g\"," + - " \"rtt\": 950," + - " \"downlink\": 1.4," + - " \"saveData\": false" + - " }" + - "}"); - } - + PerfTraceRequest.PerfTraceNavigation navigation = PerfTraceRequest.PerfTraceNavigation.builder() + .type(0) + .redirectCount(0) + .build(); + + PerfTraceRequest.PerfTraceTiming timing = PerfTraceRequest.PerfTraceTiming.builder() + .connectStart(1709047511193d) + .navigationStart(1709047510670d) + .secureConnectionStart(1709047511228d) + .fetchStart(1709047511190d) + .domContentLoadedEventStart(1709047511811d) + .responseStart(1709047511729d) + .domInteractive(1709047511811d) + .domainLookupEnd(1709047511190d) + .responseEnd(1709047511731d) + .redirectStart(0d) + .requestStart(1709047511489d) + .unloadEventEnd(0d) + .unloadEventStart(0d) + .domLoading(1709047511757d) + .domComplete(1709047511842d) + .domainLookupStart(1709047511190d) + .loadEventStart(1709047511842d) + .domContentLoadedEventEnd(1709047511811d) + .loadEventEnd(1709047511842d) + .redirectEnd(0d) + .connectEnd(1709047511489d) + .build(); + + PerfTraceRequest.PerfTraceEntry navigationEntry = PerfTraceRequest.PerfTraceEntry.builder() + .name("https://hmctsstgextid.b2clogin.com/hmctsstgextid.onmicrosoft.com/B2C_1_darts_externaluser_signin/oauth2/v2.0/authorize?client_id=363c11cb-48b9-44bf-9d06-9a3973f6f413&redirect_uri=https%3A%2F%2Fdarts.test.apps.hmcts.net%2Fauth%2Fcallback&scope=openid&prompt=login&response_mode=form_post&response_type=code") + .entryType("navigation") + .startTime(0d) + .duration(1171.7000000029802) + .initiatorType("navigation") + .deliveryType("") + .nextHopProtocol("http/1.1") + .renderBlockingStatus("non-blocking") + .workerStart(0d) + .redirectStart(0d) + .redirectEnd(0d) + .fetchStart(520d) + .domainLookupStart(520d) + .domainLookupEnd(520d) + .connectStart(522.2000000029802) + .secureConnectionStart(557.7999999970198) + .connectEnd(818.2000000029802) + .requestStart(818.2999999970198) + .responseStart(1059d) + .firstInterimResponseStart(0d) + .responseEnd(1060.7999999970198) + .transferSize(69665) + .encodedBodySize(69365) + .decodedBodySize(176293) + .responseStatus(200) + .serverTiming(List.of()) + .unloadEventStart(0d) + .unloadEventEnd(0d) + .domInteractive(1140.4000000059605) + .domContentLoadedEventStart(1140.4000000059605) + .domContentLoadedEventEnd(1140.7999999970198) + .domComplete(1171.5999999940395) + .loadEventStart(1171.7000000029802) + .loadEventEnd(1171.7000000029802) + .type("navigate") + .redirectCount(0) + .activationStart(0) + .criticalCHRestart(0) + .build(); + + PerfTraceRequest.PerfTraceEntry visibilityEntry = PerfTraceRequest.PerfTraceEntry.builder() + .name("visible") + .entryType("visibility-state") + .startTime(0d) + .duration(0d) + .build(); + + List serverTimings = List.of( + PerfTraceRequest.PerfTraceServerTiming.builder().name("dtSInfo").duration(0d).description("0").build(), + PerfTraceRequest.PerfTraceServerTiming.builder().name("dtRpid").duration(0d).description("1087509397") + .build(), + PerfTraceRequest.PerfTraceServerTiming.builder().name("dtTao").duration(0d).description("1").build() + ); + + PerfTraceRequest.PerfTraceEntry resourceEntry = PerfTraceRequest.PerfTraceEntry.builder() + .name("https://darts.test.apps.hmcts.net/auth/azuread-b2c-login?screenName=loginScreen&ui_locales=en") + .entryType("resource") + .startTime(1132d) + .duration(411.90000000596046) + .initiatorType("xmlhttprequest") + .deliveryType("") + .nextHopProtocol("http/1.1") + .renderBlockingStatus("non-blocking") + .workerStart(0d) + .redirectStart(0d) + .redirectEnd(0d) + .fetchStart(1132d) + .domainLookupStart(1132d) + .domainLookupEnd(1132d) + .connectStart(1133.2999999970198) + .secureConnectionStart(1159.4000000059605) + .connectEnd(1299.2000000029802) + .requestStart(1299.2999999970198) + .responseStart(1543.4000000059605) + .firstInterimResponseStart(0d) + .responseEnd(1543.9000000059605) + .transferSize(5876) + .encodedBodySize(5576) + .decodedBodySize(5576) + .responseStatus(200) + .serverTiming(serverTimings) + .build(); + + PerfTraceRequest.PerfTraceConnection connection = PerfTraceRequest.PerfTraceConnection.builder() + .onchange(null) + .effectiveType("3g") + .rtt(950d) + .downlink(1.4) + .saveData(false) + .build(); + + return toJson(PerfTraceRequest.builder() + .navigation(navigation) + .timing(timing) + .entries(List.of(navigationEntry, visibilityEntry, resourceEntry)) + .connection(connection) + .build()); + } + public static String buildDartsPortalPerftraceRequest2(Session session) { - return String.format( - "{" + - " \"navigation\": {" + - " \"type\": 0," + - " \"redirectCount\": 0" + - " }," + - " \"timing\": {" + - " \"connectStart\": 522.20000000298," + - " \"navigationStart\": 522.20000000298," + - " \"secureConnectionStart\": 557.79999999702," + - " \"fetchStart\": 520," + - " \"domContentLoadedEventStart\": 1140.40000000596," + - " \"responseStart\": 0," + - " \"domInteractive\": 1140.40000000596," + - " \"domainLookupEnd\": 520," + - " \"responseEnd\": 1060.79999999702," + - " \"redirectStart\": 0," + - " \"requestStart\": 818.29999999702," + - " \"unloadEventEnd\": 0," + - " \"unloadEventStart\": 0," + - " \"domLoading\": 1709047511757," + - " \"domComplete\": 1709047511842," + - " \"domainLookupStart\": 520," + - " \"loadEventStart\": 1709047511842," + - " \"domContentLoadedEventEnd\": 1140.79999999702," + - " \"loadEventEnd\": 1171.70000000298," + - " \"redirectEnd\": 0," + - " \"connectEnd\": 818.20000000298," + - " }," + - " \"entries\": [" + - " {" + - " \"name\": \"" + AppConfig.EnvironmentURL.B2B_Login.getUrl() + "/" + AppConfig.EnvironmentURL.DARTS_PORTAL_Auth_LOGIN.getUrl() + "?client_id=" + AppConfig.EnvironmentURL.EXTERNAL_AZURE_AD_B2C_CLIENT_ID.getUrl() + "&redirect_uri=https%3A%2F%2Fdarts.test.apps.hmcts.net%2Fauth%2Fcallback&scope=openid&prompt=login&response_mode=form_post&response_type=code\"," + - " \"entryType\": \"navigation\"," + - " \"startTime\": 0," + - " \"duration\": 2919.9000000953674," + - " \"initiatorType\": \"navigation\"," + - " \"deliveryType\": \"\"," + - " \"nextHopProtocol\": \"http/1.1\"," + - " \"renderBlockingStatus\": \"non-blocking\"," + - " \"workerStart\": 0," + - " \"redirectStart\": 0," + - " \"redirectEnd\": 0," + - " \"fetchStart\": 670.7000000476837," + - " \"domainLookupStart\": 670.7000000476837," + - " \"domainLookupEnd\": 670.7000000476837," + - " \"connectStart\": 672.2000000476837," + - " \"secureConnectionStart\": 843.5," + - " \"connectEnd\": 1729.7000000476837," + - " \"requestStart\": 1729.7000000476837," + - " \"responseStart\": 2786.7999999523163," + - " \"firstInterimResponseStart\": 0," + - " \"responseEnd\": 2788.7000000476837," + - " \"transferSize\": 69668," + - " \"encodedBodySize\": 69368," + - " \"decodedBodySize\": 176293," + - " \"responseStatus\": 200," + - " \"serverTiming\": []," + - " \"unloadEventStart\": 0," + - " \"unloadEventEnd\": 0," + - " \"domInteractive\": 2879.4000000953674," + - " \"domContentLoadedEventStart\": 2879.4000000953674," + - " \"domContentLoadedEventEnd\": 2879.7000000476837," + - " \"domComplete\": 2919.7999999523163," + - " \"loadEventStart\": 2919.9000000953674," + - " \"loadEventEnd\": 2919.9000000953674," + - " \"type\": \"navigate\"," + - " \"redirectCount\": 0," + - " \"activationStart\": 0," + - " \"criticalCHRestart\": 0" + - " }," + - " {" + - " \"name\": \"visible\"," + - " \"entryType\": \"visibility-state\"," + - " \"startTime\": 0," + - " \"duration\": 0" + - " }," + - " {" + - " \"name\": \"" + AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/azuread-b2c-login?screenName=loginScreen&ui_locales=en\"," + - " \"entryType\": \"resource\"," + - " \"startTime\": 2869.7999999523163," + - " \"duration\": 265," + - " \"initiatorType\": \"xmlhttprequest\"," + - " \"deliveryType\": \"\"," + - " \"nextHopProtocol\": \"http/1.1\"," + - " \"renderBlockingStatus\": \"non-blocking\"," + - " \"workerStart\": 0," + - " \"redirectStart\": 0," + - " \"redirectEnd\": 0," + - " \"fetchStart\": 2869.7999999523163," + - " \"domainLookupStart\": 2869.7999999523163," + - " \"domainLookupEnd\": 2869.7999999523163," + - " \"connectStart\": 2871.4000000953674," + - " \"secureConnectionStart\": 2893," + - " \"connectEnd\": 2983," + - " \"requestStart\": 2983.0999999046326," + - " \"responseStart\": 3134.5," + - " \"firstInterimResponseStart\": 0," + - " \"responseEnd\": 3134.7999999523163," + - " \"transferSize\": 5875," + - " \"encodedBodySize\": 5575," + - " \"decodedBodySize\": 5575," + - " \"responseStatus\": 200," + - " \"serverTiming\": [" + - " {\"name\": \"dtSInfo\",\"duration\": 0,\"description\": \"0\"}," + - " {\"name\": \"dtRpid\",\"duration\": 0,\"description\": \"454511542\"}," + - " {\"name\": \"dtTao\",\"duration\": 0,\"description\": \"1\"}" + - " ]" + - " }," + - " ]" + - "}"); + PerfTraceRequest.PerfTraceNavigation navigation = PerfTraceRequest.PerfTraceNavigation.builder() + .type(0) + .redirectCount(0) + .build(); + + PerfTraceRequest.PerfTraceTiming timing = PerfTraceRequest.PerfTraceTiming.builder() + .connectStart(522.20000000298) + .navigationStart(522.20000000298) + .secureConnectionStart(557.79999999702) + .fetchStart(520d) + .domContentLoadedEventStart(1140.40000000596) + .responseStart(0d) + .domInteractive(1140.40000000596) + .domainLookupEnd(520d) + .responseEnd(1060.79999999702) + .redirectStart(0d) + .requestStart(818.29999999702) + .unloadEventEnd(0d) + .unloadEventStart(0d) + .domLoading(1709047511757d) + .domComplete(1709047511842d) + .domainLookupStart(520d) + .loadEventStart(1709047511842d) + .domContentLoadedEventEnd(1140.79999999702) + .loadEventEnd(1171.70000000298) + .redirectEnd(0d) + .connectEnd(818.20000000298) + .build(); + + PerfTraceRequest.PerfTraceEntry navigationEntry = PerfTraceRequest.PerfTraceEntry.builder() + .name(AppConfig.EnvironmentURL.B2B_Login.getUrl() + "/" + + AppConfig.EnvironmentURL.DARTS_PORTAL_Auth_LOGIN.getUrl() + "?client_id=" + + AppConfig.EnvironmentURL.EXTERNAL_AZURE_AD_B2C_CLIENT_ID.getUrl() + + "&redirect_uri=https%3A%2F%2Fdarts.test.apps.hmcts.net%2Fauth%2Fcallback&scope=openid&prompt=login&response_mode=form_post&response_type=code") + .entryType("navigation") + .startTime(0d) + .duration(2919.9000000953674) + .initiatorType("navigation") + .deliveryType("") + .nextHopProtocol("http/1.1") + .renderBlockingStatus("non-blocking") + .workerStart(0d) + .redirectStart(0d) + .redirectEnd(0d) + .fetchStart(670.7000000476837) + .domainLookupStart(670.7000000476837) + .domainLookupEnd(670.7000000476837) + .connectStart(672.2000000476837) + .secureConnectionStart(843.5) + .connectEnd(1729.7000000476837) + .requestStart(1729.7000000476837) + .responseStart(2786.7999999523163) + .firstInterimResponseStart(0d) + .responseEnd(2788.7000000476837) + .transferSize(69668) + .encodedBodySize(69368) + .decodedBodySize(176293) + .responseStatus(200) + .serverTiming(List.of()) + .unloadEventStart(0d) + .unloadEventEnd(0d) + .domInteractive(2879.4000000953674) + .domContentLoadedEventStart(2879.4000000953674) + .domContentLoadedEventEnd(2879.7000000476837) + .domComplete(2919.7999999523163) + .loadEventStart(2919.9000000953674) + .loadEventEnd(2919.9000000953674) + .type("navigate") + .redirectCount(0) + .activationStart(0) + .criticalCHRestart(0) + .build(); + + PerfTraceRequest.PerfTraceEntry visibilityEntry = PerfTraceRequest.PerfTraceEntry.builder() + .name("visible") + .entryType("visibility-state") + .startTime(0d) + .duration(0d) + .build(); + + List serverTimings = List.of( + PerfTraceRequest.PerfTraceServerTiming.builder().name("dtSInfo").duration(0d).description("0").build(), + PerfTraceRequest.PerfTraceServerTiming.builder().name("dtRpid").duration(0d).description("454511542") + .build(), + PerfTraceRequest.PerfTraceServerTiming.builder().name("dtTao").duration(0d).description("1").build() + ); + + PerfTraceRequest.PerfTraceEntry resourceEntry = PerfTraceRequest.PerfTraceEntry.builder() + .name(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + + "/auth/azuread-b2c-login?screenName=loginScreen&ui_locales=en") + .entryType("resource") + .startTime(2869.7999999523163) + .duration(265d) + .initiatorType("xmlhttprequest") + .deliveryType("") + .nextHopProtocol("http/1.1") + .renderBlockingStatus("non-blocking") + .workerStart(0d) + .redirectStart(0d) + .redirectEnd(0d) + .fetchStart(2869.7999999523163) + .domainLookupStart(2869.7999999523163) + .domainLookupEnd(2869.7999999523163) + .connectStart(2871.4000000953674) + .secureConnectionStart(2893d) + .connectEnd(2983d) + .requestStart(2983.0999999046326) + .responseStart(3134.5) + .firstInterimResponseStart(0d) + .responseEnd(3134.7999999523163) + .transferSize(5875) + .encodedBodySize(5575) + .decodedBodySize(5575) + .responseStatus(200) + .serverTiming(serverTimings) + .build(); + + return toJson(PerfTraceRequest.builder() + .navigation(navigation) + .timing(timing) + .entries(List.of(navigationEntry, visibilityEntry, resourceEntry)) + .build()); } public static String buildCourtHousePostBody(Session session) { - + // Generate a random court house name RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); String courtHouseName = randomStringGenerator.generateRandomString(10); - return String.format("{\"courthouse_name\": \"PerfCourtHouse_%s\", " - // "\"code\": \" "+ generatorCourtHouseCode.generateNextNumber() + "\", " + - +"\"display_name\": \"PerfCourtHouse_%s\"}", - // "\"region_id\": \"0\"}", - courtHouseName, courtHouseName); + return toJson(CourtHouseRequestBody.builder() + .courthouseName("PerfCourtHouse_" + courtHouseName) + .displayName("PerfCourtHouse_" + courtHouseName) + .build()); } - + public static String buildEventsPostBody(Session session) { - + // Generate a random court house name String courtHouseName = session.get("courthouse_name") != null ? session.get("courthouse_name").toString() : ""; String courtRoomName = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; String courtCaseNumber = session.get("case_number") != null ? session.get("case_number").toString() : ""; - - return String.format("{\"event_id\": \"1\", " - +"\"type\": \"30300\", " - +"\"sub_type\": \"\", " - +"\"courthouse\": \"%s\", " - +"\"courtroom\": \"%s\", " - +"\"case_numbers\": [ " - +"\"%s\" ], " - +"\"date_time\": \"2024-04-05T12:02:00.000Z\"}", - courtHouseName, courtRoomName, courtCaseNumber); + + return toJson(EventRequestBody.builder() + .eventId("1") + .type("30300") + .subType("") + .courthouse(courtHouseName) + .courtroom(courtRoomName) + .caseNumbers(List.of(courtCaseNumber)) + .dateTime("2024-04-05T12:02:00.000Z") + .build()); } public static String buildUpdateCaseWithEventsPostBody(Session session) { - + // Generate a random court house name String courtHouseName = session.get("courthouse_name") != null ? session.get("courthouse_name").toString() : ""; String courtRoomName = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; String courtCaseNumber = session.get("case_number") != null ? session.get("case_number").toString() : ""; - - return String.format("{\"event_id\": \"1\", " - +"\"type\": \"30300\", " - +"\"sub_type\": \"\", " - +"\"courthouse\": \"Gloucester\", " - +"\"courtroom\": \"1\", " - +"\"case_numbers\": [ " - +"\"T202400144\" ], " - +"\"date_time\": \"2024-04-11T12:02:00.000Z\"}", - courtHouseName, courtRoomName, courtCaseNumber); + + return toJson(EventRequestBody.builder() + .eventId("1") + .type("30300") + .subType("") + .courthouse("Gloucester") + .courtroom("1") + .caseNumbers(List.of("T202400144")) + .dateTime("2024-04-11T12:02:00.000Z") + .build()); } public static String buildDuplicateEventsPostBody(Session session, String eventId) { @@ -704,57 +714,60 @@ public static String buildDuplicateEventsPostBody(Session session, String eventI String courtHouseName = session.get("courthouse_name") != null ? session.get("courthouse_name").toString() : ""; String courtRoomName = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; String courtCaseNumber = session.get("case_number") != null ? session.get("case_number").toString() : ""; - return String.format("{\"event_id\": \"%s\", " - +"\"message_id\": \"This is a Perf test for Duplication tasks\", " - +"\"event_text\": \"Perf_event text for Duplication\", " - +"\"type\": \"30300\", " - +"\"sub_type\": \"\", " - +"\"courthouse\": \"%s\", " - +"\"courtroom\": \"%s\", " - +"\"case_numbers\": [ " - +"\"%s\" ], " - +"\"date_time\": \"2024-04-05T12:02:00.000Z\"}", - eventId, courtHouseName, courtRoomName, courtCaseNumber); - } + return toJson(EventRequestBody.builder() + .eventId(eventId) + .messageId("This is a Perf test for Duplication tasks") + .eventText("Perf_event text for Duplication") + .type("30300") + .subType("") + .courthouse(courtHouseName) + .courtroom(courtRoomName) + .caseNumbers(List.of(courtCaseNumber)) + .dateTime("2024-04-05T12:02:00.000Z") + .build()); + } public static String buildInterpreterUsedEventBody(Session session) { - + // Generate a random court house name String courtHouseName = session.get("courthouse_name") != null ? session.get("courthouse_name").toString() : ""; String courtRoomName = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; String courtCaseNumber = session.get("case_number") != null ? session.get("case_number").toString() : ""; - return String.format("{\"event_id\": \"74\", " - +"\"type\": \"2917\", " - +"\"sub_type\": \"3979\", " - +"\"courthouse\": \"%s\", " - +"\"courtroom\": \"%s\", " - +"\"case_numbers\": [ " - +"\"%s\" ], " - +"\"date_time\": \"2024-04-05T12:02:00.000Z\"}", - courtHouseName, courtRoomName, courtCaseNumber); + return toJson(EventRequestBody.builder() + .eventId("74") + .type("2917") + .subType("3979") + .courthouse(courtHouseName) + .courtroom(courtRoomName) + .caseNumbers(List.of(courtCaseNumber)) + .dateTime("2024-04-05T12:02:00.000Z") + .build()); } + public static String buildInterpreterUsedForUpdatedEventBody(Session session) { - + // Generate a random court house name - String courtHouseName = session.get("courthouse_display_name") != null ? session.get("courthouse_display_name").toString() : ""; + String courtHouseName = + session.get("courthouse_display_name") != null ? session.get("courthouse_display_name").toString() : ""; String courtRoomName = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; String courtCaseNumber = session.get("case_number") != null ? session.get("case_number").toString() : ""; String hearing_date = session.get("hearing_date") != null ? session.get("hearing_date").toString() : ""; - return String.format("{\"event_id\": \"74\", " - +"\"type\": \"2917\", " - +"\"sub_type\": \"3979\", " - +"\"courthouse\": \"%s\", " - +"\"courtroom\": \"%s\", " - +"\"case_numbers\": [ " - +"\"%s\" ], " - +"\"date_time\": \"%sT12:02:00.000Z\"}", - courtHouseName, courtRoomName, courtCaseNumber, hearing_date); + return toJson(EventRequestBody.builder() + .eventId("74") + .type("2917") + .subType("3979") + .courthouse(courtHouseName) + .courtroom(courtRoomName) + .caseNumbers(List.of(courtCaseNumber)) + .dateTime(hearing_date + "T12:02:00.000Z") + .build()); } + public static String buildEventsRetentionsPostBody(Session session) { - + // Generate a random court house name String courtHouseName = session.get("courthouse_name") != null ? session.get("courthouse_name").toString() : ""; String courtRoomName = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; @@ -762,75 +775,61 @@ public static String buildEventsRetentionsPostBody(Session session) { RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); String randomComment = randomStringGenerator.generateRandomString(10); - // return String.format("{ \"type\": \"30300\", " - // +"\"event_id\": \"218\", " - // +"\"courthouse\": \"York\", " - // +"\"courtroom\": \"1\"," - // +"\"case_numbers\": [ " - // +"\"SHUl9Ky1AD\" ], " - // +"\"event_text\": \"Perf_Event_%s\"," - // +"\"date_time\": \"2024-02-26T12:02:00.000Z\"," - // +"\"retention_policy\": {" - // + "\"case_retention_fixed_policy\": \"1\"," - // + "\"case_total_sentence\": \"1\"}," - // +"\"start_time\": \"2024-02-26T17:27:33.212Z\"," - // +"\"end_time\": \"2024-02-26T17:27:33.212Z\"," - // +"\"is_mid_tier\": true}", - // courtHouseName, courtRoomName, courtCaseNumber, randomComment); - // } - - - return String.format("{ \"type\": \"30300\", " - +"\"event_id\": \"218\", " - +"\"courthouse\": \"%s\", " - +"\"courtroom\": \"%s\"," - +"\"case_numbers\": [ " - +"\"%s\" ], " - +"\"event_text\": \"Perf_Event_%s\"," - +"\"date_time\": \"2024-04-05T12:02:00.000Z\"," - +"\"retention_policy\": {" - + "\"case_retention_fixed_policy\": \"1\"," - + "\"case_total_sentence\": \"1\"}," - +"\"start_time\": \"2024-07-19T17:27:33.212Z\"," - +"\"end_time\": \"2024-07-19T17:27:33.212Z\"," - +"\"is_mid_tier\": true}", - courtHouseName, courtRoomName, courtCaseNumber, randomComment); + RetentionPolicy retentionPolicy = RetentionPolicy.builder() + .caseRetentionFixedPolicy("1") + .caseTotalSentence("1") + .build(); + + return toJson(EventRequestBody.builder() + .type("30300") + .eventId("218") + .courthouse(courtHouseName) + .courtroom(courtRoomName) + .caseNumbers(List.of(courtCaseNumber)) + .eventText("Perf_Event_" + randomComment) + .dateTime("2024-04-05T12:02:00.000Z") + .retentionPolicy(retentionPolicy) + .startTime("2024-07-19T17:27:33.212Z") + .endTime("2024-07-19T17:27:33.212Z") + .isMidTier(true) + .build()); } public static String buildRetentionsPostBody(Session session) { - + // Generate a random court house name String courtCaseId = session.get("cas_id") != null ? session.get("cas_id").toString() : ""; // Generate a random comment RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); String randomComment = randomStringGenerator.generateRandomString(10); - return String.format("{\"case_id\": \"%s\", " - +"\"is_permanent_retention\": \"true\", " - + "\"comments\": \"Perf_%s\"}", - courtCaseId, randomComment); + return toJson(RetentionRequestBody.builder() + .caseId(courtCaseId) + .isPermanentRetention(true) + .comments("Perf_" + randomComment) + .build()); } public static String buildEventsForLinkingCasePostBody(Session session, String caseName) { - + // Generate a random court house name String courtHouseName = session.get("courthouse_name") != null ? session.get("courthouse_name").toString() : ""; String courtRoomName = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; String currentTimeMillis = String.valueOf(System.currentTimeMillis()); - int test = (int)NumberGenerator.generateRandom13DigitNumber(); - - return String.format("{\"event_id\":" + test + ", " - +"\"message_id\":" + currentTimeMillis + ", " - +"\"type\": \"30300\", " - +"\"sub_type\": \"\", " - +"\"courthouse\": \"%s\", " - +"\"courtroom\": \"%s\", " - +"\"case_numbers\": [ " - +"\"PerfCase_%s\" ], " - +"\"date_time\": \"2024-11-11T12:02:00.000Z\", " - +"\"start_time\": \"2024-11-11T12:02:00.000Z\", " - +"\"end_time\": \"2024-11-11T13:02:00.000Z\"}", - courtHouseName, courtRoomName, caseName); + int test = (int) NumberGenerator.generateRandom13DigitNumber(); + + return toJson(EventRequestBody.builder() + .eventId(test) + .messageId(Long.parseLong(currentTimeMillis)) + .type("30300") + .subType("") + .courthouse(courtHouseName) + .courtroom(courtRoomName) + .caseNumbers(List.of("PerfCase_" + caseName)) + .dateTime("2024-11-11T12:02:00.000Z") + .startTime("2024-11-11T12:02:00.000Z") + .endTime("2024-11-11T13:02:00.000Z") + .build()); } -} \ No newline at end of file +} diff --git a/src/gatling/java/simulations/Scripts/SOAPRequestBuilder/SOAPRequestBuilder.java b/src/gatling/java/simulations/Scripts/SOAPRequestBuilder/SOAPRequestBuilder.java index 2c3687cd..fde44e1f 100644 --- a/src/gatling/java/simulations/Scripts/SOAPRequestBuilder/SOAPRequestBuilder.java +++ b/src/gatling/java/simulations/Scripts/SOAPRequestBuilder/SOAPRequestBuilder.java @@ -525,56 +525,109 @@ public static String addDocumentCPPEventTokenRequest(Session session) { } public static String addDocumentXhibitEventTokenRequest(Session session) { - String registrationToken = session.get("registrationToken") != null ? session.get("registrationToken").toString() : ""; - - // Retrieve values from session or define defaults if needed + String courtHouseName = session.get("courthouse_name") != null ? session.get("courthouse_name").toString() : ""; String courtRoom = session.get("courtroom_name") != null ? session.get("courtroom_name").toString() : ""; - - // Generate dynamic values + RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); String caseName = randomStringGenerator.generateRandomString(5); - String eventText = "Add Document Xhibit -" + randomStringGenerator.generateRandomString(10); + String eventText = "Add Document Xhibit -" + randomStringGenerator.generateRandomString(10); LocalDateTime now = LocalDateTime.now(); String currentTimeMillis = String.valueOf(System.currentTimeMillis()); String trimmedID = currentTimeMillis.substring(4); - - // Construct SOAP request - return String.format( - "\n" - + " \n" - + " \n" - + " %s\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " " + trimmedID + "\n" - + " 2198\n" - + " 3940\n" - + " <be:DartsEvent xmlns:be="urn:integration-cjsonline-gov-uk:pilot:entities" ID="" - + trimmedID + "" Y="" - + now.format(DateTimeFormatter.ofPattern("yyyy")) + "" M="" - + now.format(DateTimeFormatter.ofPattern("MM")) + "" D="" - + now.format(DateTimeFormatter.ofPattern("dd")) + "" H="" - + now.format(DateTimeFormatter.ofPattern("HH")) + "" MIN="" - + now.format(DateTimeFormatter.ofPattern("mm")) + "" S="" - + now.format(DateTimeFormatter.ofPattern("ss")) + ""><be:CourtHouse>%s</be:CourtHouse><be:CourtRoom>%s</be:CourtRoom><be:CaseNumbers><be:CaseNumber>Perf_DocXhibitEvent_%s</be:CaseNumber></be:CaseNumbers><be:EventText>%s</be:EventText></be:DartsEvent>\n" - + " \n" - + " \n" - + "", - registrationToken, courtHouseName, courtRoom, caseName, eventText - ); + + // Use StringBuilder for better control over formatting + StringBuilder soapRequest = new StringBuilder(); + soapRequest.append("\n") + .append(" \n") + .append(" \n") + .append(" ") + .append(registrationToken).append("\n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" ").append(trimmedID).append("\n") + .append(" 2198\n") + .append(" 3940\n") + .append(" <be:DartsEvent xmlns:be="urn:integration-cjsonline-gov-uk:pilot:entities" ID="") + .append(trimmedID).append("" Y="").append(now.format(DateTimeFormatter.ofPattern("yyyy"))) + .append("" M="").append(now.format(DateTimeFormatter.ofPattern("MM"))) + .append("" D="").append(now.format(DateTimeFormatter.ofPattern("dd"))) + .append("" H="").append(now.format(DateTimeFormatter.ofPattern("HH"))) + .append("" MIN="").append(now.format(DateTimeFormatter.ofPattern("mm"))) + .append("" S="").append(now.format(DateTimeFormatter.ofPattern("ss"))) + .append(""><be:CourtHouse>").append(courtHouseName) + .append("</be:CourtHouse><be:CourtRoom>").append(courtRoom) + .append("</be:CourtRoom><be:CaseNumbers><be:CaseNumber>Perf_DocXhibitEvent_") + .append(caseName).append("</be:CaseNumber></be:CaseNumbers><be:EventText>") + .append(eventText).append("</be:EventText></be:DartsEvent>\n") + .append(" \n") + .append(" \n") + .append(""); + + return soapRequest.toString(); } + // public static String addDocumentXhibitEventTokenRequest(Session session) { + + // String registrationToken = session.get("registrationToken") != null + // ? session.get("registrationToken").toString() + // : ""; + + // // Retrieve values from session or define defaults if needed + // String courtHouseName = session.get("courthouse_name") != null + // ? session.get("courthouse_name").toString() + // : ""; + // String courtRoom = session.get("courtroom_name") != null + // ? session.get("courtroom_name").toString() + // : ""; + + // // Generate dynamic values + // RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); + // String caseName = randomStringGenerator.generateRandomString(5); + // String eventText = "Add Document Xhibit -" + randomStringGenerator.generateRandomString(10); + // LocalDateTime now = LocalDateTime.now(); + // String currentTimeMillis = String.valueOf(System.currentTimeMillis()); + // String trimmedID = currentTimeMillis.substring(4); + + // // Construct SOAP request + // return String.format( + // "\n" + // + " \n" + // + " \n" + // + " %s\n" + // + " \n" + // + " \n" + // + " \n" + // + " \n" + // + " " + trimmedID + "\n" + // + " 2198\n" + // + " 3940\n" + // + " <be:DartsEvent xmlns:be="urn:integration-cjsonline-gov-uk:pilot:entities" ID="" + // + trimmedID + "" Y="" + // + now.format(DateTimeFormatter.ofPattern("yyyy")) + "" M="" + // + now.format(DateTimeFormatter.ofPattern("MM")) + "" D="" + // + now.format(DateTimeFormatter.ofPattern("dd")) + "" H="" + // + now.format(DateTimeFormatter.ofPattern("HH")) + "" MIN="" + // + now.format(DateTimeFormatter.ofPattern("mm")) + "" S="" + // + now.format(DateTimeFormatter.ofPattern("ss")) + ""><be:CourtHouse>%s</be:CourtHouse><be:CourtRoom>%s</be:CourtRoom><be:CaseNumbers><be:CaseNumber>Perf_DocXhibitEvent_%s</be:CaseNumber></be:CaseNumbers><be:EventText>%s</be:EventText></be:DartsEvent>\n" + // + " \n" + // + " \n" + // + "", + // registrationToken, courtHouseName, courtRoom, caseName, eventText + // ); + // } + public static String getCasesUserRequest(Session session, String userName, String password) { // Retrieve values from session or define defaults if needed String courtHouseName = session.get("courthouse_name") != null @@ -840,36 +893,72 @@ public static String addAudioTokenRequestBinary (Session session, String randomA } + // public static String addCourtLogUserRequest(Session session, String userName, String password) { + // // Retrieve values from session or define defaults if needed + // String courtHouseName = session.get("courthouse_name") != null + // ? session.get("courthouse_name").toString() + // : ""; + // String courtRoom = session.get("courtroom_name") != null + // ? session.get("courtroom_name").toString() + // : ""; + // RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); + // String caseName = randomStringGenerator.generateRandomString(5); + // String randomLogText = randomStringGenerator.generateRandomString(10); + + // // Construct SOAP request + // return String.format( + // "\n" + // + " \n" + // + " \n" + // + " \n" + // + " \n" + // + " \n" + // + " \n" + // + " \n" + // + " \n" + // + " <log_entry Y="2023" M="01" D="01" H="10" MIN="00" S="00"><courthouse>%s</courthouse><courtroom>%s</courtroom><case_numbers><case_number>Perf_LogEntry_%s</case_number></case_numbers><text>%s</text></log_entry>\n" + // + " \n" + // + " \n" + // + " \n" + // + "", + // userName, password, courtHouseName, courtRoom, caseName, randomLogText); + // } + public static String addCourtLogUserRequest(Session session, String userName, String password) { // Retrieve values from session or define defaults if needed String courtHouseName = session.get("courthouse_name") != null - ? session.get("courthouse_name").toString() + ? session.get("courthouse_name").toString() : ""; String courtRoom = session.get("courtroom_name") != null - ? session.get("courtroom_name").toString() + ? session.get("courtroom_name").toString() : ""; RandomStringGenerator randomStringGenerator = new RandomStringGenerator(); String caseName = randomStringGenerator.generateRandomString(5); String randomLogText = randomStringGenerator.generateRandomString(10); - - // Construct SOAP request - return String.format( - "\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " <log_entry Y="2023" M="01" D="01" H="10" MIN="00" S="00"><courthouse>%s</courthouse><courtroom>%s</courtroom><case_numbers><case_number>Perf_LogEntry_%s</case_number></case_numbers><text>%s</text></log_entry>\n" - + " \n" - + " \n" - + " \n" - + "", - userName, password, courtHouseName, courtRoom, caseName, randomLogText); - } + + // Use StringBuilder for better control over formatting + StringBuilder soapRequest = new StringBuilder(); + soapRequest.append("\n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" <log_entry Y="2023" M="01" D="01" H="10" MIN="00" S="00"><courthouse>") + .append(courtHouseName).append("</courthouse><courtroom>").append(courtRoom) + .append("</courtroom><case_numbers><case_number>Perf_LogEntry_").append(caseName) + .append("</case_number></case_numbers><text>").append(randomLogText) + .append("</text></log_entry>\n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(""); + + return soapRequest.toString(); + } public static String addCourtLogTokenRequest(Session session) { // Retrieve values from session or define defaults if needed diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CaseRetentionForChildObjectScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CaseRetentionForChildObjectScenario.java index f1717f32..f77fc5de 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CaseRetentionForChildObjectScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CaseRetentionForChildObjectScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; import simulations.Scripts.Utilities.AppConfig; @@ -8,6 +9,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class CaseRetentionForChildObjectScenario { @@ -53,7 +57,7 @@ public static ChainBuilder CaseRetentionForChildObject() { .check(status().saveAs("statusCode")) .check(status().is(201)) )) - .pause(5) + .pause(Util.getDurationFromSeconds(5)) // Step 3: Change date from Database .exec(session -> { String cas_id = session.getString("cas_id"); @@ -65,11 +69,11 @@ public static ChainBuilder CaseRetentionForChildObject() { } ) .exec(session -> { - System.out.println("Case Closed for Id:" + session.get("cas_id")); - System.out.println("Case Closed with audio count:" + session.get("audio_count")); - System.out.println("Case Closed with transcription doc count:" + session.get("transcription_doc_count")); - System.out.println("Case Closed with annotation doc count:" + session.get("annotation_doc_count")); - System.out.println("Case Closed with case doc count:" + session.get("case_doc_count")); + log.info("Case Closed for Id:" + session.get("cas_id")); + log.info("Case Closed with audio count:" + session.get("audio_count")); + log.info("Case Closed with transcription doc count:" + session.get("transcription_doc_count")); + log.info("Case Closed with annotation doc count:" + session.get("annotation_doc_count")); + log.info("Case Closed with case doc count:" + session.get("case_doc_count")); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CloseCaseScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CloseCaseScenario.java index 1a04db8d..7a241361 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CloseCaseScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CloseCaseScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; import simulations.Scripts.Utilities.AppConfig; @@ -9,6 +10,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class CloseCaseScenario { @@ -48,7 +52,7 @@ public static ChainBuilder CloseCase() { .check(status().saveAs("statusCode")) .check(status().is(201)) )) - .pause(5) + .pause(Util.getDurationFromSeconds(5)) // Step 3: Change date from Database .exec(session -> { String cas_id = session.getString("cas_id"); @@ -60,7 +64,7 @@ public static ChainBuilder CloseCase() { } ) .exec(session -> { - System.out.println("Case Closed for Id:" + session.get("cas_id")); + log.info("Case Closed for Id:" + session.get("cas_id")); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CreateRetenionsScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CreateRetenionsScenario.java index c45d77c0..08ed4b3f 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CreateRetenionsScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/CreateRetenionsScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; import simulations.Scripts.Utilities.AppConfig; @@ -9,6 +10,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class CreateRetenionsScenario { @@ -48,7 +52,7 @@ public static ChainBuilder CreateRetenions() { .check(status().saveAs("statusCode")) .check(status().is(201)) )) - .pause(5) + .pause(Util.getDurationFromSeconds(5)) // Step 3: Change date from Database .exec(session -> { String cas_id = session.getString("cas_id"); @@ -59,19 +63,19 @@ public static ChainBuilder CreateRetenions() { return session.set("Retenions_cas_id", cas_id); } ) - .pause(15) + .pause(Util.getDurationFromSeconds(15)) .exec(http("DARTS - Api - AutomatedTasksRequest:POST") .post(AppConfig.EnvironmentURL.DARTS_BASE_URL.getUrl() + "/admin/automated-tasks/11/run") .headers(Headers.getHeaders(24)) .check(status().saveAs("statusCode")) .check(status().is(202)) ) - .pause(5) + .pause(Util.getDurationFromSeconds(5)) .exec(session -> { String xmlPayload = RequestBodyBuilder.buildRetentionsPostBody(session); - System.out.println("Retentions xmlPayload: " + xmlPayload); + log.info("Retentions xmlPayload: " + xmlPayload); - System.out.println("Retentions session: " + session); + log.info("Retentions session: " + session); return session.set("xmlPayload", xmlPayload); }) .exec(http("DARTS - Api - RetentionsRequest:POST") @@ -82,9 +86,9 @@ public static ChainBuilder CreateRetenions() { .check(status().is(200)) ) .exec(session -> { - System.out.println("Case id: " + session.getString("cas_id")+ " has had a Retention added"); + log.info("Case id: " + session.getString("cas_id")+ " has had a Retention added"); return session; }) - .pause(120); + .pause(Util.getDurationFromSeconds(120)); } } \ No newline at end of file diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/DeleteAudioRequestScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/DeleteAudioRequestScenario.java index 86196b38..29f791e6 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/DeleteAudioRequestScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/DeleteAudioRequestScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; @@ -8,7 +9,9 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class DeleteAudioRequestScenario { private DeleteAudioRequestScenario() {} @@ -37,7 +40,7 @@ public static ChainBuilder DeleteAudioRequest() { String transformedMediaId = session.getString("trm_id"); // Log to verify it's populated - System.out.println("Fetched trm_id for DELETE: " + transformedMediaId); + log.info("Fetched trm_id for DELETE: " + transformedMediaId); return session.set("trm_id", transformedMediaId); }) @@ -59,7 +62,7 @@ public static ChainBuilder DeleteAudioRequest() { } else { // Log the trm_id used in the DELETE request String transformedMediaId = session.getString("trm_id"); - System.out.println("Audio Delete, Response Status: " + session.get("statusCode") + ", trm_id deleted: " + transformedMediaId); + log.info("Audio Delete, Response Status: " + session.get("statusCode") + ", trm_id deleted: " + transformedMediaId); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetApiTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetApiTokenScenario.java index 3129bd0b..244adcde 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetApiTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetApiTokenScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.Feeders; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; @@ -7,7 +8,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class GetApiTokenScenario { private static final String GROUP_NAME = "B2C_1_Ropc_Darts_Signin - Token"; @@ -29,9 +32,9 @@ public static ChainBuilder getApiToken() { ).exec(session -> { Object bearerToken = session.get("bearerToken"); if (bearerToken != null) { - System.out.println("bearerToken Created"); //+ bearerToken.toString()); + log.info("bearerToken Created"); //+ bearerToken.toString()); } else { - System.out.println("No bearer Token value saved."); + log.info("No bearer Token value saved."); } return session; }) @@ -44,8 +47,8 @@ public static ChainBuilder getApiTokenDynamic() { // Retrieve Email and Password from the session String email = session.getString("Email"); String password = session.getString("Password"); - System.out.println("Email: " + email); - System.out.println("Password: " + password); + log.info("Email: " + email); + log.info("Password: " + password); return session; }) .exec( @@ -63,9 +66,9 @@ public static ChainBuilder getApiTokenDynamic() { .exec(session -> { Object bearerToken = session.get("bearerToken"); if (bearerToken != null) { - System.out.println("bearerToken Created"); //+ bearerToken.toString()); + log.info("bearerToken Created"); //+ bearerToken.toString()); } else { - System.out.println("No bearer Token value saved."); + log.info("No bearer Token value saved."); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetAudioPreviewScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetAudioPreviewScenario.java index 4261b9cc..914a8150 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetAudioPreviewScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetAudioPreviewScenario.java @@ -6,6 +6,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public final class GetAudioPreviewScenario { diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetAudioRequestScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetAudioRequestScenario.java index 8eb5392e..8bc54196 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetAudioRequestScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetAudioRequestScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; @@ -8,7 +9,9 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class GetAudioRequestScenario { public static Object feeder = null; @@ -29,12 +32,12 @@ public static ChainBuilder GetAudioRequest() { ) .exec(session -> { //String responseBody = session.getString("responseBody"); - //System.out.println("Response Body: " + responseBody); + //log.info("Response Body: " + responseBody); String transformedMediaId = session.getString("trm_id"); int statusCode = session.getInt("statusCode"); // Log to confirm if 'trm_id' and statusCode are populated - System.out.println("Fetched transformedMediaId: " + transformedMediaId + ", StatusCode: " + statusCode); + log.info("Fetched transformedMediaId: " + transformedMediaId + ", StatusCode: " + statusCode); return session; }) @@ -77,7 +80,7 @@ public static ChainBuilder GetAudioRequestPlayBack() { } else { // Log the trm_id used in the DELETE request String transformedMediaId = session.getString("trm_id"); - System.out.println("Audio Request, Response Status: " + session.get("statusCode") + ", PlayBack Id: " + transformedMediaId); + log.info("Audio Request, Response Status: " + session.get("statusCode") + ", PlayBack Id: " + transformedMediaId); } return session; }) @@ -117,7 +120,7 @@ public static ChainBuilder GetAudioRequestDownload() { int statusCode = session.getInt("statusCode"); String transformedMediaId = session.get("trm_id"); - System.out.println("Audio Request, Response Status: " + session.get("statusCode") + ", Download transformed Media Id: " + transformedMediaId); + log.info("Audio Request, Response Status: " + session.get("statusCode") + ", Download transformed Media Id: " + transformedMediaId); if (statusCode != 200 && statusCode != 409) { return session.set("error", true); diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetEventScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetEventScenario.java index d8c852b0..38590ede 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetEventScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/GetEventScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; import simulations.Scripts.Utilities.AppConfig; @@ -8,7 +9,9 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class GetEventScenario { private GetEventScenario() {} @@ -19,7 +22,7 @@ public static ChainBuilder GetEvent() { .on( feed(Feeders.createEventsToUpdate()) .exec(session -> { - System.out.println("EVE_ID in session: " + session.getString("eve_id")); + log.info("EVE_ID in session: " + session.getString("eve_id")); return session; }) .exec( @@ -35,8 +38,8 @@ public static ChainBuilder GetEvent() { .check(status().is(201)) ) .exec(session -> { - System.out.println("case_number in session: " + session.getString("case_number")); - System.out.println("hearing_date in session: " + session.getString("hearing_date")); + log.info("case_number in session: " + session.getString("case_number")); + log.info("hearing_date in session: " + session.getString("hearing_date")); return session; }) @@ -56,7 +59,7 @@ public static ChainBuilder GetEvent() { .exec(session -> { String randomAudioFile = Feeders.getRandomAudioFile(); String xmlPayload = RequestBodyBuilder.buildPostAudioApiRequest(session, randomAudioFile); - System.out.println("Selected file: " + randomAudioFile); + log.info("Selected file: " + randomAudioFile); return session.set("randomAudioFile", randomAudioFile) .set("xmlPayload", xmlPayload); } @@ -84,7 +87,7 @@ public static ChainBuilder GetEvent() { String responseBody = session.getString("responseBody"); System.err.println("Error: Non-200 status code: " + session.get("statusCode" + responseBody)); } else { - System.out.println("Audio Created for" + session.get("randomAudioFile") + ", Response Status: " + session.get("statusCode")); + log.info("Audio Created for" + session.get("randomAudioFile") + ", Response Status: " + session.get("statusCode")); } return session; } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/InseartAudioIntoHearingScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/InseartAudioIntoHearingScenario.java index b8bdc0a3..b07db703 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/InseartAudioIntoHearingScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/InseartAudioIntoHearingScenario.java @@ -1,6 +1,7 @@ package simulations.Scripts.Scenario.DartsApi; import io.gatling.javaapi.core.*; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.Feeders; import simulations.Scripts.Utilities.AppConfig; @@ -10,6 +11,7 @@ import static io.gatling.javaapi.core.CoreDsl.*; +@Slf4j public final class InseartAudioIntoHearingScenario { private InseartAudioIntoHearingScenario() {} @@ -42,9 +44,9 @@ public static ChainBuilder InseartAudioIntoHearing() { // ✅ Output the inserted values if (result > 0) { - System.out.println("Inserted hea_id: " + heaId + ", med_id: " + medId); + log.info("Inserted hea_id: " + heaId + ", med_id: " + medId); } else { - System.out.println("Insert skipped or failed for hea_id: " + heaId + ", med_id: " + medId); + log.info("Insert skipped or failed for hea_id: " + heaId + ", med_id: " + medId); } } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/InterpreterUsedEventScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/InterpreterUsedEventScenario.java index b25b8041..2e15a85d 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/InterpreterUsedEventScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/InterpreterUsedEventScenario.java @@ -7,6 +7,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public final class InterpreterUsedEventScenario { diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/LinkingAudioToCaseScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/LinkingAudioToCaseScenario.java index 3f404b4f..5e25d33b 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/LinkingAudioToCaseScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/LinkingAudioToCaseScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; import simulations.Scripts.Utilities.*; @@ -7,7 +8,9 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class LinkingAudioToCaseScenario { @@ -38,9 +41,9 @@ public static ChainBuilder LinkingAudioToCase() { .exec(session -> { String randomAudioFile = Feeders.getRandomAudioFile(); String xmlPayload = RequestBodyBuilder.buildPostAudioLinkingForCaseApiRequest(session, randomAudioFile, caseName); - // System.out.println("Code xmlPayload: " + xmlPayload); - // System.out.println("Code session: " + session); - System.out.println("Selected file: " + randomAudioFile); + // log.info("Code xmlPayload: " + xmlPayload); + // log.info("Code session: " + session); + log.info("Selected file: " + randomAudioFile); return session.set("randomAudioFile", randomAudioFile) .set("xmlPayload", xmlPayload); } @@ -68,7 +71,7 @@ public static ChainBuilder LinkingAudioToCase() { String responseBody = session.getString("responseBody"); System.err.println("Error: Non-200 status code: " + session.get("statusCode" + responseBody)); } else { - System.out.println("Audio Created for" + session.get("randomAudioFile") + ", Response Status: " + session.get("statusCode")); + log.info("Audio Created for" + session.get("randomAudioFile") + ", Response Status: " + session.get("statusCode")); } return session; } @@ -93,9 +96,9 @@ public static ChainBuilder LinkingAudioToCase() { .exec(session -> { String randomAudioFile = Feeders.getRandomAudioFile(); String xmlPayload = RequestBodyBuilder.buildPostAudioLinkingForCaseApiRequest(session, randomAudioFile, caseName2); - // System.out.println("Code xmlPayload: " + xmlPayload); - // System.out.println("Code session: " + session); - System.out.println("Selected file: " + randomAudioFile); + // log.info("Code xmlPayload: " + xmlPayload); + // log.info("Code session: " + session); + log.info("Selected file: " + randomAudioFile); return session.set("randomAudioFile", randomAudioFile) .set("xmlPayload", xmlPayload); } @@ -123,7 +126,7 @@ public static ChainBuilder LinkingAudioToCase() { String responseBody = session.getString("responseBody"); System.err.println("Error: Non-200 status code: " + session.get("statusCode" + responseBody)); } else { - System.out.println("Audio Created for" + session.get("randomAudioFile") + ", Response Status: " + session.get("statusCode")); + log.info("Audio Created for" + session.get("randomAudioFile") + ", Response Status: " + session.get("statusCode")); } return session; } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PatchAcceptTranscriptionScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PatchAcceptTranscriptionScenario.java index 489fb87f..ba2c8f6e 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PatchAcceptTranscriptionScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PatchAcceptTranscriptionScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; +@Slf4j public final class PatchAcceptTranscriptionScenario { private PatchAcceptTranscriptionScenario() {} @@ -32,9 +35,9 @@ public static ChainBuilder PatchAcceptTranscription() { .exec(session -> { Object transcriptionId = session.get("transcriptionId"); if (transcriptionId != null) { - System.out.println("Created Transcription Id: " + transcriptionId.toString()); + log.info("Created Transcription Id: " + transcriptionId.toString()); } else { - System.out.println("No transcription Id value saved."); + log.info("No transcription Id value saved."); } return session; })); diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAudioRequestScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAudioRequestScenario.java index c43e5c27..a6ad0afb 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAudioRequestScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAudioRequestScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; @@ -10,11 +11,13 @@ import simulations.Scripts.Utilities.UserInfoLogger; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import java.util.concurrent.ThreadLocalRandom; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; +@Slf4j public final class PostAudioRequestScenario { private PostAudioRequestScenario() {} @@ -59,8 +62,8 @@ public static ChainBuilder PostaudioRequest() { String xmlPayload = RequestBodyBuilder.buildPOSTAudioRequestBody(session); String requestType = getRandomRequestType(); - System.out.println("Body request: " + xmlPayload); - System.out.println("Chosen request type: " + requestType); + log.info("Body request: " + xmlPayload); + log.info("Chosen request type: " + requestType); return session .set("xmlPayload", xmlPayload) @@ -78,11 +81,11 @@ public static ChainBuilder PostaudioRequest() { ) .exec(session -> { String responseBody = session.getString("responseBody"); - System.out.println("Response Body: " + responseBody); + log.info("Response Body: " + responseBody); int statusCode = session.getInt("statusCode"); String requestId = session.getString("getRequestId"); - System.out.println("Get Request Id: " + requestId + ", Response Status: " + statusCode); + log.info("Get Request Id: " + requestId + ", Response Status: " + statusCode); return session; }) // Handle non-200 or non-409 status codes, including 401 @@ -97,7 +100,7 @@ public static ChainBuilder PostaudioRequest() { System.err.println("Error: Non-200 status code: " + statusCode + " - " + responseBody); return session.set("error", true); } else { - System.out.println("Audio Requested for hearing Id: " + session.get("hea_id") + ", Response Status: " + statusCode); + log.info("Audio Requested for hearing Id: " + session.get("hea_id") + ", Response Status: " + statusCode); return session.set("error", false); } }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAudioScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAudioScenario.java index 1ef0b625..9c4aba2b 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAudioScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAudioScenario.java @@ -1,13 +1,16 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.*; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; +@Slf4j public final class PostAudioScenario { private PostAudioScenario() {} @@ -19,9 +22,9 @@ public static ChainBuilder PostApiAudio() { .exec(session -> { String randomAudioFile = Feeders.getRandomAudioFile(); String xmlPayload = RequestBodyBuilder.buildPostAudioApiRequest(session, randomAudioFile); - // System.out.println("Code xmlPayload: " + xmlPayload); - // System.out.println("Code session: " + session); - System.out.println("Selected file: " + randomAudioFile); + // log.info("Code xmlPayload: " + xmlPayload); + // log.info("Code session: " + session); + log.info("Selected file: " + randomAudioFile); return session.set("randomAudioFile", randomAudioFile) .set("xmlPayload", xmlPayload); } @@ -49,7 +52,7 @@ public static ChainBuilder PostApiAudio() { String responseBody = session.getString("responseBody"); System.err.println("Error: Non-200 status code: " + session.get("statusCode" + responseBody)); } else { - System.out.println("Audio Created for" + session.get("randomAudioFile") + ", Response Status: " + session.get("statusCode")); + log.info("Audio Created for" + session.get("randomAudioFile") + ", Response Status: " + session.get("statusCode")); } return session; } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAutomatedTasksScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAutomatedTasksScenario.java index 60de4d35..6d413e04 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAutomatedTasksScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostAutomatedTasksScenario.java @@ -7,6 +7,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public final class PostAutomatedTasksScenario { diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostCaseSearchScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostCaseSearchScenario.java index 4e7534a3..b3deb63b 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostCaseSearchScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostCaseSearchScenario.java @@ -7,6 +7,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public final class PostCaseSearchScenario { diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostCourthouseScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostCourthouseScenario.java index b3d3fedf..212c5a4d 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostCourthouseScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostCourthouseScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; +@Slf4j public final class PostCourthouseScenario { private PostCourthouseScenario() {} @@ -16,8 +19,8 @@ public static ChainBuilder CourthousePost() { .on(exec(session -> { String xmlPayload = RequestBodyBuilder.buildCourtHousePostBody(session); - System.out.println("Code xmlPayload: " + xmlPayload); - System.out.println("Code session: " + session); + log.info("Code xmlPayload: " + xmlPayload); + log.info("Code session: " + session); return session.set("xmlPayload", xmlPayload); diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostDuplicateEventScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostDuplicateEventScenario.java index 2c34f6e6..6aad6db5 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostDuplicateEventScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostDuplicateEventScenario.java @@ -7,6 +7,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import java.util.concurrent.atomic.AtomicInteger; diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostEventsScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostEventsScenario.java index 327162d2..6439511b 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostEventsScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostEventsScenario.java @@ -7,6 +7,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public final class PostEventsScenario { diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostRetentionsScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostRetentionsScenario.java index a84d1805..dc76b7b1 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostRetentionsScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostRetentionsScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; import simulations.Scripts.Utilities.AppConfig; @@ -7,7 +8,9 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class PostRetentionsScenario { private PostRetentionsScenario() {} @@ -16,8 +19,8 @@ public static ChainBuilder PostRetentionsRequest() { .on(//exec(feed(Feeders.createCaseHouseRoomsHearingDetails())). exec(session -> { String xmlPayload = RequestBodyBuilder.buildRetentionsPostBody(session); - System.out.println("Retentions xmlPayload: " + xmlPayload); - System.out.println("Retentions session: " + session); + log.info("Retentions xmlPayload: " + xmlPayload); + log.info("Retentions session: " + session); return session.set("xmlPayload", xmlPayload); }) .exec(http("DARTS - Api - RetentionsRequest:POST") diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostTranscriptionScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostTranscriptionScenario.java index a6364296..461e63fb 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostTranscriptionScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/PostTranscriptionScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.EnvironmentURL; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; +@Slf4j public final class PostTranscriptionScenario { private PostTranscriptionScenario() {} @@ -30,9 +33,9 @@ public static ChainBuilder PostTranscription() { .exec(session -> { Object transcriptionId = session.get("transcriptionId"); if (transcriptionId != null) { - System.out.println("Created Transcription Id: " + transcriptionId.toString()); + log.info("Created Transcription Id: " + transcriptionId.toString()); } else { - System.out.println("No transcription Id value saved."); + log.info("No transcription Id value saved."); } return session; })); diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunApplyRetentionCaseAssociatedObjectsTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunApplyRetentionCaseAssociatedObjectsTaskScenario.java index 2ae6a3ee..3b968ee9 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunApplyRetentionCaseAssociatedObjectsTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunApplyRetentionCaseAssociatedObjectsTaskScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunApplyRetentionCaseAssociatedObjectsTaskScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunApplyRetentionCaseAssociatedObjectsTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 15 has been ran for Apply Retention Case Associated Objects"); + log.info("Automated Tasks 15 has been ran for Apply Retention Case Associated Objects"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunApplyRetentionTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunApplyRetentionTaskScenario.java index ae886e73..4b9dcb64 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunApplyRetentionTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunApplyRetentionTaskScenario.java @@ -1,11 +1,14 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunApplyRetentionTaskScenario { @@ -22,7 +25,7 @@ public static ChainBuilder RunApplyRetentionTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 11 has been ran for applying a retention"); + log.info("Automated Tasks 11 has been ran for applying a retention"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunArmRpoPollingTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunArmRpoPollingTaskScenario.java index 3829644a..7a82b249 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunArmRpoPollingTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunArmRpoPollingTaskScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunArmRpoPollingTaskScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunArmRpoPollingTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 29 has been ran for Arm Rpo Polling Task"); + log.info("Automated Tasks 29 has been ran for Arm Rpo Polling Task"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunAudioLinkingTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunAudioLinkingTaskScenario.java index 36d32906..68ee0ec0 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunAudioLinkingTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunAudioLinkingTaskScenario.java @@ -1,11 +1,14 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunAudioLinkingTaskScenario { @@ -22,7 +25,7 @@ public static ChainBuilder RunAudioLinkingTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 27 has been ran for Audio Linking"); + log.info("Automated Tasks 27 has been ran for Audio Linking"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunAutomatedTask11Scenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunAutomatedTask11Scenario.java index c96b0783..c9b53bb9 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunAutomatedTask11Scenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunAutomatedTask11Scenario.java @@ -5,6 +5,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public final class RunAutomatedTask11Scenario { diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCaseExpiryDeletionScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCaseExpiryDeletionScenario.java index 6ddde6aa..e1b47d49 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCaseExpiryDeletionScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCaseExpiryDeletionScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunCaseExpiryDeletionScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunCaseExpiryDeletion() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 18 has been ran for Case Expiry Deletion"); + log.info("Automated Tasks 18 has been ran for Case Expiry Deletion"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCloseOldCasesTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCloseOldCasesTaskScenario.java index 9841fd9d..014daffb 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCloseOldCasesTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCloseOldCasesTaskScenario.java @@ -1,11 +1,14 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunCloseOldCasesTaskScenario { @@ -22,7 +25,7 @@ public static ChainBuilder RunCloseOldCasesTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 12 has been ran for closing cases"); + log.info("Automated Tasks 12 has been ran for closing cases"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCloseOldUnfinishedTranscriptionsTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCloseOldUnfinishedTranscriptionsTaskScenario.java index 65855b63..dfbe8dc4 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCloseOldUnfinishedTranscriptionsTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunCloseOldUnfinishedTranscriptionsTaskScenario.java @@ -1,11 +1,14 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunCloseOldUnfinishedTranscriptionsTaskScenario { @@ -22,7 +25,7 @@ public static ChainBuilder RunCloseOldUnfinishedTranscriptionsTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 2 has been ran for Close Old Unfinished Transcriptions"); + log.info("Automated Tasks 2 has been ran for Close Old Unfinished Transcriptions"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDailyListHouseKeepingTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDailyListHouseKeepingTaskScenario.java index 189a5027..baf4816d 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDailyListHouseKeepingTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDailyListHouseKeepingTaskScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunDailyListHouseKeepingTaskScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunDailyListHouseKeepingTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 13 has been ran for Daily List Housekeeping"); + log.info("Automated Tasks 13 has been ran for Daily List Housekeeping"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDailyListTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDailyListTaskScenario.java index 2416d102..cc5dccbb 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDailyListTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDailyListTaskScenario.java @@ -1,11 +1,14 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunDailyListTaskScenario { @@ -22,7 +25,7 @@ public static ChainBuilder RunDailyListTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 1 has been ran for Process Daily List"); + log.info("Automated Tasks 1 has been ran for Process Daily List"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDetsToArmTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDetsToArmTaskScenario.java index f601daf3..0072dcc4 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDetsToArmTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunDetsToArmTaskScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunDetsToArmTaskScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunDetsToArmTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 18 has been ran for Dets To Arm Task"); + log.info("Automated Tasks 18 has been ran for Dets To Arm Task"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunExternalDataStoreDeleterTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunExternalDataStoreDeleterTaskScenario.java index 138902be..d663d030 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunExternalDataStoreDeleterTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunExternalDataStoreDeleterTaskScenario.java @@ -1,11 +1,14 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunExternalDataStoreDeleterTaskScenario { @@ -20,7 +23,7 @@ public static ChainBuilder RunExternalDataStoreDeleterTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 5 has been ran for External DataStore Deleter"); + log.info("Automated Tasks 5 has been ran for External DataStore Deleter"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunGenerateCaseDocumentForRetentionDateScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunGenerateCaseDocumentForRetentionDateScenario.java index 113ca387..31471ab7 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunGenerateCaseDocumentForRetentionDateScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunGenerateCaseDocumentForRetentionDateScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunGenerateCaseDocumentForRetentionDateScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunGenerateCaseDocumentForRetentionDate() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 21 has been ran for Generate Case Documents for For Retention Date"); + log.info("Automated Tasks 21 has been ran for Generate Case Documents for For Retention Date"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunGenerateCaseDocumentTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunGenerateCaseDocumentTaskScenario.java index 36877be6..2dd3cd57 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunGenerateCaseDocumentTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunGenerateCaseDocumentTaskScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunGenerateCaseDocumentTaskScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunGenerateCaseDocumentTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 17 has been ran for Generate Case Documents for closed cases"); + log.info("Automated Tasks 17 has been ran for Generate Case Documents for closed cases"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunInboundAudioDeleterTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunInboundAudioDeleterTaskScenario.java index 36e3dcd9..828732e7 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunInboundAudioDeleterTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunInboundAudioDeleterTaskScenario.java @@ -1,11 +1,14 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunInboundAudioDeleterTaskScenario { @@ -20,7 +23,7 @@ public static ChainBuilder RunInboundAudioDeleterTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 4 has been ran for Inbound Audio Deleter"); + log.info("Automated Tasks 4 has been ran for Inbound Audio Deleter"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunInboundToUnstructuredDataStoreScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunInboundToUnstructuredDataStoreScenario.java index dd03312e..2e7d7236 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunInboundToUnstructuredDataStoreScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunInboundToUnstructuredDataStoreScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunInboundToUnstructuredDataStoreScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunInboundToUnstructuredDataStore() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 6 has been ran for Inbound To Unstructured DataStore"); + log.info("Automated Tasks 6 has been ran for Inbound To Unstructured DataStore"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunOutboundAudioDeleterTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunOutboundAudioDeleterTaskScenario.java index ee29b415..331bb7e1 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunOutboundAudioDeleterTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunOutboundAudioDeleterTaskScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunOutboundAudioDeleterTaskScenario { @@ -21,7 +24,7 @@ public static ChainBuilder RunOutboundAudioDeleterTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 3 has been ran for Outbound Audio Deleter"); + log.info("Automated Tasks 3 has been ran for Outbound Audio Deleter"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessArmResponseFilesTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessArmResponseFilesTaskScenario.java index bb7e1f03..e90f4869 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessArmResponseFilesTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessArmResponseFilesTaskScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunProcessArmResponseFilesTaskScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunProcessArmResponseFilesTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 9 has been ran for Process Arm Response Files Task"); + log.info("Automated Tasks 9 has been ran for Process Arm Response Files Task"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessDETSToArmResponseTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessDETSToArmResponseTaskScenario.java index 1b34ed0e..8212b9b0 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessDETSToArmResponseTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessDETSToArmResponseTaskScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunProcessDETSToArmResponseTaskScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunProcessDETSToArmResponseTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 18 has been ran for Process DETS To Arm Response Task"); + log.info("Automated Tasks 18 has been ran for Process DETS To Arm Response Task"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessE2EArmRpoPendingTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessE2EArmRpoPendingTaskScenario.java index 32d62798..133cbc92 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessE2EArmRpoPendingTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunProcessE2EArmRpoPendingTaskScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunProcessE2EArmRpoPendingTaskScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunProcessE2EArmRpoPendingTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 28 has been ran for Process E2E Arm Rpo Pending Task"); + log.info("Automated Tasks 28 has been ran for Process E2E Arm Rpo Pending Task"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunRemoveDuplicateEventsScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunRemoveDuplicateEventsScenario.java index a25336be..de58379c 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunRemoveDuplicateEventsScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunRemoveDuplicateEventsScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunRemoveDuplicateEventsScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunRemoveDuplicateEvents() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 18 has been ran for Remove Duplicate Events"); + log.info("Automated Tasks 18 has been ran for Remove Duplicate Events"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunUnstructuredAudioDeleterTaskScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunUnstructuredAudioDeleterTaskScenario.java index f778f1b8..9998282d 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunUnstructuredAudioDeleterTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunUnstructuredAudioDeleterTaskScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunUnstructuredAudioDeleterTaskScenario { @@ -22,7 +25,7 @@ public static ChainBuilder RunUnstructuredAudioDeleterTask() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 7 has been ran for Unstructured Audio Deleter"); + log.info("Automated Tasks 7 has been ran for Unstructured Audio Deleter"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunUnstructuredToArmDataStoreScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunUnstructuredToArmDataStoreScenario.java index 8cd57b21..f3ca22a6 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunUnstructuredToArmDataStoreScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsApi/RunUnstructuredToArmDataStoreScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsApi; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class RunUnstructuredToArmDataStoreScenario { @@ -23,7 +26,7 @@ public static ChainBuilder RunUnstructuredToArmDataStore() { .check(status().is(202)) )) .exec(session -> { - System.out.println("Automated Tasks 8 has been ran for Unstructured To Arm DataStore"); + log.info("Automated Tasks 8 has been ran for Unstructured To Arm DataStore"); return session; }); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalAdvanceSearchScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalAdvanceSearchScenario.java index 05f072e6..a78b1265 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalAdvanceSearchScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalAdvanceSearchScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsPortal; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.UserInfoLogger; @@ -8,9 +9,14 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; + +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class DartsPortalAdvanceSearchScenario { - private DartsPortalAdvanceSearchScenario() {} + private DartsPortalAdvanceSearchScenario() { + } public static ChainBuilder DartsPortalAdvanceSearch() { return group("Darts Advance Search") @@ -19,108 +25,120 @@ public static ChainBuilder DartsPortalAdvanceSearch() { .post(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/user/refresh-profile") .headers(Headers.getHeaders(12)) ) - .pause(2, 10) - - // Initialize `caseCount` and `400Count` to 0 before starting the search - .exec(session -> session.set("caseCount", 0)) - .exec(session -> session.set("400Count", 0)) - - .exec(session -> { - String searchRequestPayload = RequestBodyBuilder.buildSearchCaseRequestBody(session); - String email = session.getString("Email"); - System.out.println("Generated search payload: " + searchRequestPayload + " for user: " + email); - return session.set("searchRequestPayload", searchRequestPayload); - }) - - // Retry if caseCount is 0 or if status is 400 - .asLongAs(session -> session.getInt("caseCount") == 0 || session.getInt("status") == 400) - .on( - exec(http("Darts-Portal - Api - Cases - Search") - .post(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/cases/search") - .headers(Headers.getHeaders(9)) - .body(StringBody(session -> session.get("searchRequestPayload"))).asJson() - .check(status().in(200, 400).saveAs("status")) // Allowing 200 and 400 status codes - .check(bodyString().saveAs("responseBody")) // Save the response body - .check(jsonPath("$[*].case_id").count().saveAs("caseCount")) - .check(jsonPath("$[*].case_id").findRandom().optional().saveAs("extractedCaseId")) - .check( - jsonPath("$.type").optional().saveAs("errorType"), // Extract error type if it exists - jsonPath("$.title").optional().saveAs("errorTitle"), // Extract error title if it exists - jsonPath("$.status").optional().saveAs("errorStatus") // Extract error status if it exists - ) - ) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(10)) + + // Initialize `caseCount` and `400Count` to 0 before starting the search + .exec(session -> session.set("caseCount", 0)) + .exec(session -> session.set("400Count", 0)) + .exec(session -> { - if (AppConfig.dynamicCases == true) { - // Set `getCaseId` from the response rather than DB query - String extractedCaseId = session.getString("extractedCaseId"); - session = session.set("getCaseId", extractedCaseId); - } - return session; + String searchRequestPayload = RequestBodyBuilder.buildSearchCaseRequestBody(session); + String email = session.getString("Email"); + log.info("Generated search payload: " + searchRequestPayload + " for user: " + email); + return session.set("searchRequestPayload", searchRequestPayload); }) + + // Retry if caseCount is 0 or if status is 400 + .asLongAs(session -> session.getInt("caseCount") == 0 || session.getInt("status") == 400) + .on( + exec(http("Darts-Portal - Api - Cases - Search") + .post(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/cases/search") + .headers(Headers.getHeaders(9)) + .body(StringBody(session -> session.get("searchRequestPayload"))).asJson() + .check(bodyString().saveAs("responseBody")) // Save the response body + .check(status().in(200, 400).saveAs("status")) // Allowing 200 and 400 status codes + + .check(jsonPath("$[*].case_id").count().saveAs("caseCount")) + .check(jsonPath("$[*].case_id").findRandom().optional().saveAs("extractedCaseId")) + .check( + jsonPath("$.type").optional().saveAs("errorType"), // Extract error type if it exists + jsonPath("$.title").optional().saveAs("errorTitle"), + // Extract error title if it exists + jsonPath("$.status").optional().saveAs("errorStatus") + // Extract error status if it exists + ) + ) + .exec(session -> { + if (AppConfig.dynamicCases == true) { + // Set `getCaseId` from the response rather than DB query + String extractedCaseId = session.getString("extractedCaseId"); + session = session.set("getCaseId", extractedCaseId); + } + return session; + }) + .exec(session -> { + int caseCount = session.getInt("caseCount"); + String email = session.getString("Email"); + int statusCode = session.getInt("status"); + + log.info("Search completed. caseCount: " + caseCount + " for user: " + email); + + // Handle the 400 status code + if (statusCode == 400) { + String responseBody = session.getString("responseBody"); + log.info("400 Bad Request encountered. Response: " + responseBody + " for user: " + + email); + + // Increment 400 count + int currentCount400 = session.getInt("400Count"); + session.set("400Count", currentCount400 + 1); + + // Retry with a new search payload + log.info("Retrying after 400 error..."); + String newSearchPayload = RequestBodyBuilder.buildSearchCaseRequestBody(session); + log.info("Retrying with new payload after 400: " + newSearchPayload + " for user: " + + email); + return session.set("searchRequestPayload", newSearchPayload); + } + + // If no cases are found, retry with a new search payload + if (caseCount == 0) { + log.info("Empty response received from advanced search. Retrying..."); + String searchPayload = RequestBodyBuilder.buildSearchCaseRequestBody(session); + log.info( + "Retrying advanced search with new payload: " + searchPayload + " for user: " + + email); + return session.set("searchRequestPayload", searchPayload); + } + + log.info( + "Response received, for advance search. Proceeding with caseCount: " + caseCount + + " for user: " + email); + return session; + }) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) + .exec(session -> { + int statusCode = session.getInt("status"); + String email = session.getString("Email"); + if (statusCode == 502 || statusCode == 504) { + log.info( + "Received error status code: " + statusCode + ". Marking as failed." + email + + " Darts-Portal - Api - Cases - Search"); + session = + session.markAsFailed(); // Mark as failed to trigger logging in UserInfoLogger + } + return session; + }) + ) + .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Cases - Search")) + .exec(session -> { - int caseCount = session.getInt("caseCount"); - String email = session.getString("Email"); - int statusCode = session.getInt("status"); - - System.out.println("Search completed. caseCount: " + caseCount + " for user: " + email); - - // Handle the 400 status code - if (statusCode == 400) { - String responseBody = session.getString("responseBody"); - System.out.println("400 Bad Request encountered. Response: " + responseBody + " for user: " + email); - - // Increment 400 count - int currentCount400 = session.getInt("400Count"); - session.set("400Count", currentCount400 + 1); - - // Retry with a new search payload - System.out.println("Retrying after 400 error..."); - String newSearchPayload = RequestBodyBuilder.buildSearchCaseRequestBody(session); - System.out.println("Retrying with new payload after 400: " + newSearchPayload + " for user: " + email); - return session.set("searchRequestPayload", newSearchPayload); - } - - // If no cases are found, retry with a new search payload - if (caseCount == 0) { - System.out.println("Empty response received from advanced search. Retrying..."); - String searchPayload = RequestBodyBuilder.buildSearchCaseRequestBody(session); - System.out.println("Retrying advanced search with new payload: " + searchPayload + " for user: " + email); - return session.set("searchRequestPayload", searchPayload); - } - - System.out.println("Response received, for advance search. Proceeding with caseCount: " + caseCount + " for user: " + email); + // Log non-empty response + log.info("Response received, for advance search."); return session; }) - .pause(2, 5) .exec(session -> { - int statusCode = session.getInt("status"); + Object getextractedCaseId = session.get("extractedCaseId"); String email = session.getString("Email"); - if (statusCode == 502 || statusCode == 504) { - System.out.println("Received error status code: " + statusCode + ". Marking as failed." + email + " Darts-Portal - Api - Cases - Search"); - session = session.markAsFailed(); // Mark as failed to trigger logging in UserInfoLogger + + if (getextractedCaseId != null) { + log.info("getCaseId: " + getextractedCaseId.toString() + " for user: " + email); + } else { + log.info("No Case Id value saved using saveAs."); } return session; }) - ) - .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Cases - Search")) - - .exec(session -> { - // Log non-empty response - System.out.println("Response received, for advance search."); - return session; - }) - .exec(session -> { - Object getextractedCaseId = session.get("extractedCaseId"); - String email = session.getString("Email"); - - if (getextractedCaseId != null) { - System.out.println("getCaseId: " + getextractedCaseId.toString() + " for user: " + email); - } else { - System.out.println("No Case Id value saved using saveAs."); - } - return session; - }) ); - } - + } + } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalApproveAudioScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalApproveAudioScenario.java index c8c00df4..ede32907 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalApproveAudioScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalApproveAudioScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsPortal; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.UserInfoLogger; @@ -10,6 +11,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class DartsPortalApproveAudioScenario { private DartsPortalApproveAudioScenario() {} @@ -44,9 +48,9 @@ public static ChainBuilder DartsPortalApproveAudio() { Object getHearingId = session.get("getHearingId"); Object getTranscriptionId = session.get("getTranscriptionId"); if (getTranscriptionId != null) { - System.out.println("getTranscriptionId: " + getTranscriptionId.toString() + " For user: " + email +" Case Id: " + getCaseId + " Hearing Id: " + getHearingId); + log.info("getTranscriptionId: " + getTranscriptionId.toString() + " For user: " + email +" Case Id: " + getCaseId + " Hearing Id: " + getHearingId); } else { - System.out.println("No Transcription Id value saved using saveAs (Issue with $.approver_transcriptions[*].transcription_id). For user: " + email +"Case Id: " + getCaseId + " Hearing Id: " + getHearingId); + log.info("No Transcription Id value saved using saveAs (Issue with $.approver_transcriptions[*].transcription_id). For user: " + email +"Case Id: " + getCaseId + " Hearing Id: " + getHearingId); } return session; }) @@ -62,7 +66,7 @@ public static ChainBuilder DartsPortalApproveAudio() { ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Transcriptions - Urgencies")) - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) @@ -78,7 +82,7 @@ public static ChainBuilder DartsPortalApproveAudio() { ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Transcriptions - Id")) - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec(session -> { String xmlPayload = RequestBodyBuilder.buildTranscriptionApprovalRequestBody(session); return session.set("xmlPayload", xmlPayload); diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalChangeRetentionScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalChangeRetentionScenario.java index ac1a6c80..7ec3a9d7 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalChangeRetentionScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalChangeRetentionScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsPortal; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.UserInfoLogger; @@ -11,6 +12,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class DartsPortalChangeRetentionScenario { private DartsPortalChangeRetentionScenario() {} @@ -27,7 +31,7 @@ public static ChainBuilder DartsPortalChangeRetention() { String xmlPayload = RequestBodyBuilder.buildSearchCaseRequestBody(session); return session.set("xmlPayload", xmlPayload); }) - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) // Initialize `caseCount` to 0 before starting the search .exec(session -> session.set("caseCount", 0)) @@ -53,7 +57,7 @@ public static ChainBuilder DartsPortalChangeRetention() { if (caseCount == 0) { // Handle empty response - System.out.println("Empty response received. Marking as passed and retrying... User:" + email); + log.info("Empty response received. Marking as passed and retrying... User:" + email); String searchPayload = RequestBodyBuilder.buildSearchCaseRequestBody(session); return session.set("searchRequestPayload", searchPayload).markAsSucceeded(); } else { @@ -71,13 +75,13 @@ public static ChainBuilder DartsPortalChangeRetention() { .exec(session -> { // Log non-empty response - System.out.println("Response received."); + log.info("Response received."); return session; }) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Cases - Search")) .exitHereIfFailed() - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) @@ -86,9 +90,9 @@ public static ChainBuilder DartsPortalChangeRetention() { .exec(session -> { Object getCaseId = session.get("getCaseId"); if (getCaseId != null) { - // System.out.println("getCaseId: " + getCaseId.toString()); + // log.info("getCaseId: " + getCaseId.toString()); } else { - System.out.println("No Case Id value saved using saveAs."); + log.info("No Case Id value saved using saveAs."); } return session; } @@ -120,7 +124,7 @@ public static ChainBuilder DartsPortalChangeRetention() { ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Cases - #{getCaseId} - Transcripts")) - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) @@ -166,7 +170,7 @@ public static ChainBuilder DartsPortalChangeRetention() { ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Retentions - Case_id")) - .pause(5, 10) + .pause(Util.getDurationFromSeconds(5), Util.getDurationFromSeconds(10)) .exec (session -> { String xmlPayload = RequestBodyBuilder.buildChangeRetentionsBody(session); @@ -182,7 +186,7 @@ public static ChainBuilder DartsPortalChangeRetention() { ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Retentions - Validate_only")) - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Api - Retentions") .post(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/retentions") diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalDeleteAudioRequestScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalDeleteAudioRequestScenario.java index d71c0903..c4c5637b 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalDeleteAudioRequestScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalDeleteAudioRequestScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsPortal; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.UserInfoLogger; @@ -10,7 +11,10 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class DartsPortalDeleteAudioRequestScenario { private DartsPortalDeleteAudioRequestScenario() {} @@ -84,13 +88,13 @@ public static ChainBuilder DartsPortalDeleteAudioRequest() { session = session.set("getRequestType", selectedRequestType); // Print the IDs - //System.out.println("getTransformedMediaId: " + selectedTransformedMediaId); - //System.out.println("getCaseId: " + selectedCaseId); - //System.out.println("getHearingId: " + selectedHearingId); - //System.out.println("getRequestType: " + selectedRequestType); + //log.info("getTransformedMediaId: " + selectedTransformedMediaId); + //log.info("getCaseId: " + selectedCaseId); + //log.info("getHearingId: " + selectedHearingId); + //log.info("getRequestType: " + selectedRequestType); } else { - System.out.println("No IDs found in the response."); + log.info("No IDs found in the response."); } return session; @@ -99,7 +103,7 @@ public static ChainBuilder DartsPortalDeleteAudioRequest() { // Log detailed error message .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Audio-Requests - V2 - Expired - False")) - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) @@ -134,10 +138,10 @@ public static ChainBuilder DartsPortalDeleteAudioRequest() { String errorTitle = session.getString("errorTitle"); int errorStatus = session.getInt("errorStatus"); - System.out.println("Received 403 Conflict. Details:"); - System.out.println("Type: " + errorType); - System.out.println("Title: " + errorTitle); - System.out.println("Status: " + errorStatus); + log.info("Received 403 Conflict. Details:"); + log.info("Type: " + errorType); + log.info("Title: " + errorTitle); + log.info("Status: " + errorStatus); // Mark the session as a failure. return session.markAsFailed(); @@ -222,7 +226,7 @@ public static ChainBuilder DartsPortalDeleteAudioRequest() { ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Transcriptions - Transcriber-Counts")) - .pause(5, 10) + .pause(Util.getDurationFromSeconds(5), Util.getDurationFromSeconds(10)) .exec( http("Darts-Portal - Api - Audio-Requests - Transformed_Media - Delete") .delete(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/audio-requests/transformed_media/#{getTransformedMediaId}") @@ -244,15 +248,15 @@ public static ChainBuilder DartsPortalDeleteAudioRequest() { String errorTitle = session.getString("errorTitle"); int errorStatus = session.getInt("errorStatus"); - System.out.println("Received 403 Conflict. Details:"); - System.out.println("Type: " + errorType); - System.out.println("Title: " + errorTitle); - System.out.println("Status: " + errorStatus); + log.info("Received 403 Conflict. Details:"); + log.info("Type: " + errorType); + log.info("Title: " + errorTitle); + log.info("Status: " + errorStatus); // Mark the session as failure. return session.markAsFailed(); } else { - System.out.println("Deleted TransformedMediaId: " + transformedMediaId + " from user " + email); + log.info("Deleted TransformedMediaId: " + transformedMediaId + " from user " + email); return session; } }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalExternalLoginScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalExternalLoginScenario.java index 93059c61..d42b4251 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalExternalLoginScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalExternalLoginScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsPortal; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; @@ -9,6 +10,10 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; + +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class DartsPortalExternalLoginScenario { private DartsPortalExternalLoginScenario() {} @@ -38,7 +43,7 @@ public static ChainBuilder DartsPortalExternalLoginRequest() { .exitHereIfFailed() .exec(session -> { Object stateProperties = session.get("stateProperties"); - System.out.println("Extracted StateProperties: " + stateProperties); + log.info("Extracted StateProperties: " + stateProperties); return session; }) .exec( @@ -53,7 +58,7 @@ public static ChainBuilder DartsPortalExternalLoginRequest() { // return session.set("xmlPayload", xmlPayload); // }) .exitHereIfFailed() - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("B2C_1_darts_externaluser_signin - Client - Perftrace") .post(AppConfig.EnvironmentURL.DARTS_PORTAL_SIGNIN.getUrl() + "/client/perftrace?tx=StateProperties=#{stateProperties}&p=B2C_1_darts_externaluser_signin") @@ -67,9 +72,9 @@ public static ChainBuilder DartsPortalExternalLoginRequest() { String email = session.getString("Email"); String password = session.getString("Password"); String userName = session.getString("user_name"); - System.out.println("Email: " + email); - System.out.println("Password: " + password); - System.out.println("User Name: " + userName); + log.info("Email: " + email); + log.info("Password: " + password); + log.info("User Name: " + userName); return session; }) .exec(UserInfoLogger.logDetailedErrorMessage("B2C_1_darts_externaluser_signin - SelfAsserted")) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalExternalLogoutScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalExternalLogoutScenario.java index 9b1c28bc..9b0b7084 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalExternalLogoutScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalExternalLogoutScenario.java @@ -7,6 +7,7 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; public final class DartsPortalExternalLogoutScenario { diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalInternalLoginScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalInternalLoginScenario.java index 892600c7..509fdfb0 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalInternalLoginScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalInternalLoginScenario.java @@ -1,6 +1,7 @@ package simulations.Scripts.Scenario.DartsPortal; import io.gatling.javaapi.core.ChainBuilder; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.RequestBodyBuilder.RequestBodyBuilder; import simulations.Scripts.Utilities.AppConfig; @@ -10,6 +11,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class DartsPortalInternalLoginScenario { private DartsPortalInternalLoginScenario() {} @@ -35,8 +39,19 @@ public static ChainBuilder DartsPortalInternalLoginRequest() { .exitHereIfFailed() ///This Gets changed and causes internal users to fail log in. If this happens manually go into the portal with 1 user and grab it from the cookies. - .exec(addCookie(Cookie("brcap", "0; MicrosoftApplicationsTelemetryDeviceId=cdc9ea8a-5a9c-45e1-830b-295ed79e94f0; ESTSSSOTILES=1; AADSSOTILES=1; MSFPC=GUID=3cf27633ddc2408d81f8de91dc12c921&HASH=3cf2&LV=202403&V=4&LU=1711447933369; x-ms-gateway-slice=estsfd; stsservicecookie=estsfd; AADSSO=NA|NoExtension; esctx-oRnXUGi6fLA=AQABCQEAAABVrSpeuWamRam2jAF1XRQEBlHxM-V7QmA40AymJxpGE8Af_OMrwnBcgpHW9mAH7riurc1ckhKhTim8XowaCHL6DnKr2wmJYQrzaq6NNFXn5cTpA0l3PPN-O3JuM1E2IBBfWkIOOICuUwizsL3enpOQQfg9wuKpHEt_D7DmVX0StCAA; esctx-hasNv3N71JE=AQABCQEAAABVrSpeuWamRam2jAF1XRQEWbzPSHJc0XtRTD5fZFKb8-zI8lpLV2KlDSbgpuSAdvyoN_haw-Ic1Zjk9EpnM90xYQ6re_fBpdk0kPnePq4r1xmFFZ8wVbKEHf8Qxh7NDY1f6Y6YMZkwTBAKBXo0x2NS2Zsh-K-z1zpLAWgvgzyVgSAA; esctx-FIGhrvsiQdU=AQABCQEAAABVrSpeuWamRam2jAF1XRQEia8fvUSx1a6d2IhZ-0XlTRxdr1nmpZgZSw-n-7GqTnAjW58WgL9UCgP_wbIu4UxUyJb76x1mJNKeklpt5dcKBbDTvqvFa8xA8j3LksZ4K8MVwN5B1LoXic5Y4_8qMgVrJ2Fxs_5uWSftx9UARttmGyAA; esctx-omnYSPHNiMs=AQABCQEAAABVrSpeuWamRam2jAF1XRQEcoJPKw3U1zpYsYHNMXmEFx-d3GGPneOYTxtzMKYtqmniM_YhNfuYGK-m0OftS8kbjrbXk_N-An4oUXUGaIvl8XYyBUIdmtu_z_mIjEI5Si2TEsnO0RhdqML4mcyADiJki7jilzrdpOEsE3GoYZxjCCAA; esctx-ssSmZ6cB9zs=AQABCQEAAABVrSpeuWamRam2jAF1XRQE7GVoR_Yo6gNpwfsWrKYVtKPlE0wcc1JsFtTaZuAen0ztALKtKRqwzkMXFh4VsNqPKtRKBM95HHLApL4t4ZSR74tELxg_HybeKNf314yXIFLUIfR5WIeGRfKKZvbgkD6ZtdUh_c2i42cb1L_44nKV1yAA; esctx-MAgm3FzOXs=AQABCQEAAABVrSpeuWamRam2jAF1XRQEYDBDWCzI1iHwMWZGI03vSuSIh6gy6rjPTsESEBwZ_LE05Wq-QzCrCm1jmpOwcsP1w7R9fTCqihOcY_o_AWhOI7WhYUotsCImku21yUN247bVr0DjJdK6DugwAKqYXEDoAfNcD83vehCmrItND9nqbiAA; esctx-nVuH0Xm0KQs=AQABCQEAAABVrSpeuWamRam2jAF1XRQEVXZXYRGhGeck792YOJvq7to82GRtckdygoysCgFlASOiSjIy441LjYf1MzFhgIcQuyrma2RGOJJATVo2tRqFSyKk22HmROqalW7ht4vx4UIzpmtWMTPW_-jkMGJuGjoJq_P7_zbQVtOp1JeD1xqWziAA; esctx-zqT2itgiPyA=AQABCQEAAABVrSpeuWamRam2jAF1XRQEwfkxa-plO7PLUsAEMwIUhv-ILsXaU3I5OItjdrAC24B4o39GBxfK1iMqUy2-lGsry1-BJ2ktKtqbNISQ744tDrYx_1OWyTF8QRJCqaEGGVH_Su204S4f6-Swp8fo2ofRQcc1tq9xZ9vm1vltDSuAsyAA; esctx-dxarhphnaNw=AQABCQEAAABVrSpeuWamRam2jAF1XRQExTeQv5eU0Fy4N1v4TxiUN-Nkzn3nUabVvTQST_OS7fWf7Jv5poUaUbQA1nkvdcrou3-qT96VL54asYvenrQzo8O05rE65BvVsdVv6ZLoHImrnm2WGbzKu0NQFkzdVIt1BJ-c-Phq7CopqKnEBnntqyAA; wlidperf=FR=L&ST=1741949868380; esctx=PAQABBwEAAABVrSpeuWamRam2jAF1XRQEqcxX-UMVOR4m0XLT9jhrs4RrH3FUlDhfDGot_sq7LFQLoHFxcP32240HU9sPC2MxfoTcHxwwupwB7V4ELIWcfqaJ2dqh4Gf_HREOBWRU5sl_iOaSS_oMOOBhuzROFHB4FwQyUg7IFuzw3bSXcDLPSshZsMVJ5KQsYBj_C0EcyCMgAA; esctx-0eY2VlhFWAs=AQABCQEAAABVrSpeuWamRam2jAF1XRQE5amQbSct3--kG3c7XyRlog0--Gr05exV11XTgSJkA7MeVgPG46Q_mpi7yICWXOmSspo18q7oxZb78wKk61fIBM0RC4pgfbJzx6s57qtVJe04AnDcSoXofcZjovy6TYn1tzOQZ3p6uF3HdPbn_PZvBiAA; CCState=Q3JZQkNoZGhjMmhzWlhrdVkyOXZjR1Z5UUdodFkzUnpMbTVsZEJJQkFTSUpDWUFDUmRXek05eElLZ2tKREp3MklwOW4zVWd5S2dvU0NoRDhwTzRIV1ZhU1NaQTNFQUxVSzZJRkVna0p0VCs5V3Y1aTNVZ2FDUW02YkdpT28yRGRTRElxQ2hJS0VJTkFTOFN3TzhGSnRIMlhUbFBMM3p3U0NRbjRFN04zZFdUZFNCb0pDWkdGVnFzYVl0MUlPQUJJQUZJU0NoQnQrUjlUNlFvcVJvMHR2c2ZBdENDQ1doSUtFRDdiRDFva1laWkpyc2Y0NXFVelhJb1NFZ29RRU00VEREVFdyMGFsdEwrdVZ0bnFVaG9KQ1pHRlZxc2FZdDFJTW40Q0FBRWZBUUFBQUZXdEtsNjVacVpGcWJhTUFYVmRGQVFEQU96L0JRRDAvd3RWSTNLeDRCZHdqbXlNQ0srdUthZVJlUDFMdmVxNzdmbzRWZkt6VHg5OWlpK1BIY1FYcllUbVJrVTl0Mzc2WHdmVTU4QWF0TkYvcVhhclBnNTlrZysvT0xmdnVoa2VSRjlPYm9qYURJOFJreVRoM09DVHFsaytxYkw4Z3JRPQ==; fpc=AmYGlHXwPXpIrnlKfA4l2Hc; SignInStateCookie=CAgABFgIAAABVrSpeuWamRam2jAF1XRQEAwDs_wUA9P9DgOTxiKhyIuA7JVyeoo-BSc_xUSY33_0NMeWwtVcJZ5RTR_d-jMUV5CwqZ8JzuyDrO8cKemGdDucm8LCecZ0OD47KGVvr0YHyQTlViPEymCOVejz-8t0tjc6Nx7169eMQNQNELuQPkll2rfIqMx2jvYtcUMrXb2jckmmTTFvFdEe3ty8U7PogzNmn2cFje74CbwvWJki4d6mOQS2p6_qeccYIwkKSqRsOxVCib6MThdrbx0yVsU741EEdFnv508zOud9ArvcbZIfLlYBVP5QzSuw2KbDRtgBfPX53lhPHK6NlVADLiRDdFaZ6raRx8AyWCYCHExEt2nanIShOYHSS-IYNPuxPjxm63f6C3iqMO0m9bz8vXpTzS-Z6pSdlal2Md6957lHBdpCQLyoGF8HRMi1Ah9iyNC9tzKBYv9olqFAEVe8P6y7c1iMcEN4OQwsoJEC5pC_1Fex1cOMEsSgxDp6Rp0zisAyCq3-u4WyeLHPqMPLOL1kx70SWw5uPxzFolN6dVgjZBBiWOz6KzBIhczlXn2GjlkFgpXnpls9t7TTDgMnl07CblVS6KqVVZsrXE-25MDTEydVa90AK_rcZDwfuI1xgkdhLC8PaX6H455vCyYudxw2-H9CxnCztzv74AQwcxY1MjsL-hDFitpBPWKwgCvkgp8rftZrLxHM0nGyUfYZGTAnReY6s4XVuTKqwFi7VplJ3V5dbFAufH1Uy_H2CscDDUtwpQNSqDIoPKiUVywPgB4TEQW-8U_sgVpLvrj4cawJx7zt3FR1oDyMwb3kyoNXVIoXTeTNCFDGQBLAN7lQKn3vi6i8NjvvQEA3boZBESXhB3yWEySZF4KtVGqHc3g; ESTSAUTHPERSISTENT=1.ATsAY_Z15QqzhkeJrTGYQt_oU0oNk22s_s5BjQilufY_mYAgAOM7AA.AgABFwQAAABVrSpeuWamRam2jAF1XRQEAwDs_wUA9P_y_wNORBihe4Mlc26BssIMgbFDLfuPXr0sBcjYsgQXuuRLFCJ6M3aeKTFCPL7HWqBGPrBhrXgN52gZaMjfgzxU0lJHdQL20lgLu__frsllYx_vHgQjkkMLE_nbarjaAVPo5bwSwLwBUdODeV9G7iTboSgWxzS3bBBC9B-cZ5FJ8iwraA_3VlIZ4Sk-lDh4OxBcjIkFTDnHXr2PPNsCSf4mOS_MFle-4tfBsc5ZKutwZi_ueE8WWMjl597Dv_TMg0ogeFIUmlPShfgd-CAdgogOGNEBADbtIBMWli7WjXkQeMZqcnduVVzzxVX4UpFKeR3OY9BUsBqphiBtT57eRJvg35PWkY32AGL_c7Iam7lPDxLczKolMmsd89DOrGjdkbzoe5ztrHx80vo2yXt0qms2XflfL7xwcmBGarLri9FZx9E0PDgKEZtmoSGuOO4S11rAiHo0qMV3Jrb-5vbGCG57GfDfD99TuBxZFYP4UnikNpI146BVoE9fs0JM2bLnr0i0eRzCsGm6YJVcKUWuTd7v09NEJ7FpH8UyASRxlPgsPa_F0tLHCHHIsjSd7evl_2EdNnEZFmMYMZf0l-kWRxTji2m8HxJ9WCFJ8Bp7g4f2FdzCBCHruGKWcHRE9CZj7kqY0Ce7Yzli5jsmmorHozRgvKTn2ly2tfbPHaHrQgR86BVk1p2hgbkfodXTKT0kzlleJox__8oIW5d-IcEdsh-fOKJChZSmnmNqB6t-ZxqcCRMPw8JNjJBeqV1vd-4XSZG8aupvt0w6Cr16pq8RaMl6GmnoIsqMc8Q51ry3bVRdqGF_UONh18wvJXAVCm0UrEuIUjF9JgVdLySgdejDrQAyNNiDZGsiPolrEkPlQCHne1CngYkhkaiWULCCFiq9ySE6xnq4BR_rf3E_cL5OYKpZM5AGel1KVdJ7MuhWdl2kdWDM3g2nxgw-xTxzWCA0HnfE_VE9mmf6lEQ8fSSRJvIdT8LFaTao0ROHPffLjp6DxMKcKWiMwOWQKvHYDZQh1dyqjIABKyW_tPA5LzdmUc4U8D4ujM9JIvjEyzjpdpGGvN5akOQXWY2hYMp-mbXBzOXz_waTbtlLHEaZWJBs_neAVBIqPgpWdm8Xev93dWt5VE8n0jRetvgTAPH-QuScMpLt_809LoM77jnmCtM0BZTe6jZmUGAiolp4_8Gi9UUCaQCkDO8Ohsx9Ib-Eq5c53vVsOrS5AjYg_cZa9n3OZ49346AHkDb9zxpFbuNiRYMzsdghuZhdVPL1hAy_olGn0AxlLId91U9T63iWPUtWPA2TwfLhUacoM1ytO231bOAOLSaPfDd9zb3eV1WgZE14zxpa3lnXWWbKwmM-K8HoD3HokzXblfVZODlz5bw4D0qR9EEtgQEKH1Zb8XkPbf_tPSjtM-h5jZVjyO7VLpRFKHynR22yW8oqFH-eTN_RwYVSCNtxf-j2ZAvr1NYwrb8STB_MW9mbMh7_5bJ_QTKW74xMP-dRqa32Kt_k0Nd0_9A5XbyN-WnXPfxcRKSLnwRgzKiD8woSO-DITEmcKX_2RADzfUYSmMG28UZp0MG5AS_0d9NyMIsRKUDqoD_lty83CHEoz8tOmhKZzQypNB5X-STbDE3zwIyFa2ZfB1OTnYCuyyu1P1BXwlBtipNuxDWBZ-4DbTkf_CvQkxXCbKs9MV-e_0Coqmvl4mQ3pyLRyWG2FUJk1p-Dx7Fhw7tqZ7eehTIEzq6QYC7GGddjekKVvQNyg5g2MuVQGCalkhIG1w74VXIUoaqNwk9WDw; ESTSAUTH=1.ATsAY_Z15QqzhkeJrTGYQt_oU0oNk22s_s5BjQilufY_mYAgAOM7AA.AgABFwQAAABVrSpeuWamRam2jAF1XRQEAwDs_wUA9P9FmU7RHTZMsAlbTxifsquHNXOkGAW8yTuhV5-umrKwXusf4pW0P9TE_mDE58D1uTnCDsiyf0D-Sg; ESTSAUTHLIGHT=+b49609ec-70ae-4270-9f5e-d3c2ae22bcc4+a07a7602-1e09-45d8-b18b-e937f7e92587; buid=1.ATsAY_Z15QqzhkeJrTGYQt_oU0oNk22s_s5BjQilufY_mYAgAOM7AA.AQABGgEAAABVrSpeuWamRam2jAF1XRQEeH9fy86RYv9Qa8ZHYHaYrOYpWFaCl9ovbrGRTvuKcTdS83iIfW9X6-xHOQLnnaur31jjUQAXrKjuManw6UOEfikFaDBK-XIso8-E2rVHzbTzMhCnw1x8PZOLgCvU2F1-NM293PqELHRekz7pM271UHxnAAoYbWfdliycctwAtQogAA; ai_session=zgodk4MY6mSgJgKhsZAhnL|1741952704175|1741952704175"))) - + .exec( + addCookie(Cookie("brcap", + "0; " + + "MicrosoftApplicationsTelemetryDeviceId=47678720-1774-4ebc-a900-ba48cc6ddc32; " + + "ESTSSSOTILES=1; " + + "AADSSOTILES=1; " + + "MSFPC=GUID=3eb0c7bd1f474492906bee53a7f9f0a3&HASH=3eb0&LV=202309&V=4&LU=1694096158878; " + + "x-ms-gateway-slice=estsfd; " + + "stsservicecookie=estsfd; " + + "AADSSO=NA|NoExtension; " + + "CCState=Q3VFQkNoWnpkR1Z3YUdWdUxtOXJaV1ZtWlVCaloya3VZMjl0RWdFQklna0pnTkZKTzQ1OTNVZ3FDUW1oOTZsa0c3dmRTRElxQ2hJS0VOSlpwY21yZWhOUHB1M242Y1VxN0ljU0NRbGcxZWVJbXJYZFNCb0pDZVYzaUx3L3M5MUlNaW9LRWdvUXJJU2JTU0VUZjBLcUZ5WjhwcGRYbUJJSkNjYXNvaitBdHQxSUdna0pBeFJIY3lXMDNVZ3lLZ29TQ2hCa09KamRIUXM5U28wZmFKOUhqczZpRWdrSm9qVzFDNFMyM1VnYUNRbWhXbFUvS2JUZFNEZ0FTQUZTRWdvUWpNYit1UzNKSGthYWx6MERvUEdMZ2xvU0NoQ0tpbllJNThGSVQ1Smo5S1RJVHZtZENvc0JDaGh6ZEdWd2FHVnVMbTlyWldWbVpVQm9iV04wY3k1dVpYUVNBUUVpQ1FrQTN5V3pmU0hjU0NvSkNhQzExNXhTdk4xSU1pb0tFZ29RL0tUdUIxbFdra21RTnhBQzFDdWlCUklKQ1F0SGlzRFJ0dDFJR2drSnNEVzI5SGEwM1VnNEFVZ0FVaElLRUczNUgxUHBDaXBHalMyK3g4QzBJSUphRWdvUUJhVmt6emE0SkVtZ3ExR2JEWDVRdFJJU0NoQnBSVm5jbnR5WlRLeSt0RHBYMXVTeEdna0oxak8yOUhhMDNVZ3lwQUVDQUFFZkFRQUFBRld0S2w2NVpxWkZxYmFNQVhWZEZBUURBT3ovQlFEMC8vL2RBZlpaOEJWZ0dTK3lnZis2ajF3TmJnb0FyanR0akFpQko3d0pXOHlDOVIxUFo0SWxQamxXQnA0eGRkUEJzcjRaZFExcXVPWXU4bHNPMDJsbWJoTWh6RXJxZ1o5NFVEVFN5Qi91anNjUmIwUDFpYjllTDR4M2s3cEZydjdZM21ZK1hSYVBKa1ZrKzVUaEZDS2YvQTlTVWFZMzdGRUJaRFFLa1dRRlFIZVdHSERWWHc9PQ==" + )) + ) .exec(http("Darts-Portal - Auth - Internal - Login") @@ -45,12 +60,13 @@ public static ChainBuilder DartsPortalInternalLoginRequest() { .check(regex("(?s).*\"sessionId\":\"([^\"]+)\".*").findRandom().saveAs("sessionId")) .check(regex("(?s).*client-request-id=([a-fA-F0-9-]+).*").findRandom().optional().saveAs("clientRequestId")) .check(regex("(?s).*\"sCtx\":\"([^\"]+)\".*").findRandom().optional().saveAs("sCtx")) - .check(regex("(?s).*\"FlowToken\":\"([^\"]+)\".*").findRandom().optional().saveAs("flowToken")) + .check(regex("(?s).*\"sFT\":\"([^\"]+)\".*").findRandom().optional().saveAs("flowToken")) .check(regex("(?s).*\"canary\":\"([^\"]+)\".*").findRandom().optional().saveAs("canary")) .check(status().is(200)) .check(status().saveAs("status")) ) - .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Auth - Internal - Login")) + + .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Auth - Internal - Login")) .exitHereIfFailed() .exec(session -> { @@ -58,21 +74,28 @@ public static ChainBuilder DartsPortalInternalLoginRequest() { String clientRequestId = session.getString("clientRequestId"); String sCtx = session.getString("sCtx"); String email = session.getString("Email"); + String flowToken = session.getString("flowToken"); if (sessionId != null) { - System.out.println("Session ID: " + sessionId); + log.info("Session ID: " + sessionId); if (clientRequestId != null) { - System.out.println("Client Request ID: " + clientRequestId); + log.info("Client Request ID: " + clientRequestId); } else { - System.out.println("Client Request ID not found in response."); + log.info("Client Request ID not found in response."); } if (sCtx != null) { - System.out.println("sCtx: " + sCtx); + log.info("sCtx: " + sCtx); + } + else { + log.info("sCtx not found in response. User:" + email); + } + if (flowToken != null) { + log.info("Flow Token: " + flowToken); } else { - System.out.println("sCtx not found in response. User:" + email); + log.info("Flow Token not found in response."); } } else { - System.out.println("No value saved for sessionId using saveAs."); + log.info("No value saved for sessionId using saveAs."); } return session; }) @@ -86,14 +109,26 @@ public static ChainBuilder DartsPortalInternalLoginRequest() { .body(StringBody("#{xmlPayload}")).asJson() .check(status().is(200)) .check(status().saveAs("status")) + .check(bodyString().saveAs("responseBody")) ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Login Microsoftonline - Common - GetCredentialType")) .exitHereIfFailed() - .pause(2, 10) - - .exec(addCookie(Cookie("brcap", "0; MicrosoftApplicationsTelemetryDeviceId=cdc9ea8a-5a9c-45e1-830b-295ed79e94f0; ESTSSSOTILES=1; AADSSOTILES=1; MSFPC=GUID=3cf27633ddc2408d81f8de91dc12c921&HASH=3cf2&LV=202403&V=4&LU=1711447933369; x-ms-gateway-slice=estsfd; stsservicecookie=estsfd; AADSSO=NA|NoExtension; esctx-ksEB7mZsv1w=AQABCQEAAABVrSpeuWamRam2jAF1XRQERyMt-u8KWqV-5qwikKFhMaAdtloJFfqYFxyuNSMIjilv10w0vjf6s6hkqoBm_ishw9HZtpl7RwTKJj8bxSkBz18mC9YaJYWYyvFp9PmS2WupTlhWuMt607raDOjzQkoOB_rrbbdJT6kWhJLZQNxIpiAA; esctx-fbpyCOkRqMo=AQABCQEAAABVrSpeuWamRam2jAF1XRQEAgfVB-SCFuNNn5UnVBhcBktZNGxEjLcRWu9auDwWa4opkZ0odrb2lXM5AnruJwy0RI1EtyZR2KQsXk9OICFMWLu83ERgF__ToQy-A4yWRFgXMIfqU4EN7RHpLNiBc6zT742X0vlaaIYWPpZrbYD9qCAA; esctx-L1obyvOmMQM=AQABCQEAAABVrSpeuWamRam2jAF1XRQEucY9hpFSauX61ZFzkpDhS2gLcb0CY0vsbBG8K8vG_aNPnDm3Kvw0TdZ0OeBTYH0LfzZmk0xb3ujn4Utbb3cbtB2sDnQASQtnOCUw1IKf2zZfsimDQ0yIlaGPaySziwy2GvG9zly4h6QX2gxvqlm8fiAA; esctx-FSjbM953wI4=AQABCQEAAABVrSpeuWamRam2jAF1XRQEpNoVDe_vCeNKC98ADdWteht4P0UXO5Wmip67ixXI1FgISW5eK94i1qeeTGPq3KHPEwbUbuQ97ME9ZauIJ14L1U4fDdoUuspxSS7-2uCaJCKdouteg1dDqB2RD_f9rCBhb7h4nVXerF2jTag0aFAAKCAA; esctx-FGCTNJ6KEI=AQABCQEAAABVrSpeuWamRam2jAF1XRQE1_B1Wc5Nt4fXl2NbUsS85s6KjN9f1Y460qtEETocZko4VQ0UX3ZHSK9m9qL-VJOunvqoqm-Ftgo-IBTnbMwGdhOAcPkX_BC0rOBIY_5rBWvi4kIRuWpT0UGgHRUu6akzWEBUxz2uiCA7vQYHu60c0yAA; esctx-1ddUxnqpVQ=AQABCQEAAABVrSpeuWamRam2jAF1XRQEww429I44P3LOTn_xk_KAUjtDQjH3awIVm4LLpexqYsVtC8G8q6Z4OOLs_xqhOPJ2JP4o3mkZAekZBvBfINYQgCM2tbeSHwa2LGwO8SKww_ZQJ9Gi7xDEA3x-1L4T0gn4Ljo7AxLrc8PcVBvMm8oCeCAA; esctx-k9tr9nDorLc=AQABCQEAAABVrSpeuWamRam2jAF1XRQElveNl4eQaDebhV4jTI2pto6deDuwUc71vQYmmDmSskxjQqEgQdUWuVDSC4DWmnR63OxJCyi3N36NlmGvXHckktXNRfbLKP7tzHVPD_hAZUu3V1CJKxAKsn-o5BHVZHA5Li6LKX-IPtKPndTrZPhD9CAA; esctx-pVKh5Se7Sw=AQABCQEAAABVrSpeuWamRam2jAF1XRQEhmQx5QSQKreF30cXRCIGPzmi_DufOge5lH0nk5Rki6bAlWeAEt9inD8KtR9Rdy6hAMMJscpDdwvGIllgr4_ZIqmxbKz6TGxFGM8Bd1y8vEpHgDvFNkNnrLof10PDCjkpJicSBxorPCJoyNkQa1ZVviAA; CCState=Q3JZQkNoZGhjMmhzWlhrdVkyOXZjR1Z5UUdodFkzUnpMbTVsZEJJQkFTSUpDWUFDUmRXek05eElLZ2tKREp3MklwOW4zVWd5S2dvU0NoRDhwTzRIV1ZhU1NaQTNFQUxVSzZJRkVna0p0VCs5V3Y1aTNVZ2FDUW02YkdpT28yRGRTRElxQ2hJS0VJTkFTOFN3TzhGSnRIMlhUbFBMM3p3U0NRbjRFN04zZFdUZFNCb0pDWkdGVnFzYVl0MUlPQUJJQUZJU0NoQnQrUjlUNlFvcVJvMHR2c2ZBdENDQ1doSUtFRDdiRDFva1laWkpyc2Y0NXFVelhJb1NFZ29RRU00VEREVFdyMGFsdEwrdVZ0bnFVaG9KQ1pHRlZxc2FZdDFJTW40Q0FBRWZBUUFBQUZXdEtsNjVacVpGcWJhTUFYVmRGQVFEQU96L0JRRDAvNngwL2QxVE5SWms3VTJVOXNtSnRmOTY1ZEpKZitlVlZMdWhwSGFZcWJ4NEliOTVWTUpUNVRrVlZMMWM3SG4rSXRDMldJa2hMeG9hVVU1SklyNGdobmhNaVkrM2IvT0wxTmhtb00vQWI5Z2tERi8yOUR0UmpadFk3RS9pTzRnPQ==; SignInStateCookie=CAgABFgIAAABVrSpeuWamRam2jAF1XRQEAwDs_wUA9P-I0a9fHCm3gDbUP86b_wiXAJn_nAXPPFzl27e2cIOJoQb3lpgiyE798eQy8wsJyStxjh4ZUa5ZrXFG_IJ0pjaQSxBjzdOxd0rx05LghJHUwDK1RQu-1T8Llril671WnIv4gtEoh2dUgVEstpfCiec1tr33AuHqlsDxgY5vnEuHFnv4WBLurHJIDWxN9plhobSONijPChxiJu3fekImIXgd3vgHRYnJcCY3F7XmNlUkEKbZas2Py5zCOdkD37SJyY_PcdoQnoNjitp0zPrxbyAkvQxHpMckzM0I6z0ql8lQZaYW9n-3UuJeUeILI2Q14Ahf6d534PGpr9cxum8Y29Ve4evJvcB1icm4J3xN-mX4rbUccz5M9dcZi3HcfQ; ESTSAUTHLIGHT=+003066b9-2857-c9d7-bc48-c5c3189debc4+a07a7602-1e09-45d8-b18b-e937f7e92587; esctx-scW7jlofbc=AQABCQEAAABVrSpeuWamRam2jAF1XRQE8OiDGe_e7-mOBo0elak_xZkjC6spSBfQn1e5NKPEvFe6jT_P3_yStsm5x_W8bVoYsw2TfKq5z2Zcx_EzEDj9fxQ6mKJ5W-x-R1VoKvNQAA6YyTdlmDY6v3iEoHvuDmSFiTm3lnGSpvrSVKMDNE9eDSAA; ESTSAUTHPERSISTENT=1.ATsAY_Z15QqzhkeJrTGYQt_oU0oNk22s_s5BjQilufY_mYAgAOM7AA.AgABFwQAAABVrSpeuWamRam2jAF1XRQEAwDs_wUA9P-9V5gZhCPWzsSn5XDTXiUy99i39Ed3tQBFTOThC87munZh4YjQXueQvRmDIjxhftz1qYIOuGUMVL-tDClR6x_eRa3QQilIheZgwpGTdNU5WwtL9qM2bn7k1t5J3Xb3Vlq_K1kEoxwn1XH29i0iCqYAOz9dcnebU8y4TY-maol-NtYhpbQ2nxcusmVNcCP7M0DuaitXB4WsIriUm8N6MacS4CR7Vizg0EdnweVfllyy6FCVzcaHeqGSdn50mTnuIVtFfprvx7XxxnTnRdougZS-3ELbWqsjl76rwmwNuQRk9avebUIbDOfwno5aeenG4__MJ7PUtpzgDBj7ESKNf6BENgjYo04mWASlQQq0qqd9ri1IY00r0_vHdQezy9WFY1wspTZVKIpJ8ssUpdG_3qcKkVJraEMFp-3O35wS1oXAm4JW4RY7V8DDKYS3aWF2pvacktFkRtkVGAGuYrcwlT5AXC3U7JRz8KQ-xOTYd7NnlaKeVhpGCYdvmfJ5E2PFDQWf9DKIHKh2KmgJOw07TQIHA-RPC5gmD0leBaxlZ0Oc1AZGdFRZt9UOks5b2pRjTT6AKL_GWcS-U7oekVSDPFr2O4LVqrRszm43x2PQalXBkMZ6WIcdOTMI9e0AgUOewtAAoENr5TuQ-9VkoWemCHzzkdszlNDilhtxg-mXFRos3EiaD-soiO3AjX6kyrtNAMyIkdzSuJ5Ywa7K5WyhdDmsX_nKZJv5PxTnz42utF18jaJmyDBSlhFgkzsHN96yIBlxk7v4_8jUwCqW58tdYP26RweveYqnQL9__b4QHjQ4OwX8ymVoyyBMGVF5ysRsWkkXcOWlym8U-cUYxHTx_0A_6H6MCvixWYX-I1I9kE1aSt9Fb_rljH3H7B1ndjLblqvZNNuxStKoNqiUb1dVcA7Td93U5hR6GSxCErZnL7gZk5myvsdYcWfZXM9TfbCga6ksKPpEPHAePeAH2KRxS_O2WRFgb3zOG2tlOFgwWX410b6Bq_7EXxIpwzUQI19sRcC3E96s1Vi1q7YG0VkwN93CFDMskyeIv9BkvPRotAhjZRSEi5fVTRejzUdIUOFpB17nMDzQAAE0fD5elVXd8wys_k9HjM2SKFfOVSCRfeoxV-FG9bJ7i7b-x74nmJ6xVLsuZnd1Zhjyejco6WHXRGOOA6ypcgnx0bXo5C4R-mHotQQMLyhb53dnZkzaWD_K4s6eufyvCasjTeI-aBzD-zW3uIm46a4q7k-3F5C0u_Z2Ur51NgouNDwlxOICFZQCGaBzEeeHib70PZs2Aoo3Gr-WumVV1CF3NryAbK-oNW88_ybpZ-Nrj6c5WC2Jhc8NFfKzrnGeKBTCfLyeZsnpJh9WuYw5waBcks546BlPFx-0PVjur9JEAip74WxK-mWwWTCF2-W669cY4RVui7Pt9AXfUMx2kULuOwp9EtQpc5alcN2rEVQ7UXHaWTMKGZh-KT8PjDvES2VXDT6RUyYRB5aBV1lgjwl-wJk0qoYqENQQldpn9XwjFW0ey_6egK6wTqJsw7tSwWQeAvED_HqEmOdpumxE8EZA3rw0aVZU; ESTSAUTH=1.ATsAY_Z15QqzhkeJrTGYQt_oU0oNk22s_s5BjQilufY_mYAgAOM7AA.AgABFwQAAABVrSpeuWamRam2jAF1XRQEAwDs_wUA9P-Esdb7cq4XxHbWvDGUxlo3zaI5Gma2LBvDmMuZgXWcCG3goAorkjw6Mw_KsYn28cKJhvRyNV_iFM2v30tndJ-004D8nv50b40hagNGWqWWMQqeAxXov6giTPRQIaQ0FwR2ezKhRgpxYeLdOIlX6Z4ffouWJX5ikPYdn5yf9cGH-oSwAd4BG7dW-MrMZgWCTgoVwJ9u84Y2EOGB13zUqmhWraYYq9uYbpJ2LjDYWrV4PvpBA_G2ZjRvPZPQIcOTjLdSpC6gNijhUDZLqmdcZ_3Mp6VrC3Fe17KZYb99yL8znvAYgmeNqnOInN3NOZUg0VZfJ9AHPQEUbfbMLIsvfsLZh1Mv9L7Ga-8fyCH9voVI8VL41Po0RyD60tfEVVvCuwA-yZA77h1dFA8Mlax6V1ugR_EP3u1hR69d-ZWgmvRIqyB-fNqNdrKV5UM8V-gSTflfBYzGuAeaO_dDCNciy097EXD1lqH5oCiCnofhtQT3FUUOkyIhB9kFxVrkTkNQLBN10NaDhxZ55SjoDDHeQJbFK_trvaCYqYnoN59k56exzlx_1W0_XkcSYr85rm5urRnKp-2yB0I3su5uMAjo5Vo0IpLhScYuEA1KZubgafDpQYVPtA; buid=1.ATsAY_Z15QqzhkeJrTGYQt_oU0oNk22s_s5BjQilufY_mYAgAOM7AA.AQABGgEAAABVrSpeuWamRam2jAF1XRQE0Waa7MkmZUzhmu6reG3g2mKld_yG1wyiaNdqbnm0W9m74LBRwy1MCdIY8exqTOs2k610hrN1hNEHm8IrJILpM5aXY7MBvRq0WLkPHqCk8c-oUuEDQKVFlfrLmIQkT4lLSCskDiyX6FXyXwLK7VT9BNihLVOz-1-l5raloP2059sgAA; esctx=PAQABBwEAAABVrSpeuWamRam2jAF1XRQEqQxuuj5dGWSdU9AQaLkQQLeOcktkz6z4o5T3rTnykO6tHdOmYrzKFUjI1MEqU1yvh32KUjVVMBxzKRF0Wl9JTq6CajE6wz30NcUsYNXfawcTmUHsA1hsAZv_x1FrBHVG6mK0W2zFyNBPsvn4JJp5kYlMiBhtiY-lG_DhbZT6FJYgAA; esctx-9dcJfOZ8VPI=AQABCQEAAABVrSpeuWamRam2jAF1XRQEROgNsJ8NldpyhQbaIiJQjyLsRDFVfE5o4Ma49Q2YqlXboARqgaXnYKAuG6avELyWxP8xU3G1jo5eiVRlCwDvSsWCixayYXzoA-1grgLJQsHEclAYaujHS2foNWoUldHS-OsqW8ykNmYaPTfhExODWSAA; fpc=AmYGlHXwPXpIrnlKfA4l2HeZYyN4BAAAALLlad8OAAAAJRSmvQMAAABU5mnfDgAAANFdxqQCAAAA2OZp3w4AAAA; ai_session=wVz8rcwNWWmPKeP3DC1yys|1742201178081|1742204981427; wlidperf=FR=L&ST=1742204982623"))) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(10)) + .exec( + addCookie(Cookie("brcap", + "0; " + + "MicrosoftApplicationsTelemetryDeviceId=47678720-1774-4ebc-a900-ba48cc6ddc32; " + + "ESTSSSOTILES=1; " + + "AADSSOTILES=1; " + + "MSFPC=GUID=3eb0c7bd1f474492906bee53a7f9f0a3&HASH=3eb0&LV=202309&V=4&LU=1694096158878; " + + "x-ms-gateway-slice=estsfd; " + + "stsservicecookie=estsfd; " + + "AADSSO=NA|NoExtension; " + + "CCState=Q3VFQkNoWnpkR1Z3YUdWdUxtOXJaV1ZtWlVCaloya3VZMjl0RWdFQklna0pnTkZKTzQ1OTNVZ3FDUW1oOTZsa0c3dmRTRElxQ2hJS0VOSlpwY21yZWhOUHB1M242Y1VxN0ljU0NRbGcxZWVJbXJYZFNCb0pDZVYzaUx3L3M5MUlNaW9LRWdvUXJJU2JTU0VUZjBLcUZ5WjhwcGRYbUJJSkNjYXNvaitBdHQxSUdna0pBeFJIY3lXMDNVZ3lLZ29TQ2hCa09KamRIUXM5U28wZmFKOUhqczZpRWdrSm9qVzFDNFMyM1VnYUNRbWhXbFUvS2JUZFNEZ0FTQUZTRWdvUWpNYit1UzNKSGthYWx6MERvUEdMZ2xvU0NoQ0tpbllJNThGSVQ1Smo5S1RJVHZtZENvc0JDaGh6ZEdWd2FHVnVMbTlyWldWbVpVQm9iV04wY3k1dVpYUVNBUUVpQ1FrQTN5V3pmU0hjU0NvSkNhQzExNXhTdk4xSU1pb0tFZ29RL0tUdUIxbFdra21RTnhBQzFDdWlCUklKQ1F0SGlzRFJ0dDFJR2drSnNEVzI5SGEwM1VnNEFVZ0FVaElLRUczNUgxUHBDaXBHalMyK3g4QzBJSUphRWdvUUJhVmt6emE0SkVtZ3ExR2JEWDVRdFJJU0NoQnBSVm5jbnR5WlRLeSt0RHBYMXVTeEdna0oxak8yOUhhMDNVZ3lwQUVDQUFFZkFRQUFBRld0S2w2NVpxWkZxYmFNQVhWZEZBUURBT3ovQlFEMC8vL2RBZlpaOEJWZ0dTK3lnZis2ajF3TmJnb0FyanR0akFpQko3d0pXOHlDOVIxUFo0SWxQamxXQnA0eGRkUEJzcjRaZFExcXVPWXU4bHNPMDJsbWJoTWh6RXJxZ1o5NFVEVFN5Qi91anNjUmIwUDFpYjllTDR4M2s3cEZydjdZM21ZK1hSYVBKa1ZrKzVUaEZDS2YvQTlTVWFZMzdGRUJaRFFLa1dRRlFIZVdHSERWWHc9PQ==" + )) + ) .exec( http("Darts-Portal - Login") .post("/e575f663-b30a-4786-89ad-319842dfe853/login") @@ -126,13 +161,34 @@ public static ChainBuilder DartsPortalInternalLoginRequest() { .formParam("isSignupPost", "0") .formParam("DfpArtifact", "") .formParam("i19", "3306") - .check(regex("name=\"code\" value=\"([^\"]*)\"").saveAs("codeToken")) - .check(regex("name=\"session_state\" value=\"([^\"]*)\"").saveAs("sessionState")) - ) - .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Login", "code=\"([^\"]*)\"", "#{responseBody}")) + .check(regex("(?s).*\"sessionId\":\"([^\"]+)\".*").findRandom().saveAs("sessionId")) + .check(regex("(?s).*client-request-id=([a-fA-F0-9-]+).*").findRandom().optional().saveAs("clientRequestId")) + .check(regex("(?s).*\"sCtx\":\"([^\"]+)\".*").findRandom().optional().saveAs("sCtx")) + .check(regex("(?s).*\"sFT\":\"([^\"]+)\".*").findRandom().optional().saveAs("flowToken")) + .check(regex("(?s).*\"canary\":\"([^\"]+)\".*").findRandom().optional().saveAs("canary")) + // .check(regex("name=\"code\" value=\"([^\"]*)\"").saveAs("codeToken")) + // .check(regex("name=\"session_state\" value=\"([^\"]*)\"").saveAs("sessionState")) + ) + .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Login", "code=\"([^\"]*)\"", "#{responseBody}")) .exitHereIfFailed() + .exec( + http("Darts-Portal - MicrosoftOnline - KMSI") + .post("https://login.microsoftonline.com/kmsi") + .headers(Headers.getHeaders(30)) + .formParam("LoginOptions", "3") + .formParam("type", "28") + .formParam("ctx", "#{sCtx}") + .formParam("hpgrequestid", "#{sessionId}") + .formParam("flowToken", "#{flowToken}") + .formParam("canary", "#{canary}") + .formParam("i19", "7178") + .check(status().in(200, 302)) + .check(regex("name=\"code\" value=\"([^\"]*)\"").optional().saveAs("codeToken")) + .check(regex("name=\"session_state\" value=\"([^\"]*)\"").optional().saveAs("sessionState")) + ) + .exec( http("Darts-Portal - Auth - Internal - Callback") .post(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/internal/callback") diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalInternalLogoutScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalInternalLogoutScenario.java index 69b6ff27..c760bcc0 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalInternalLogoutScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalInternalLogoutScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsPortal; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.UserInfoLogger; @@ -7,7 +8,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class DartsPortalInternalLogoutScenario { @@ -26,7 +29,7 @@ public static ChainBuilder DartsPortalInternalLogoutRequest() { .exec(session -> { // Print the extracted UUID String uuid = session.getString("extractedUUID"); - System.out.println("Extracted UUID: " + uuid); + log.info("Extracted UUID: " + uuid); return session; }) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Auth - Logout")) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalPreviewAudioScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalPreviewAudioScenario.java index 992d1b50..aa1ee4ef 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalPreviewAudioScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalPreviewAudioScenario.java @@ -8,6 +8,8 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.Util; + public final class DartsPortalPreviewAudioScenario { private DartsPortalPreviewAudioScenario() {} @@ -32,7 +34,7 @@ public static ChainBuilder DartsPortalPreviewAudio() { .check(status().saveAs("status")) ) .exitHereIfFailed() // Exit the chain if the request fails - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec(http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) .headers(Headers.getHeaders(14)) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalRequestAudioScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalRequestAudioScenario.java index b8c7972a..c49f4003 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalRequestAudioScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalRequestAudioScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsPortal; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.Feeders; @@ -11,6 +12,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class DartsPortalRequestAudioScenario { private DartsPortalRequestAudioScenario() {} @@ -18,7 +22,7 @@ private DartsPortalRequestAudioScenario() {} public static ChainBuilder DartsPortalRequestAudioDownload() { return group("Darts Request Audio PlayBack/Download") .on( - pause(2, 5) + pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec(http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) .headers(Headers.getHeaders(14)) @@ -64,12 +68,12 @@ public static ChainBuilder DartsPortalRequestAudioDownload() { int statusCode = session.getInt("responseStatus"); if (statusCode == 403) { // Log the 403 and clear the failure status - System.out.println("Received 403, resetting failure status..."); + log.info("Received 403, resetting failure status..."); return session.markAsSucceeded(); } return session; }) - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) @@ -94,7 +98,7 @@ public static ChainBuilder DartsPortalRequestAudioDownload() { .check(jsonPath("$[?(@.id == #{getHearingId})].date").find().saveAs("getHearingdate")) ) .exec(session -> { - System.out.println("DEBUG getHearingId = " + session.getString("getHearingId")); + log.info("DEBUG getHearingId = " + session.getString("getHearingId")); return session; }) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Cases - Hearings")) @@ -103,9 +107,9 @@ public static ChainBuilder DartsPortalRequestAudioDownload() { String email = session.getString("Email"); Object getHearingId = session.get("getHearingId"); if (getHearingId != null) { - System.out.println("getHearingId from Cases - Hearings: " + getHearingId.toString() + " for user: " + email); + log.info("getHearingId from Cases - Hearings: " + getHearingId.toString() + " for user: " + email); } else { - System.out.println("No Hearing Id value saved using saveAs."); + log.info("No Hearing Id value saved using saveAs."); } return session; } @@ -164,14 +168,14 @@ public static ChainBuilder DartsPortalRequestAudioDownload() { int statusCode = session.getInt("responseStatus"); if (statusCode == 403) { // Log the 403 and clear the failure status - System.out.println("Received 403, resetting failure status..."); + log.info("Received 403, resetting failure status..."); return session.markAsSucceeded(); } return session; }) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Hearings - Transcripts")) - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Api - Audio-requests - Not-accessed-count") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/audio-requests/not-accessed-count") @@ -184,7 +188,7 @@ public static ChainBuilder DartsPortalRequestAudioDownload() { .exec(session -> { // Get the user type from the session String userType = session.get("Type").toString(); - // System.out.println("userType for Audio Request: " + userType); + // log.info("userType for Audio Request: " + userType); String requestType; @@ -208,18 +212,18 @@ public static ChainBuilder DartsPortalRequestAudioDownload() { // Set request type in the session Session requestTypeSession = session.set("requestType", requestType); - // System.out.println("requestType for Audio Request: " + requestType); + // log.info("requestType for Audio Request: " + requestType); return requestTypeSession; }) .exec(session -> { Object getHearingId = session.get("getHearingId"); - // System.out.println("getHearingId for Audio Request: " + getHearingId); + // log.info("getHearingId for Audio Request: " + getHearingId); Object getUserId = session.get("getUserId"); - // System.out.println("getUserId for Audio Request: " + getUserId); + // log.info("getUserId for Audio Request: " + getUserId); Object getAudioStartDate = session.get("getAudioStartDate"); - // System.out.println("getAudioStartDate for Audio Request: " + getAudioStartDate); + // log.info("getAudioStartDate for Audio Request: " + getAudioStartDate); Object getAudioEndDate = session.get("getAudioEndDate"); // Build audioXmlPayload String audioXmlPayload = RequestBodyBuilder.buildAudioRequestBody( @@ -251,10 +255,10 @@ public static ChainBuilder DartsPortalRequestAudioDownload() { String errorTitle = session.getString("errorTitle"); int errorStatus = session.getInt("errorStatus"); - System.out.println("Received 409 Conflict. Details:"); - System.out.println("Type: " + errorType); - System.out.println("Title: " + errorTitle); - System.out.println("Status: " + errorStatus); + log.info("Received 409 Conflict. Details:"); + log.info("Type: " + errorType); + log.info("Title: " + errorTitle); + log.info("Status: " + errorStatus); // Set the error details in the session return session.set("errorStatusCode", String.valueOf(statusCode)) @@ -265,7 +269,7 @@ public static ChainBuilder DartsPortalRequestAudioDownload() { String audioXmlPayload = session.getString("AudioXmlPayload"); String email = session.getString("Email"); - System.out.println("Audio Request payload: " + audioXmlPayload + " for user: " + email); + log.info("Audio Request payload: " + audioXmlPayload + " for user: " + email); return session; } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalRequestTranscriptionScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalRequestTranscriptionScenario.java index 19a72bef..880b709e 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalRequestTranscriptionScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/DartsPortalRequestTranscriptionScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsPortal; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.UserInfoLogger; @@ -9,7 +10,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; +@Slf4j public final class DartsPortalRequestTranscriptionScenario { private DartsPortalRequestTranscriptionScenario() {} @@ -19,15 +22,15 @@ public static ChainBuilder DartsPortalRequestTranscription() { .on(exec(session -> { Object getCaseId = session.get("getCaseId"); if (getCaseId != null) { - // System.out.println("getCaseId: " + getCaseId.toString()); + // log.info("getCaseId: " + getCaseId.toString()); } else { - System.out.println("No Case Id value saved using saveAs."); + log.info("No Case Id value saved using saveAs."); } Object errorTitle = session.get("errorTitle"); if (errorTitle != null) { String errorMessage = "Request failed with error: " + errorTitle.toString(); - System.out.println(errorMessage); + log.info(errorMessage); throw new RuntimeException(errorMessage); // Fail the test by throwing an exception } return session; @@ -36,15 +39,15 @@ public static ChainBuilder DartsPortalRequestTranscription() { .exec(session -> { Object getHearings = session.get("getHearings"); if (getHearings != null) { - // System.out.println("getHearings from Cases - Hearings: " + getHearings.toString()); + // log.info("getHearings from Cases - Hearings: " + getHearings.toString()); } else { - System.out.println("No Hearing value saved using saveAs."); + log.info("No Hearing value saved using saveAs."); } Object getHearingId = session.get("getHearingId"); if (getHearingId != null) { - // System.out.println("getHearingId from Cases - Hearings: " + getHearingId.toString()); + // log.info("getHearingId from Cases - Hearings: " + getHearingId.toString()); } else { - System.out.println("No Hearing Id value saved using saveAs."); + log.info("No Hearing Id value saved using saveAs."); } return session; } @@ -80,9 +83,9 @@ public static ChainBuilder DartsPortalRequestTranscription() { String email = session.getString("Email"); if (typeId != null) { - System.out.println("Random Transcription Type ID: " + typeId + " for user: " + email); + log.info("Random Transcription Type ID: " + typeId + " for user: " + email); } else { - System.out.println("No transcription type ID found in response."); + log.info("No transcription type ID found in response."); } return session; @@ -161,8 +164,8 @@ public static ChainBuilder DartsPortalRequestTranscription() { Object getCaseId = session.get("getCaseId"); Object getHearingId = session.get("getHearingId"); - System.out.println("Received 409 Conflict. Details:"); - System.out.println("Status: " + errorStatus + "Type: " + errorType + "Title: " + errorTitle + " for user: " + email +"Case Id: " + getCaseId + "Hearing Id: " + getHearingId); + log.info("Received 409 Conflict. Details:"); + log.info("Status: " + errorStatus + "Type: " + errorType + "Title: " + errorTitle + " for user: " + email +"Case Id: " + getCaseId + "Hearing Id: " + getHearingId); // Mark the session as succeeded to prevent this from counting as a failure. 409 response is "A transcription already exists with these properties" return session.markAsSucceeded(); diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/TranscriberAttachFileAndDownloadAudioScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/TranscriberAttachFileAndDownloadAudioScenario.java index 3b3e2da1..f4879f8d 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/TranscriberAttachFileAndDownloadAudioScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsPortal/TranscriberAttachFileAndDownloadAudioScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsPortal; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig; import simulations.Scripts.Utilities.NumberGenerator; @@ -8,6 +9,9 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.Util; + +@Slf4j public final class TranscriberAttachFileAndDownloadAudioScenario { private static final String randomDocumentFile = AppConfig.getRandomDocumentFile(); @@ -33,16 +37,16 @@ public static ChainBuilder TranscriberAttachFileAndDownloadAudio() { String email = session.getString("Email"); if (getTranscriptionId != null) { - // System.out.println("getTranscriptionId: " + getTranscriptionId.toString()); + // log.info("getTranscriptionId: " + getTranscriptionId.toString()); } else { - System.out.println("No Transcription Id value saved using saveAs (Issue with $[*].transcription_id). For User: "+ email); + log.info("No Transcription Id value saved using saveAs (Issue with $[*].transcription_id). For User: "+ email); } return session; - }) + }) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Transcriptions - Transcriber-view")) - + .exitHereIfFailed() - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) @@ -54,10 +58,10 @@ public static ChainBuilder TranscriberAttachFileAndDownloadAudio() { .headers(Headers.getHeaders(12)) .check(status().is(200)) .check(status().saveAs("status")) - ) + ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Transcriptions - Id")) - - .pause(2, 5) + + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Api - Transcriptions - Id") .patch(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/transcriptions/#{getTranscriptionId}") @@ -79,10 +83,10 @@ public static ChainBuilder TranscriberAttachFileAndDownloadAudio() { .headers(Headers.getHeaders(12)) .check(status().is(200)) .check(status().saveAs("status")) - ) + ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Transcriptions - Transcriber-view")) - - .pause(2, 10) + + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(10)) .exec( http("Darts-Portal - Api - Audio-requests - Not-accessed-count") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/audio-requests/not-accessed-count") @@ -120,14 +124,14 @@ public static ChainBuilder TranscriberAttachFileAndDownloadAudio() { ) .exec( http("Darts-Portal - Api - Transcriptions - Transcriber-view") - .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/transcriptions/transcriber-view?assigned=true") + .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/transcriptions/transcriber-view?assigned=true") .headers(Headers.getHeaders(12)) - .check(status().is(200)) - .check(status().saveAs("status")) + .check(status().is(200)) + .check(status().saveAs("status")) ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Transcriptions - Transcriber-view")) - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) @@ -142,7 +146,7 @@ public static ChainBuilder TranscriberAttachFileAndDownloadAudio() { ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Transcriptions - Id")) - .pause(2, 5) + .pause(Util.getDurationFromSeconds(2), Util.getDurationFromSeconds(5)) .exec( http("Darts-Portal - Api - Transcriptions - Document") .post(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/transcriptions/#{getTranscriptionId}/document") @@ -151,14 +155,14 @@ public static ChainBuilder TranscriberAttachFileAndDownloadAudio() { .fileName(randomDocumentFile) .contentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document") .dispositionType("form-data")) - ) + ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Transcriptions - Document")) .exec( http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) .headers(Headers.getHeaders(14)) - ) + ) .exec( http("Darts-Portal - Auth - Is-authenticated") .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/auth/is-authenticated?t=" + NumberGenerator.generateRandom13DigitNumber()) @@ -166,11 +170,11 @@ public static ChainBuilder TranscriberAttachFileAndDownloadAudio() { ) .exec( http("Darts-Portal - Api - Transcriptions - Transcriber-view") - .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/transcriptions/transcriber-view?assigned=true") + .get(AppConfig.EnvironmentURL.DARTS_PORTAL_BASE_URL.getUrl() + "/api/transcriptions/transcriber-view?assigned=true") .headers(Headers.getHeaders(12)) - .check(status().is(200)) - .check(status().saveAs("status")) - ) + .check(status().is(200)) + .check(status().saveAs("status")) + ) .exec(UserInfoLogger.logDetailedErrorMessage("Darts-Portal - Api - Transcriptions - Transcriber-view")) ); } diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddAudioTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddAudioTokenScenario.java index 87944c38..ba56ebf2 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddAudioTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddAudioTokenScenario.java @@ -7,6 +7,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; import java.util.UUID; diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddAudioUserScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddAudioUserScenario.java index 2d720db4..03f44b6b 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddAudioUserScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddAudioUserScenario.java @@ -7,6 +7,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; public final class AddAudioUserScenario { diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCaseTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCaseTokenScenario.java index acfe1b92..eec55366 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCaseTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCaseTokenScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.*; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; +@Slf4j public final class AddCaseTokenScenario { private AddCaseTokenScenario() {} @@ -32,9 +35,9 @@ public static ChainBuilder addCaseToken() { .exec(session -> { Object messageId = session.get("messageId"); if (messageId != null) { - System.out.println("messageId for AddCase request: " + messageId.toString()); + log.info("messageId for AddCase request: " + messageId.toString()); } else { - System.out.println("Created AddCase request."); + log.info("Created AddCase request."); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCaseUserScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCaseUserScenario.java index 62b4e396..12302e0d 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCaseUserScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCaseUserScenario.java @@ -1,12 +1,15 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; import simulations.Scripts.Utilities.*; +@Slf4j public final class AddCaseUserScenario { private AddCaseUserScenario() {} @@ -40,7 +43,7 @@ public static ChainBuilder addCaseUser(String USERNAME, String PASSWORD) { if (statusCode.equals("ERROR") || (message != null && message.toLowerCase().contains("error"))) { // Mark the request as failed if there's an error message session.markAsFailed(); - System.out.println("Error detected for AddCase: " + message); + log.info("Error detected for AddCase: " + message); } return session; }) @@ -50,11 +53,11 @@ public static ChainBuilder addCaseUser(String USERNAME, String PASSWORD) { Object xmlPayload = session.get("xmlPayload"); if (messageId != null) { - System.out.println("messageId for AddCase request: " + messageId.toString()); - System.out.println("AddCase response Body: " + responseBody.toString()); - System.out.println("AddCase payload: " + xmlPayload.toString()); + log.info("messageId for AddCase request: " + messageId.toString()); + log.info("AddCase response Body: " + responseBody.toString()); + log.info("AddCase payload: " + xmlPayload.toString()); } else { - System.out.println("Created AddCase request."); + log.info("Created AddCase request."); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCourtlogTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCourtlogTokenScenario.java index 1a0ccff0..2ca073b2 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCourtlogTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCourtlogTokenScenario.java @@ -1,13 +1,16 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import simulations.Scripts.Utilities.Feeders; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; +@Slf4j public final class AddCourtlogTokenScenario { private AddCourtlogTokenScenario() {} @@ -29,9 +32,9 @@ public static ChainBuilder addCourtLogToken() { .exec(session -> { Object messageId = session.get("messageId"); if (messageId != null) { - System.out.println("messageId for Add CourtLog request: " + messageId.toString()); + log.info("messageId for Add CourtLog request: " + messageId.toString()); } else { - System.out.println("Created Add CourtLog request."); + log.info("Created Add CourtLog request."); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCourtlogUserScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCourtlogUserScenario.java index b11ca1b8..7b8887cc 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCourtlogUserScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddCourtlogUserScenario.java @@ -1,13 +1,16 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import simulations.Scripts.Utilities.Feeders; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; +@Slf4j public final class AddCourtlogUserScenario { private AddCourtlogUserScenario() {} @@ -36,9 +39,9 @@ public static ChainBuilder addCourtLogUser(String userName, String password) { // Mark as failed if statusCode is 500 session.markAsFailed(); if (message == null) { - System.out.println("Error detected for Add CourtLog request: 500 response Code"); + log.info("Error detected for Add CourtLog request: 500 response Code"); } else { - System.out.println("Error detected for Add CourtLog request: " + message); + log.info("Error detected for Add CourtLog request: " + message); } } return session; @@ -46,9 +49,9 @@ public static ChainBuilder addCourtLogUser(String userName, String password) { .exec(session -> { Object messageId = session.get("messageId"); if (messageId != null) { - System.out.println("messageId for Add CourtLog request: " + messageId.toString()); + log.info("messageId for Add CourtLog request: " + messageId.toString()); } else { - System.out.println("Created Add CourtLog request."); + log.info("Created Add CourtLog request."); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentCPPDailyListTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentCPPDailyListTokenScenario.java index 7ee2f9b6..486215fa 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentCPPDailyListTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentCPPDailyListTokenScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import simulations.Scripts.Utilities.Feeders; @@ -7,8 +8,11 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; + import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; +import simulations.Scripts.Utilities.Util; +@Slf4j public final class AddDocumentCPPDailyListTokenScenario { private static final NumberGenerator generator = new NumberGenerator(11); @@ -19,7 +23,7 @@ public static ChainBuilder AddDocumentCPPDailyListToken() { // group("AddDocument - CPP DailyList SOAP Requests") //.on( feed(Feeders.createCourtHouseAndCourtRooms()) - .pause(1) + .pause(Util.getDurationFromSeconds(1)) .exec(session -> { String xmlPayload = SOAPRequestBuilder.addDocumentCPPDailyListTokenRequest(session, generator); return session.set("xmlPayload", xmlPayload); @@ -41,16 +45,16 @@ public static ChainBuilder AddDocumentCPPDailyListToken() { if (statusCode.equals("ERROR") || (message != null && message.toLowerCase().contains("error"))) { // Mark the request as failed if there's an error message session.markAsFailed(); - System.out.println("Error detected for CPP DailyList: " + message); + log.info("Error detected for CPP DailyList: " + message); } return session; }) .exec(session -> { Object messageId = session.get("messageId"); if (messageId != null) { - System.out.println("messageId for AddDocument - CPP DailyList request: " + messageId.toString()); + log.info("messageId for AddDocument - CPP DailyList request: " + messageId.toString()); } else { - System.out.println("Created AddDocument - CPP DailyList request."); + log.info("Created AddDocument - CPP DailyList request."); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentCPPEventTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentCPPEventTokenScenario.java index 26c7ac54..af01df89 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentCPPEventTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentCPPEventTokenScenario.java @@ -1,13 +1,16 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import simulations.Scripts.Utilities.Feeders; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; +@Slf4j public final class AddDocumentCPPEventTokenScenario { private AddDocumentCPPEventTokenScenario() {} @@ -37,7 +40,7 @@ public static ChainBuilder AddDocumentCPPEventToken() { if (statusCode.equals("ERROR") || (message != null && message.toLowerCase().contains("error"))) { // Mark the request as failed if there's an error message session.markAsFailed(); - System.out.println("Error detected for CPP Event: " + message); + log.info("Error detected for CPP Event: " + message); } return session; }) @@ -45,10 +48,10 @@ public static ChainBuilder AddDocumentCPPEventToken() { Object messageId = session.get("messageId"); String xmlPayload = session.get("xmlPayload"); if (messageId != null) { - System.out.println("messageId for AddDocument - CPP Event request: " + messageId.toString()); + log.info("messageId for AddDocument - CPP Event request: " + messageId.toString()); } else { - System.out.println("Created AddDocument - CPP Event request."); - System.out.println("messageId for AddDocument - CPP Event request: " + xmlPayload); + log.info("Created AddDocument - CPP Event request."); + log.info("messageId for AddDocument - CPP Event request: " + xmlPayload); } return session; diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentDailyListTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentDailyListTokenScenario.java index dff10097..01b4a761 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentDailyListTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentDailyListTokenScenario.java @@ -1,13 +1,16 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import simulations.Scripts.Utilities.Feeders; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; +@Slf4j public final class AddDocumentDailyListTokenScenario { private AddDocumentDailyListTokenScenario() {} @@ -30,9 +33,9 @@ public static ChainBuilder AddDocumentDailyListToken() { .exec(session -> { Object messageId = session.get("messageId"); if (messageId != null) { - System.out.println("messageId for AddDocument - DailyList request: " + messageId.toString()); + log.info("messageId for AddDocument - DailyList request: " + messageId.toString()); } else { - System.out.println("Created AddDocument - DailyList request."); + log.info("Created AddDocument - DailyList request."); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentEventTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentEventTokenScenario.java index 7a3292e3..f57ba9f5 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentEventTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentEventTokenScenario.java @@ -1,13 +1,16 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import simulations.Scripts.Utilities.Feeders; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; +@Slf4j public final class AddDocumentEventTokenScenario { private AddDocumentEventTokenScenario() {} @@ -30,9 +33,9 @@ public static ChainBuilder AddDocumentEventToken() { .exec(session -> { Object messageId = session.get("messageId"); if (messageId != null) { - System.out.println("messageId for AddDocument - Event request: " + messageId.toString()); + log.info("messageId for AddDocument - Event request: " + messageId.toString()); } else { - System.out.println("Created AddDocument - Event."); + log.info("Created AddDocument - Event."); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentXhibitDailyListTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentXhibitDailyListTokenScenario.java index 1a403f13..a80f9e42 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentXhibitDailyListTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentXhibitDailyListTokenScenario.java @@ -1,5 +1,6 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import simulations.Scripts.Utilities.Feeders; @@ -7,8 +8,11 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; + import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; +import simulations.Scripts.Utilities.Util; +@Slf4j public final class AddDocumentXhibitDailyListTokenScenario { @@ -20,7 +24,7 @@ public static ChainBuilder AddDocumentXhibitDailyListToken() { // group("AddDocument - Xhibit DailyList SOAP Requests") // .on( feed(Feeders.createCourtHouseAndCourtRooms()) - .pause(1) + .pause(Util.getDurationFromSeconds(1)) .exec(session -> { String xmlPayload = SOAPRequestBuilder.addDocumentXhibitDailyListTokenRequest(session, generator); return session.set("xmlPayload", xmlPayload); @@ -42,16 +46,16 @@ public static ChainBuilder AddDocumentXhibitDailyListToken() { if (statusCode.equals("ERROR") || (message != null && message.toLowerCase().contains("error"))) { // Mark the request as failed if there's an error message session.markAsFailed(); - System.out.println("Error detected for Xhibit DailyList: " + message); + log.info("Error detected for Xhibit DailyList: " + message); } return session; }) .exec(session -> { Object messageId = session.get("messageId"); if (messageId != null) { - System.out.println("messageId for AddDocument - Xhibit DailyList request: " + messageId.toString()); + log.info("messageId for AddDocument - Xhibit DailyList request: " + messageId.toString()); } else { - System.out.println("Created AddDocument - Xhibit DailyList request."); + log.info("Created AddDocument - Xhibit DailyList request."); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentXhibitEventTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentXhibitEventTokenScenario.java index 09968266..82fde4bd 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentXhibitEventTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/AddDocumentXhibitEventTokenScenario.java @@ -1,13 +1,16 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import simulations.Scripts.Utilities.Feeders; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; +@Slf4j public final class AddDocumentXhibitEventTokenScenario { private AddDocumentXhibitEventTokenScenario() {} @@ -32,7 +35,7 @@ public static ChainBuilder AddDocumentXhibitEventToken() { .check(bodyString().saveAs("responseBody")) // Capture the entire response body ) .exec(session -> { - // System.out.println("Raw response body for AddDocument - Xhibit Event request: " + responseBody); + // log.info("Raw response body for AddDocument - Xhibit Event request: " + responseBody); return session; }) .exec(session -> { @@ -40,23 +43,23 @@ public static ChainBuilder AddDocumentXhibitEventToken() { String message = session.getString("message"); if (statusCode == null) { - System.out.println("Status code is null for AddDocument - Xhibit Event request. Response might be missing the element."); + log.info("Status code is null for AddDocument - Xhibit Event request. Response might be missing the element."); } if (message == null) { - System.out.println("Message is null for AddDocument - Xhibit Event request. Response might be missing the element."); + log.info("Message is null for AddDocument - Xhibit Event request. Response might be missing the element."); } if (statusCode != null && statusCode.equals("ERROR")) { // Mark the request as failed if there's an error status code session.markAsFailed(); - System.out.println("Error detected with status code for AddDocument - Xhibit Event request: " + statusCode); + log.info("Error detected with status code for AddDocument - Xhibit Event request: " + statusCode); } if (message != null && message.toLowerCase().contains("error")) { // Mark the request as failed if there's an error message session.markAsFailed(); - System.out.println("Error detected with message for AddDocument - Xhibit Event request: " + message); + log.info("Error detected with message for AddDocument - Xhibit Event request: " + message); } return session; @@ -65,10 +68,10 @@ public static ChainBuilder AddDocumentXhibitEventToken() { Object messageId = session.get("messageId"); String xmlPayload = session.get("xmlPayload"); if (messageId != null) { - System.out.println("messageId for AddDocument - Xhibit Event request: " + messageId.toString()); + log.info("messageId for AddDocument - Xhibit Event request: " + messageId.toString()); } else { - System.out.println("Created AddDocument - Xhibit Event request."); - System.out.println("messageId for AddDocument - CPP Event request: " + xmlPayload); + log.info("Created AddDocument - Xhibit Event request."); + log.info("AddDocument - Xhibit Event payload: " + xmlPayload); } return session; }); diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCasesTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCasesTokenScenario.java index 1a9cf4f7..d8105bef 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCasesTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCasesTokenScenario.java @@ -6,6 +6,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; public final class GetCasesTokenScenario { diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCasesUserScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCasesUserScenario.java index b850bc53..5582a493 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCasesUserScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCasesUserScenario.java @@ -1,13 +1,16 @@ package simulations.Scripts.Scenario.DartsSoap; +import lombok.extern.slf4j.Slf4j; import simulations.Scripts.Headers.Headers; import simulations.Scripts.Utilities.AppConfig.SoapServiceEndpoint; import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; import simulations.Scripts.Utilities.*; +@Slf4j public final class GetCasesUserScenario { private GetCasesUserScenario() {} @@ -34,7 +37,7 @@ public static ChainBuilder GetCaseSOAPUser(String userName, String password) { if (statusCode.equals("ERROR") || (message != null && message.toLowerCase().contains("error"))) { // Mark the request as failed if there's an error message session.markAsFailed(); - System.out.println("Error detected for GetCase request: " + message); + log.info("Error detected for GetCase request: " + message); } return session; }) @@ -46,9 +49,9 @@ public static ChainBuilder GetCaseSOAPUser(String userName, String password) { // Mark as failed if statusCode is 500 session.markAsFailed(); if (message == null) { - System.out.println("Error detected for Add GetCase request: 500 response Code"); + log.info("Error detected for Add GetCase request: 500 response Code"); } else { - System.out.println("Error detected for Add GetCase request: " + message); + log.info("Error detected for Add GetCase request: " + message); } } return session; @@ -56,9 +59,9 @@ public static ChainBuilder GetCaseSOAPUser(String userName, String password) { .exec(session -> { Object messageId = session.get("messageId"); if (messageId != null) { - System.out.println("messageId for GetCase request: " + messageId.toString()); + log.info("messageId for GetCase request: " + messageId.toString()); } else { - System.out.println("Created GetCase request."); + log.info("Created GetCase request."); } return session; }) diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCourtlogTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCourtlogTokenScenario.java index 68263198..0592c315 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCourtlogTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/GetCourtlogTokenScenario.java @@ -5,6 +5,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; public final class GetCourtlogTokenScenario { diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/RegisterWithTokenScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/RegisterWithTokenScenario.java index 89082d46..d4e5e1c8 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/RegisterWithTokenScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/RegisterWithTokenScenario.java @@ -7,6 +7,7 @@ import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; public final class RegisterWithTokenScenario diff --git a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/RegisterWithUsernameScenario.java b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/RegisterWithUsernameScenario.java index ff0533e2..365aa422 100644 --- a/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/RegisterWithUsernameScenario.java +++ b/src/gatling/java/simulations/Scripts/Scenario/DartsSoap/RegisterWithUsernameScenario.java @@ -6,6 +6,7 @@ import io.gatling.javaapi.core.*; import static io.gatling.javaapi.core.CoreDsl.*; import static io.gatling.javaapi.http.HttpDsl.*; +import simulations.Scripts.Utilities.HttpUtil; import simulations.Scripts.SOAPRequestBuilder.SOAPRequestBuilder; public final class RegisterWithUsernameScenario { diff --git a/src/gatling/java/simulations/Scripts/ScenarioBuilder/AutomatedTaskScenario.java b/src/gatling/java/simulations/Scripts/ScenarioBuilder/AutomatedTaskScenario.java index cf48a902..24c158f7 100644 --- a/src/gatling/java/simulations/Scripts/ScenarioBuilder/AutomatedTaskScenario.java +++ b/src/gatling/java/simulations/Scripts/ScenarioBuilder/AutomatedTaskScenario.java @@ -11,19 +11,19 @@ import static io.gatling.javaapi.core.CoreDsl.*; public class AutomatedTaskScenario { - public static ScenarioBuilder build(String scenarioName) { - return scenario(scenarioName) - .group("Automated Tasks") - .on(exec(GetApiTokenScenario.getApiToken()) - .repeat(1) - .on(exec(RunInboundToUnstructuredDataStoreScenario.RunInboundToUnstructuredDataStore()) - .exec(RunUnstructuredToArmDataStoreScenario.RunUnstructuredToArmDataStore()) - .pause(300) - .exec(RunApplyRetentionTaskScenario.RunApplyRetentionTask()) - .exec(RunApplyRetentionCaseAssociatedObjectsTaskScenario.RunApplyRetentionCaseAssociatedObjectsTask()) + //public static ScenarioBuilder build(String scenarioName) { + // return scenario(scenarioName) + // .group("Automated Tasks") + // .on(exec(GetApiTokenScenario.getApiToken()) + //.repeat(1) + //.on(exec(RunInboundToUnstructuredDataStoreScenario.RunInboundToUnstructuredDataStore()) + //.exec(RunUnstructuredToArmDataStoreScenario.RunUnstructuredToArmDataStore()) + //.pause(300) + //.exec(RunApplyRetentionTaskScenario.RunApplyRetentionTask()) + //.exec(RunApplyRetentionCaseAssociatedObjectsTaskScenario.RunApplyRetentionCaseAssociatedObjectsTask()) // .exec(RunProcessArmResponseFilesTaskScenario.RunProcessArmResponseFilesTask()) - ) - ); - } + // ) +//); + // } } \ No newline at end of file diff --git a/src/gatling/java/simulations/Scripts/Utilities/AppConfig.java b/src/gatling/java/simulations/Scripts/Utilities/AppConfig.java index 4fea0958..fc2c8705 100644 --- a/src/gatling/java/simulations/Scripts/Utilities/AppConfig.java +++ b/src/gatling/java/simulations/Scripts/Utilities/AppConfig.java @@ -6,6 +6,7 @@ public class AppConfig { + public static final boolean ENABLE_PROXY = false; //EXTERNAL Tenant public static final String PERFORMANCE_EXTERNAL_CLIENT_ID = getProperty("PERFORMANCE_EXTERNAL_CLIENT_ID"); public static final String PERFORMANCE_EXTERNAL_CLIENT_SECRET = getProperty("PERFORMANCE_EXTERNAL_CLIENT_SECRET"); @@ -44,6 +45,7 @@ public class AppConfig { public static final long RANK_UP_TIME_SECONDS; public static final long RANK_DOWN_TIME_SECONDS; public static final int REQUESTS_PER_SECOND; + public static final String EVENTS_TO_UPDATE_FILE_PATH = ""; private static final double REQUESTS_PER_SECOND_PER_USER; //Nightly Run Parameters @@ -491,6 +493,7 @@ public String getEndpoint() { Paths.get(TRANSFORMED_MEDIA_PLAYBACK_IDS_FILE_PATH_CSV).toString(); public static final String TRANSFORMED_MEDIA_DELETE_IDS_FILE_PATH = Paths.get(TRANSFORMED_MEDIA_DELETE_IDS_FILE_PATH_CSV).toString(); + public static final String EVENTS_TO_UPDATE_FILE_PATH = Paths.get(EVENTS_TO_UPDATE_CSV).toString(); // List of Document files public static final String[] DOCUMENT_FILES = {"SampleDoc2.docx"}; diff --git a/src/gatling/java/simulations/Scripts/Utilities/Feeders.java b/src/gatling/java/simulations/Scripts/Utilities/Feeders.java index 8a8322b1..fca59cb6 100644 --- a/src/gatling/java/simulations/Scripts/Utilities/Feeders.java +++ b/src/gatling/java/simulations/Scripts/Utilities/Feeders.java @@ -14,8 +14,10 @@ import io.gatling.javaapi.core.FeederBuilder; import io.gatling.javaapi.jdbc.JdbcDsl; import io.gatling.javaapi.core.CheckBuilder; +import lombok.extern.slf4j.Slf4j; +@Slf4j public class Feeders { public static final FeederBuilder AudioRequestCSV; public static final FeederBuilder JudgesCSV; @@ -36,7 +38,6 @@ public class Feeders { private static final AtomicInteger COUNTER; - private static final Logger log = Logger.getLogger(Feeders.class.getName()); static { //Audio Files @@ -47,19 +48,19 @@ public class Feeders { //Users try { - System.out.println("Loading CSV: " + AppConfig.DARTS_PORTAL_LANGUAGESHOP_FILE_PATH); + log.info("Loading CSV: " + AppConfig.DARTS_PORTAL_LANGUAGESHOP_FILE_PATH); LanguageShopUsers = CoreDsl.csv(AppConfig.DARTS_PORTAL_LANGUAGESHOP_FILE_PATH).circular(); - System.out.println("Loading CSV: " + AppConfig.DARTS_PORTAL_COURTCLERK_USERS_CSV); + log.info("Loading CSV: " + AppConfig.DARTS_PORTAL_COURTCLERK_USERS_CSV); CourtClerkUsers = CoreDsl.csv(AppConfig.DARTS_PORTAL_COURTCLERK_USERS_CSV).circular(); - System.out.println("Loading CSV: " + AppConfig.DARTS_PORTAL_TRANSCRIBERS_USERS_FILE_PATH); + log.info("Loading CSV: " + AppConfig.DARTS_PORTAL_TRANSCRIBERS_USERS_FILE_PATH); TranscriberUsers = CoreDsl.csv(AppConfig.DARTS_PORTAL_TRANSCRIBERS_USERS_FILE_PATH).circular(); - System.out.println("Loading CSV: " + AppConfig.DARTS_PORTAL_COURTMANAGER_USERS_FILE_PATH); + log.info("Loading CSV: " + AppConfig.DARTS_PORTAL_COURTMANAGER_USERS_FILE_PATH); CourtManagerUsers = CoreDsl.csv(AppConfig.DARTS_PORTAL_COURTMANAGER_USERS_FILE_PATH).circular(); - System.out.println("Loading CSV: " + AppConfig.DARTS_PORTAL_JUDGE_USERS_FILE_PATH); + log.info("Loading CSV: " + AppConfig.DARTS_PORTAL_JUDGE_USERS_FILE_PATH); JudgeUsers = CoreDsl.csv(AppConfig.DARTS_PORTAL_JUDGE_USERS_FILE_PATH).circular(); } catch (Exception e) { System.err.println("Error loading CSV: " + e.getMessage()); @@ -240,7 +241,7 @@ public static String getRandomAudioFile() { public static void main(String[] args) { // Test the getRandomAudioFile method for (int i = 0; i < 100; i++) { - System.out.println(getRandomAudioFile()); + log.info(getRandomAudioFile()); } } diff --git a/src/gatling/java/simulations/Scripts/Utilities/HttpUtil.java b/src/gatling/java/simulations/Scripts/Utilities/HttpUtil.java new file mode 100644 index 00000000..76019bf7 --- /dev/null +++ b/src/gatling/java/simulations/Scripts/Utilities/HttpUtil.java @@ -0,0 +1,18 @@ +package simulations.Scripts.Utilities; + +import io.gatling.javaapi.http.HttpDsl; +import io.gatling.javaapi.http.HttpProtocolBuilder; + +import static io.gatling.javaapi.http.HttpDsl.Proxy; + +public class HttpUtil { + + public static HttpProtocolBuilder getHttpProtocol() { + + HttpProtocolBuilder builder = HttpDsl.http; + if (AppConfig.ENABLE_PROXY) { + builder = builder.proxy(Proxy(AppConfig.PROXY_HOST, AppConfig.PROXY_PORT)); + } + return builder; + } +} diff --git a/src/gatling/java/simulations/Scripts/Utilities/NumberGenerator.java b/src/gatling/java/simulations/Scripts/Utilities/NumberGenerator.java index 0be53783..767844cd 100644 --- a/src/gatling/java/simulations/Scripts/Utilities/NumberGenerator.java +++ b/src/gatling/java/simulations/Scripts/Utilities/NumberGenerator.java @@ -1,7 +1,10 @@ package simulations.Scripts.Utilities; +import lombok.extern.slf4j.Slf4j; + import java.util.Random; +@Slf4j public class NumberGenerator { private int currentValue; @@ -26,14 +29,14 @@ public static long generateRandom13DigitNumber() { public static void RandomNumberGenerator(String[] args) { Random random = new Random(); int randomNumber = random.nextInt(); - System.out.println("Random Number: " + randomNumber); + log.info("Random Number: " + randomNumber); int minRange = 0; int maxRange = 100; int randomInRange = random.nextInt(maxRange - minRange + 1) + minRange; - System.out.println("Random Number in Range (0 to 100): " + randomInRange); + log.info("Random Number in Range (0 to 100): " + randomInRange); double randomDouble = random.nextDouble(); - System.out.println("Random Double: " + randomDouble); + log.info("Random Double: " + randomDouble); } } diff --git a/src/gatling/java/simulations/Scripts/Utilities/RandomDateGenerator.java b/src/gatling/java/simulations/Scripts/Utilities/RandomDateGenerator.java index 06ef1971..e767ec52 100644 --- a/src/gatling/java/simulations/Scripts/Utilities/RandomDateGenerator.java +++ b/src/gatling/java/simulations/Scripts/Utilities/RandomDateGenerator.java @@ -1,7 +1,10 @@ package simulations.Scripts.Utilities; +import lombok.extern.slf4j.Slf4j; + import java.time.LocalDate; import java.util.concurrent.ThreadLocalRandom; +@Slf4j public class RandomDateGenerator { public static void main(String[] args) { @@ -29,8 +32,8 @@ public static void main(String[] args) { randomDateTo = randomDateTo.isAfter(currentDate) ? currentDate : randomDateTo; // Print the random dates - System.out.println("Random Date From: " + randomDateFrom); - System.out.println("Random Date To: " + randomDateTo); + log.info("Random Date From: " + randomDateFrom); + log.info("Random Date To: " + randomDateTo); } public static LocalDate getRandomDate(LocalDate startDate, LocalDate endDate) { diff --git a/src/gatling/java/simulations/Scripts/Utilities/TimestampGenerator.java b/src/gatling/java/simulations/Scripts/Utilities/TimestampGenerator.java index 40372d66..e5840b2e 100644 --- a/src/gatling/java/simulations/Scripts/Utilities/TimestampGenerator.java +++ b/src/gatling/java/simulations/Scripts/Utilities/TimestampGenerator.java @@ -1,9 +1,12 @@ package simulations.Scripts.Utilities; +import lombok.extern.slf4j.Slf4j; + import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.concurrent.ThreadLocalRandom; +@Slf4j public class TimestampGenerator { // Method to generate a timestamp representing the current time @@ -24,7 +27,7 @@ public static String getCurrentTimestamp() { } public static void main(String[] args) { - System.out.println(getCurrentTimestamp()); + log.info(getCurrentTimestamp()); } } @@ -45,7 +48,7 @@ public static void main(String[] args) { LocalDateTime endTime = getRandomTime(startTime, minHoursDifference, maxHoursDifference); // Output the results - System.out.println("Start Time: " + startTime); - System.out.println("End Time: " + endTime); + log.info("Start Time: " + startTime); + log.info("End Time: " + endTime); } } diff --git a/src/gatling/java/simulations/Scripts/Utilities/Util.java b/src/gatling/java/simulations/Scripts/Utilities/Util.java new file mode 100644 index 00000000..1f23775a --- /dev/null +++ b/src/gatling/java/simulations/Scripts/Utilities/Util.java @@ -0,0 +1,31 @@ +package simulations.Scripts.Utilities; + +import io.gatling.javaapi.core.Session; +import lombok.extern.slf4j.Slf4j; + +import java.time.Duration; + +@Slf4j +public class Util { + + public static void logSession(Session session) { + log.info("Request: " + session.getString("responseBody")); + log.info("Response: " + session.getString("responseBody")); + } + + public static void logSession(Session session, String... keys) { + for (String key : keys) { + log.info("Session Key: {} Value: {}", key, session.getString(key)); + } + } + + public static Duration getDurationFromSeconds(int seconds) { + return Duration.ofSeconds(seconds); +// return Duration.ofSeconds(0); + } + + public static Duration getDurationFromMillis(int millis) { + return Duration.ofMillis(millis); +// return Duration.ofSeconds(0); + } +} diff --git a/src/gatling/java/simulations/models/AdvancedSearchPayload.java b/src/gatling/java/simulations/models/AdvancedSearchPayload.java new file mode 100644 index 00000000..9b75de1a --- /dev/null +++ b/src/gatling/java/simulations/models/AdvancedSearchPayload.java @@ -0,0 +1,38 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class AdvancedSearchPayload { + + @JsonProperty("case_number") + private String caseNumber; + + @JsonProperty("courthouse_ids") + private List courthouseIds; + + @JsonProperty("courtroom") + private String courtroom; + + @JsonProperty("judge_name") + private String judgeName; + + @JsonProperty("defendant_name") + private String defendantName; + + @JsonProperty("date_from") + private String dateFrom; + + @JsonProperty("date_to") + private String dateTo; + + @JsonProperty("event_text_contains") + private String eventTextContains; +} diff --git a/src/gatling/java/simulations/models/AudioRequestBody.java b/src/gatling/java/simulations/models/AudioRequestBody.java new file mode 100644 index 00000000..f9048fe1 --- /dev/null +++ b/src/gatling/java/simulations/models/AudioRequestBody.java @@ -0,0 +1,24 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class AudioRequestBody { + + @JsonProperty("hearing_id") + private Object hearingId; + + @JsonProperty("requestor") + private Object requestor; + + @JsonProperty("start_time") + private String startTime; + + @JsonProperty("end_time") + private String endTime; +} diff --git a/src/gatling/java/simulations/models/AudioUploadRequestBody.java b/src/gatling/java/simulations/models/AudioUploadRequestBody.java new file mode 100644 index 00000000..d2062a87 --- /dev/null +++ b/src/gatling/java/simulations/models/AudioUploadRequestBody.java @@ -0,0 +1,47 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class AudioUploadRequestBody { + + @JsonProperty("started_at") + private String startedAt; + + @JsonProperty("ended_at") + private String endedAt; + + @JsonProperty("channel") + private Integer channel; + + @JsonProperty("total_channels") + private Integer totalChannels; + + @JsonProperty("format") + private String format; + + @JsonProperty("filename") + private String filename; + + @JsonProperty("courthouse") + private String courthouse; + + @JsonProperty("courtroom") + private String courtroom; + + @JsonProperty("file_size") + private Double fileSize; + + @JsonProperty("checksum") + private String checksum; + + @JsonProperty("cases") + private List cases; +} diff --git a/src/gatling/java/simulations/models/CaseRequestBody.java b/src/gatling/java/simulations/models/CaseRequestBody.java new file mode 100644 index 00000000..0c8fad79 --- /dev/null +++ b/src/gatling/java/simulations/models/CaseRequestBody.java @@ -0,0 +1,35 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class CaseRequestBody { + + @JsonProperty("courthouse") + private String courthouse; + + @JsonProperty("case_number") + private String caseNumber; + + @JsonProperty("case_type") + private String caseType; + + @JsonProperty("defendants") + private List defendants; + + @JsonProperty("judges") + private List judges; + + @JsonProperty("prosecutors") + private List prosecutors; + + @JsonProperty("defenders") + private List defenders; +} diff --git a/src/gatling/java/simulations/models/CaseSearchRequestBody.java b/src/gatling/java/simulations/models/CaseSearchRequestBody.java new file mode 100644 index 00000000..4a7c2f0c --- /dev/null +++ b/src/gatling/java/simulations/models/CaseSearchRequestBody.java @@ -0,0 +1,15 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class CaseSearchRequestBody { + + @JsonProperty("case_number") + private String caseNumber; +} diff --git a/src/gatling/java/simulations/models/CourtHouseRequestBody.java b/src/gatling/java/simulations/models/CourtHouseRequestBody.java new file mode 100644 index 00000000..2f183dab --- /dev/null +++ b/src/gatling/java/simulations/models/CourtHouseRequestBody.java @@ -0,0 +1,18 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class CourtHouseRequestBody { + + @JsonProperty("courthouse_name") + private String courthouseName; + + @JsonProperty("display_name") + private String displayName; +} diff --git a/src/gatling/java/simulations/models/EventRequestBody.java b/src/gatling/java/simulations/models/EventRequestBody.java new file mode 100644 index 00000000..ece6f46c --- /dev/null +++ b/src/gatling/java/simulations/models/EventRequestBody.java @@ -0,0 +1,53 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class EventRequestBody { + + @JsonProperty("event_id") + private Object eventId; + + @JsonProperty("message_id") + private Object messageId; + + @JsonProperty("event_text") + private String eventText; + + @JsonProperty("type") + private String type; + + @JsonProperty("sub_type") + private String subType; + + @JsonProperty("courthouse") + private String courthouse; + + @JsonProperty("courtroom") + private String courtroom; + + @JsonProperty("case_numbers") + private List caseNumbers; + + @JsonProperty("date_time") + private String dateTime; + + @JsonProperty("start_time") + private String startTime; + + @JsonProperty("end_time") + private String endTime; + + @JsonProperty("retention_policy") + private RetentionPolicy retentionPolicy; + + @JsonProperty("is_mid_tier") + private Boolean isMidTier; +} diff --git a/src/gatling/java/simulations/models/GetCredentialType.java b/src/gatling/java/simulations/models/GetCredentialType.java new file mode 100644 index 00000000..b43e7556 --- /dev/null +++ b/src/gatling/java/simulations/models/GetCredentialType.java @@ -0,0 +1,60 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class GetCredentialType { + + @JsonProperty("username") + private String username; + + @JsonProperty("isOtherIdpSupported") + private boolean otherIdpSupported; + + @JsonProperty("checkPhones") + private boolean checkPhones; + + @JsonProperty("isRemoteNGCSupported") + private boolean remoteNGCSupported; + + @JsonProperty("isCookieBannerShown") + private boolean cookieBannerShown; + + @JsonProperty("isFidoSupported") + private boolean fidoSupported; + + @JsonProperty("originalRequest") + private String originalRequest; + + @JsonProperty("country") + private String country; + + @JsonProperty("forceotclogin") + private boolean forceOtpLogin; + + @JsonProperty("isExternalFederationDisallowed") + private boolean externalFederationDisallowed; + + @JsonProperty("isRemoteConnectSupported") + private boolean remoteConnectSupported; + + @JsonProperty("federationFlags") + private int federationFlags; + + @JsonProperty("isSignup") + private boolean signup; + + @JsonProperty("flowToken") + private String flowToken; + + @JsonProperty("isAccessPassSupported") + private boolean accessPassSupported; + + @JsonProperty("isQrCodePinSupported") + private boolean qrCodePinSupported; +} diff --git a/src/gatling/java/simulations/models/PerfTraceRequest.java b/src/gatling/java/simulations/models/PerfTraceRequest.java new file mode 100644 index 00000000..7b629c32 --- /dev/null +++ b/src/gatling/java/simulations/models/PerfTraceRequest.java @@ -0,0 +1,258 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class PerfTraceRequest { + + @JsonProperty("navigation") + private PerfTraceNavigation navigation; + + @JsonProperty("timing") + private PerfTraceTiming timing; + + @JsonProperty("entries") + private List entries; + + @JsonProperty("connection") + private PerfTraceConnection connection; + + @Data + @Builder + @JsonInclude(JsonInclude.Include.ALWAYS) + public static class PerfTraceNavigation { + @JsonProperty("type") + private Integer type; + + @JsonProperty("redirectCount") + private Integer redirectCount; + } + + @Data + @Builder + @JsonInclude(JsonInclude.Include.ALWAYS) + public static class PerfTraceTiming { + @JsonProperty("connectStart") + private Double connectStart; + + @JsonProperty("navigationStart") + private Double navigationStart; + + @JsonProperty("secureConnectionStart") + private Double secureConnectionStart; + + @JsonProperty("fetchStart") + private Double fetchStart; + + @JsonProperty("domContentLoadedEventStart") + private Double domContentLoadedEventStart; + + @JsonProperty("responseStart") + private Double responseStart; + + @JsonProperty("domInteractive") + private Double domInteractive; + + @JsonProperty("domainLookupEnd") + private Double domainLookupEnd; + + @JsonProperty("responseEnd") + private Double responseEnd; + + @JsonProperty("redirectStart") + private Double redirectStart; + + @JsonProperty("requestStart") + private Double requestStart; + + @JsonProperty("unloadEventEnd") + private Double unloadEventEnd; + + @JsonProperty("unloadEventStart") + private Double unloadEventStart; + + @JsonProperty("domLoading") + private Double domLoading; + + @JsonProperty("domComplete") + private Double domComplete; + + @JsonProperty("domainLookupStart") + private Double domainLookupStart; + + @JsonProperty("loadEventStart") + private Double loadEventStart; + + @JsonProperty("domContentLoadedEventEnd") + private Double domContentLoadedEventEnd; + + @JsonProperty("loadEventEnd") + private Double loadEventEnd; + + @JsonProperty("redirectEnd") + private Double redirectEnd; + + @JsonProperty("connectEnd") + private Double connectEnd; + } + + @Data + @Builder + @JsonInclude(JsonInclude.Include.ALWAYS) + public static class PerfTraceEntry { + @JsonProperty("name") + private String name; + + @JsonProperty("entryType") + private String entryType; + + @JsonProperty("startTime") + private Double startTime; + + @JsonProperty("duration") + private Double duration; + + @JsonProperty("initiatorType") + private String initiatorType; + + @JsonProperty("deliveryType") + private String deliveryType; + + @JsonProperty("nextHopProtocol") + private String nextHopProtocol; + + @JsonProperty("renderBlockingStatus") + private String renderBlockingStatus; + + @JsonProperty("workerStart") + private Double workerStart; + + @JsonProperty("redirectStart") + private Double redirectStart; + + @JsonProperty("redirectEnd") + private Double redirectEnd; + + @JsonProperty("fetchStart") + private Double fetchStart; + + @JsonProperty("domainLookupStart") + private Double domainLookupStart; + + @JsonProperty("domainLookupEnd") + private Double domainLookupEnd; + + @JsonProperty("connectStart") + private Double connectStart; + + @JsonProperty("secureConnectionStart") + private Double secureConnectionStart; + + @JsonProperty("connectEnd") + private Double connectEnd; + + @JsonProperty("requestStart") + private Double requestStart; + + @JsonProperty("responseStart") + private Double responseStart; + + @JsonProperty("firstInterimResponseStart") + private Double firstInterimResponseStart; + + @JsonProperty("responseEnd") + private Double responseEnd; + + @JsonProperty("transferSize") + private Integer transferSize; + + @JsonProperty("encodedBodySize") + private Integer encodedBodySize; + + @JsonProperty("decodedBodySize") + private Integer decodedBodySize; + + @JsonProperty("responseStatus") + private Integer responseStatus; + + @JsonProperty("serverTiming") + private List serverTiming; + + @JsonProperty("unloadEventStart") + private Double unloadEventStart; + + @JsonProperty("unloadEventEnd") + private Double unloadEventEnd; + + @JsonProperty("domInteractive") + private Double domInteractive; + + @JsonProperty("domContentLoadedEventStart") + private Double domContentLoadedEventStart; + + @JsonProperty("domContentLoadedEventEnd") + private Double domContentLoadedEventEnd; + + @JsonProperty("domComplete") + private Double domComplete; + + @JsonProperty("loadEventStart") + private Double loadEventStart; + + @JsonProperty("loadEventEnd") + private Double loadEventEnd; + + @JsonProperty("type") + private String type; + + @JsonProperty("redirectCount") + private Integer redirectCount; + + @JsonProperty("activationStart") + private Integer activationStart; + + @JsonProperty("criticalCHRestart") + private Integer criticalCHRestart; + } + + @Data + @Builder + @JsonInclude(JsonInclude.Include.ALWAYS) + public static class PerfTraceServerTiming { + @JsonProperty("name") + private String name; + + @JsonProperty("duration") + private Double duration; + + @JsonProperty("description") + private String description; + } + + @Data + @Builder + @JsonInclude(JsonInclude.Include.ALWAYS) + public static class PerfTraceConnection { + @JsonProperty("onchange") + private Object onchange; + + @JsonProperty("effectiveType") + private String effectiveType; + + @JsonProperty("rtt") + private Double rtt; + + @JsonProperty("downlink") + private Double downlink; + + @JsonProperty("saveData") + private Boolean saveData; + } +} diff --git a/src/gatling/java/simulations/models/PostAudioRequestBody.java b/src/gatling/java/simulations/models/PostAudioRequestBody.java new file mode 100644 index 00000000..49447f5a --- /dev/null +++ b/src/gatling/java/simulations/models/PostAudioRequestBody.java @@ -0,0 +1,24 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class PostAudioRequestBody { + + @JsonProperty("hearing_id") + private String hearingId; + + @JsonProperty("requestor") + private String requestor; + + @JsonProperty("start_time") + private String startTime; + + @JsonProperty("end_time") + private String endTime; +} diff --git a/src/gatling/java/simulations/models/RetentionPolicy.java b/src/gatling/java/simulations/models/RetentionPolicy.java new file mode 100644 index 00000000..2fa8a549 --- /dev/null +++ b/src/gatling/java/simulations/models/RetentionPolicy.java @@ -0,0 +1,18 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class RetentionPolicy { + + @JsonProperty("case_retention_fixed_policy") + private String caseRetentionFixedPolicy; + + @JsonProperty("case_total_sentence") + private String caseTotalSentence; +} diff --git a/src/gatling/java/simulations/models/RetentionRequestBody.java b/src/gatling/java/simulations/models/RetentionRequestBody.java new file mode 100644 index 00000000..704a61b5 --- /dev/null +++ b/src/gatling/java/simulations/models/RetentionRequestBody.java @@ -0,0 +1,21 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class RetentionRequestBody { + + @JsonProperty("case_id") + private String caseId; + + @JsonProperty("is_permanent_retention") + private Boolean isPermanentRetention; + + @JsonProperty("comments") + private String comments; +} diff --git a/src/gatling/java/simulations/models/TranscriptionApprovalRequestBody.java b/src/gatling/java/simulations/models/TranscriptionApprovalRequestBody.java new file mode 100644 index 00000000..868f011c --- /dev/null +++ b/src/gatling/java/simulations/models/TranscriptionApprovalRequestBody.java @@ -0,0 +1,18 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class TranscriptionApprovalRequestBody { + + @JsonProperty("transcription_status_id") + private String transcriptionStatusId; + + @JsonProperty("workflow_comment") + private String workflowComment; +} diff --git a/src/gatling/java/simulations/models/TranscriptionPatchAcceptRequestBody.java b/src/gatling/java/simulations/models/TranscriptionPatchAcceptRequestBody.java new file mode 100644 index 00000000..b69b941c --- /dev/null +++ b/src/gatling/java/simulations/models/TranscriptionPatchAcceptRequestBody.java @@ -0,0 +1,18 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class TranscriptionPatchAcceptRequestBody { + + @JsonProperty("transcription_status_id") + private String transcriptionStatusId; + + @JsonProperty("workflow_comment") + private String workflowComment; +} diff --git a/src/gatling/java/simulations/models/TranscriptionRequestBody.java b/src/gatling/java/simulations/models/TranscriptionRequestBody.java new file mode 100644 index 00000000..ccbf5cf3 --- /dev/null +++ b/src/gatling/java/simulations/models/TranscriptionRequestBody.java @@ -0,0 +1,28 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class TranscriptionRequestBody { + + @JsonProperty("hearing_id") + private String hearingId; + + @JsonProperty("case_id") + private String caseId; + + @JsonProperty("transcription_urgency_id") + private String transcriptionUrgencyId; + + @JsonProperty("transcription_type_id") + private String transcriptionTypeId; + + @JsonProperty("comment") + private String comment; +} + diff --git a/src/gatling/java/simulations/models/TranscriptionsRequestBody.java b/src/gatling/java/simulations/models/TranscriptionsRequestBody.java new file mode 100644 index 00000000..d1c6f493 --- /dev/null +++ b/src/gatling/java/simulations/models/TranscriptionsRequestBody.java @@ -0,0 +1,33 @@ +package simulations.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +@JsonInclude(JsonInclude.Include.ALWAYS) +public class TranscriptionsRequestBody { + + @JsonProperty("case_id") + private String caseId; + + @JsonProperty("hearing_id") + private String hearingId; + + @JsonProperty("transcription_type_id") + private Integer transcriptionTypeId; + + @JsonProperty("transcription_urgency_id") + private Integer transcriptionUrgencyId; + + @JsonProperty("comment") + private String comment; + + @JsonProperty("start_date_time") + private String startDateTime; + + @JsonProperty("end_date_time") + private String endDateTime; +} diff --git a/src/gatling/resources/logback-test.xml b/src/gatling/resources/logback-test.xml new file mode 100644 index 00000000..473fdc32 --- /dev/null +++ b/src/gatling/resources/logback-test.xml @@ -0,0 +1,19 @@ + + + + + + %d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx + + false + + + + + + + + + + + \ No newline at end of file