From c45b4b64e0994efbd0303750bc3fd353ca0d15f8 Mon Sep 17 00:00:00 2001 From: "mohammadfaisalkhatri@gmail.com" Date: Sat, 31 May 2025 18:22:37 +0300 Subject: [PATCH 1/5] updated versions of dependencies in pom.xml --- pom.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index d7bc9be..79ef6c0 100644 --- a/pom.xml +++ b/pom.xml @@ -12,15 +12,15 @@ UTF-8 - 1.50.0 + 1.52.0 7.11.0 1.3 1.1.1 - 1.18.36 - 2.4.2 - 2.12.1 - 20250107 - 2.18.3 + 1.18.38 + 2.4.3 + 2.13.1 + 20250517 + 2.19.0 2.24.1 2.24.1 3.17.0 From 8642470ce5d3e60c4934b8684310ac5965439155 Mon Sep 17 00:00:00 2001 From: "mohammadfaisalkhatri@gmail.com" Date: Sat, 31 May 2025 18:25:41 +0300 Subject: [PATCH 2/5] updated readme --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e629d7b..34b4c34 100644 --- a/README.md +++ b/README.md @@ -40,11 +40,12 @@ You will get the answers to the following questions and its respective working c ## :writing_hand: Blog Links - [What is API Testing?](https://mfaisalkhatri.github.io/2020/08/08/apitesting/) - [How to perform End to End API Testing using Playwright with Java and TestNG](https://medium.com/@iamfaisalkhatri/how-to-perform-end-to-end-api-testing-using-playwright-with-java-and-testng-26b318927115) -- [Playwright Java API Testing | How to test POST requests?](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-how-to-test-post-requests-4c9102d3ab03) -- [Playwright Java API Testing | How to test GET requests?](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-how-to-test-get-requests-c036b984cc6d) -- [Playwright Java API Testing | How to test PUT requests?](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-how-to-test-put-requests-d6b1d054d64b) -- [Playwright Java API Testing | How to test PATCH requests?](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-how-to-test-patch-requests-f6b0867d91e7) -- [Playwright Java API Testing | How to test DELETE requests?](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-how-to-test-delete-requests-2ff77feb0383) +- [How to test POST API requests with Playwright Java](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-how-to-test-post-requests-4c9102d3ab03) +- [How to test GET API requests with Playwright Java](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-how-to-test-get-requests-c036b984cc6d) +- [How to test PUT API requests with Playwright Java](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-how-to-test-put-requests-d6b1d054d64b) +- [How to test PATCH API requests with Playwright Java](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-how-to-test-patch-requests-f6b0867d91e7) +- [How to test DELETE API requests with Playwright Java](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-how-to-test-delete-requests-2ff77feb0383) +- [How to Create a Custom Logger for Logging Response Details with Playwright Java](https://medium.com/@iamfaisalkhatri/playwright-java-api-testing-creating-custom-logger-for-logging-response-details-771e961d9faa) ## :question: Need Assistance? From 1a09eb4fd743f436ebced60c9fb1e25a35198b3e Mon Sep 17 00:00:00 2001 From: "mohammadfaisalkhatri@gmail.com" Date: Sat, 31 May 2025 18:28:00 +0300 Subject: [PATCH 3/5] updated plugin versions in pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 79ef6c0..d6c44a5 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 2.24.1 3.17.0 3.14.0 - 3.5.2 + 3.5.3 17 3.5.2 test-suite/testng.xml From 41d3018d9baa296ac18308000f60877c432063b8 Mon Sep 17 00:00:00 2001 From: "mohammadfaisalkhatri@gmail.com" Date: Sat, 31 May 2025 19:03:42 +0300 Subject: [PATCH 4/5] added api key for reqres tests, added api key to secrets on github and updated maven workflow to use the api key from secret, made formatting changes to the testng xml files --- .github/workflows/maven.yml | 4 +++- docker-compose-ecommerce.yml | 2 +- .../github/mfaisalkhatri/api/reqres/tests/BaseTest.java | 9 ++++++--- test-suite/testng-reqres.xml | 2 +- test-suite/testng-restfulecommerce-deleteorders.xml | 2 +- .../testng-restfulecommerce-partialupdateorder.xml | 2 +- test-suite/testng-restfulecommerce-postandgetorder.xml | 2 +- test-suite/testng-restfulecommerce-updateorder.xml | 2 +- 8 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index f8ac6b7..f496b3f 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -44,7 +44,9 @@ jobs: run: mvn clean install -DskipTests - name: Run tests - run: mvn clean test + env: + API_KEY: ${{ secrets.REQRES_API_KEY }} + run: mvn clean test -Dapi-key=$API_KEY - name: Stop restful booker service run: docker compose -f ./docker-compose-restfulbooker.yml down --remove-orphans diff --git a/docker-compose-ecommerce.yml b/docker-compose-ecommerce.yml index 7922b41..99d88e6 100644 --- a/docker-compose-ecommerce.yml +++ b/docker-compose-ecommerce.yml @@ -3,6 +3,6 @@ # To stop the execution, hit Ctrl+C, and then `docker compose -f docker-compose-ecommerce.yml down` services: restful-ecommerce: - image: mfaisalkhatri/restful-ecommerce-app + image: mfaisalkhatri/restful-ecommerce ports: - 3004:3004 \ No newline at end of file diff --git a/src/test/java/io/github/mfaisalkhatri/api/reqres/tests/BaseTest.java b/src/test/java/io/github/mfaisalkhatri/api/reqres/tests/BaseTest.java index bb8cffc..0f7222c 100644 --- a/src/test/java/io/github/mfaisalkhatri/api/reqres/tests/BaseTest.java +++ b/src/test/java/io/github/mfaisalkhatri/api/reqres/tests/BaseTest.java @@ -1,12 +1,12 @@ package io.github.mfaisalkhatri.api.reqres.tests; +import java.util.HashMap; +import java.util.Map; + import io.github.mfaisalkhatri.api.manager.RequestManager; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; -import java.util.HashMap; -import java.util.Map; - /** * @author Faisal Khatri * @since 2/28/2023 @@ -15,13 +15,16 @@ public class BaseTest { protected RequestManager manager; + @BeforeClass public void setup() { + String apiKey = System.getProperty ("api-key"); this.manager = new RequestManager(); this.manager.createPlaywright(); final String baseUrl = "https://reqres.in"; final Map headers = new HashMap<>(); headers.put("content-type", "application/json"); + headers.put ("x-api-key", apiKey); this.manager.setApiRequestContext(baseUrl, headers); } diff --git a/test-suite/testng-reqres.xml b/test-suite/testng-reqres.xml index eea5665..f6f5980 100644 --- a/test-suite/testng-reqres.xml +++ b/test-suite/testng-reqres.xml @@ -14,4 +14,4 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/test-suite/testng-restfulecommerce-deleteorders.xml b/test-suite/testng-restfulecommerce-deleteorders.xml index b467182..08b39e7 100644 --- a/test-suite/testng-restfulecommerce-deleteorders.xml +++ b/test-suite/testng-restfulecommerce-deleteorders.xml @@ -12,4 +12,4 @@ - + \ No newline at end of file diff --git a/test-suite/testng-restfulecommerce-partialupdateorder.xml b/test-suite/testng-restfulecommerce-partialupdateorder.xml index f18ec38..d484023 100644 --- a/test-suite/testng-restfulecommerce-partialupdateorder.xml +++ b/test-suite/testng-restfulecommerce-partialupdateorder.xml @@ -11,4 +11,4 @@ - + \ No newline at end of file diff --git a/test-suite/testng-restfulecommerce-postandgetorder.xml b/test-suite/testng-restfulecommerce-postandgetorder.xml index 8e109e2..956e284 100644 --- a/test-suite/testng-restfulecommerce-postandgetorder.xml +++ b/test-suite/testng-restfulecommerce-postandgetorder.xml @@ -11,4 +11,4 @@ - + \ No newline at end of file diff --git a/test-suite/testng-restfulecommerce-updateorder.xml b/test-suite/testng-restfulecommerce-updateorder.xml index 0d4cf6f..4b61103 100644 --- a/test-suite/testng-restfulecommerce-updateorder.xml +++ b/test-suite/testng-restfulecommerce-updateorder.xml @@ -20,4 +20,4 @@ - + \ No newline at end of file From 9adb0b78978549a4608a0bff222d97c7bc2de104 Mon Sep 17 00:00:00 2001 From: "mohammadfaisalkhatri@gmail.com" Date: Sat, 31 May 2025 19:07:08 +0300 Subject: [PATCH 5/5] updated correct image name for restful ecommerce --- docker-compose-ecommerce.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose-ecommerce.yml b/docker-compose-ecommerce.yml index 99d88e6..7922b41 100644 --- a/docker-compose-ecommerce.yml +++ b/docker-compose-ecommerce.yml @@ -3,6 +3,6 @@ # To stop the execution, hit Ctrl+C, and then `docker compose -f docker-compose-ecommerce.yml down` services: restful-ecommerce: - image: mfaisalkhatri/restful-ecommerce + image: mfaisalkhatri/restful-ecommerce-app ports: - 3004:3004 \ No newline at end of file