diff --git a/.sdkmanrc b/.sdkmanrc new file mode 100644 index 0000000..5f763b8 --- /dev/null +++ b/.sdkmanrc @@ -0,0 +1,3 @@ +# Enable auto-env through the sdkman_auto_env config +# Add key=value pairs of SDKs to use below +java=21.0.6-tem diff --git a/src/test/java/org/openmrs/performance/http/HttpService.java b/src/test/java/org/openmrs/performance/http/HttpService.java index 9a7522d..0432caa 100644 --- a/src/test/java/org/openmrs/performance/http/HttpService.java +++ b/src/test/java/org/openmrs/performance/http/HttpService.java @@ -115,4 +115,12 @@ public HttpRequestActionBuilder getActiveOrders(String patientUuid) { return http("Get Active Orders") .get("/openmrs/ws/rest/v1/order?patient="+patientUuid+"&careSetting=6f0c9a92-6f24-11e3-af88-005056821db0&status=ACTIVE&orderType=131168f4-15f5-102d-96e4-000c29c2a5d7&v=custom:(uuid,dosingType,orderNumber,accessionNumber,patient:ref,action,careSetting:ref,previousOrder:ref,dateActivated,scheduledDate,dateStopped,autoExpireDate,orderType:ref,encounter:ref,orderer:(uuid,display,person:(display)),orderReason,orderReasonNonCoded,orderType,urgency,instructions,commentToFulfiller,drug:(uuid,display,strength,dosageForm:(display,uuid),concept),dose,doseUnits:ref,frequency:ref,asNeeded,asNeededCondition,quantity,quantityUnits:ref,numRefills,dosingInstructions,duration,durationUnits:ref,route:ref,brandName,dispenseAsWritten)"); } -} + // Add the logoutRequest method + public HttpRequestActionBuilder logoutRequest() { + return http("Logout") + .post("/openmrs/ws/rest/v1/session") + .header("Authorization", "Basic YWRtaW46QWRtaW4xMjM=") + .body(StringBody("{\"action\":\"logout\"}")) + .check(jsonPath("$.authenticated").is("false")); + } + } diff --git a/src/test/java/org/openmrs/performance/scenarios/UserLogoutScenario.java b/src/test/java/org/openmrs/performance/scenarios/UserLogoutScenario.java new file mode 100644 index 0000000..b293501 --- /dev/null +++ b/src/test/java/org/openmrs/performance/scenarios/UserLogoutScenario.java @@ -0,0 +1,21 @@ +package org.openmrs.performance.scenarios; + +import io.gatling.javaapi.core.ScenarioBuilder; +import org.openmrs.performance.registries.Registry; +import org.openmrs.performance.http.HttpService; + +import static io.gatling.javaapi.core.CoreDsl.*; + +public class UserLogoutScenario extends Scenario<Registry<HttpService>> { + + public UserLogoutScenario(float scenarioLoadShare, Registry<HttpService> registry) { + super(scenarioLoadShare, registry); + } + + @Override + public ScenarioBuilder getScenarioBuilder() { + return scenario("User Logout Scenario") + .exec(registry.httpService.logoutRequest()) + .pause(1); + } +}