Skip to content

Commit 37bea81

Browse files
authored
chore: add PR check to verify examples and integration tests (#45)
1 parent 4462341 commit 37bea81

File tree

10 files changed

+70
-10
lines changed

10 files changed

+70
-10
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Verify Examples and Integration Tests
2+
on:
3+
pull_request:
4+
branches:
5+
- 'main'
6+
jobs:
7+
detect-changes:
8+
runs-on: ubuntu-latest
9+
permissions:
10+
pull-requests: read
11+
outputs:
12+
examples: ${{ steps.filter.outputs.examples }}
13+
integration-tests: ${{ steps.filter.outputs.integration-tests }}
14+
steps:
15+
- uses: dorny/paths-filter@v3
16+
id: filter
17+
with:
18+
filters: |
19+
examples:
20+
- 'examples/**'
21+
integration-tests:
22+
- 'tests/integration/**'
23+
24+
verify-examples:
25+
needs: detect-changes
26+
if: ${{ needs.detect-changes.outputs.examples == 'true' }}
27+
runs-on: ubuntu-latest
28+
steps:
29+
- uses: actions/checkout@v4
30+
- uses: actions/setup-java@v4
31+
with:
32+
java-version: '11'
33+
distribution: 'temurin'
34+
- name: verify examples
35+
working-directory: examples
36+
run: |
37+
mvn verify \
38+
-Dcom.expediagroup.xapjavasdk.apikey="${{ secrets.API_KEY }}" \
39+
-Dcom.expediagroup.xapjavasdk.apisecret="${{ secrets.API_SECRET }}" \
40+
-Dcom.expediagroup.xapjavasdk.vrbokey="${{ secrets.VRBO_KEY }}" \
41+
-Dcom.expediagroup.xapjavasdk.vrbosecret="${{ secrets.VRBO_SECRET }}" \
42+
43+
verify-integration-tests:
44+
needs: detect-changes
45+
if: ${{ needs.detect-changes.outputs.integration-tests == 'true' }}
46+
runs-on: ubuntu-latest
47+
steps:
48+
- uses: actions/checkout@v4
49+
- uses: actions/setup-java@v4
50+
with:
51+
java-version: '11'
52+
distribution: 'temurin'
53+
- name: verify integration tests
54+
working-directory: tests/integration
55+
run: |
56+
mvn verify \
57+
-Dcom.expediagroup.xapjavasdk.apikey="${{ secrets.API_KEY }}" \
58+
-Dcom.expediagroup.xapjavasdk.apisecret="${{ secrets.API_SECRET }}" \
59+
-Dcom.expediagroup.xapjavasdk.vrbokey="${{ secrets.VRBO_KEY }}" \
60+
-Dcom.expediagroup.xapjavasdk.vrbosecret="${{ secrets.VRBO_SECRET }}"

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ and less on the technical details of the API.
1717
You can find code examples for multiple use cases in the [examples](examples) directory.
1818

1919
### Integration Tests
20-
Integration tests are placed in the [integrations](integrations) directory.
20+
Integration tests are placed in the [integrations](tests/integration) directory.
2121

2222
---
2323

@@ -27,4 +27,4 @@ If you have any questions or need help with XAP, please refer to the
2727
[XAP Support](https://developers.expediagroup.com/xap/support) page.
2828

2929
If you experience any issues with the SDK, please raise an issue on the
30-
[GitHub repository](https://github.com/ExpediaGroup/xap-java-sdk/issues).
30+
[GitHub repository](https://github.com/ExpediaGroup/xap-java-sdk/issues).
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,4 @@ account manager.
8484
8585
## License
8686
87-
This project is licensed under the Apache License v2.0 - see the [LICENSE](../LICENSE) for details.
87+
This project is licensed under the Apache License v2.0 - see the [LICENSE](../../LICENSE) for details.

integrations/src/test/java/com/expediagroup/sdk/xap/integrations/common/Constant.java renamed to tests/integration/src/test/java/com/expediagroup/sdk/xap/integrations/common/Constant.java

File renamed without changes.

integrations/src/test/java/com/expediagroup/sdk/xap/integrations/common/XapIT.java renamed to tests/integration/src/test/java/com/expediagroup/sdk/xap/integrations/common/XapIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* Extension for setting up the required components for testing.
1616
*/
1717
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
18-
public abstract class XapIT {
18+
public abstract class XapIntegrationTests {
1919

2020
protected static XapClient xapClient;
2121
protected static XapClient mockClient;

integrations/src/test/java/com/expediagroup/sdk/xap/integrations/lodging/AvailabilityCalendarsIT.java renamed to tests/integration/src/test/java/com/expediagroup/sdk/xap/integrations/lodging/AvailabilityCalendarsIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
/**
2929
* This class is used to test the integration of the Lodging Availability Calendars API.
3030
*/
31-
public class AvailabilityCalendarsIT extends VrboIT {
31+
public class AvailabilityCalendarsIntegrationTests extends VrboIntegrationTests {
3232

3333
@Test
3434
public void testRequest() {

integrations/src/test/java/com/expediagroup/sdk/xap/integrations/lodging/ListingsIT.java renamed to tests/integration/src/test/java/com/expediagroup/sdk/xap/integrations/lodging/ListingsIntegrationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import com.expediagroup.sdk.core.model.Response;
88
import com.expediagroup.sdk.xap.integrations.common.Constant;
9-
import com.expediagroup.sdk.xap.integrations.common.XapIT;
9+
import com.expediagroup.sdk.xap.integrations.common.XapIntegrationTests;
1010
import com.expediagroup.sdk.xap.models.AgeClassRestriction;
1111
import com.expediagroup.sdk.xap.models.BedType;
1212
import com.expediagroup.sdk.xap.models.CancellationPolicy;
@@ -62,7 +62,7 @@
6262
/**
6363
* This class is used to test the integration of the Lodging Listings API.
6464
*/
65-
public class ListingsIT extends XapIT {
65+
public class ListingsIntegrationTests extends XapIntegrationTests {
6666

6767
@Test
6868
public void testRequest() {

integrations/src/test/java/com/expediagroup/sdk/xap/integrations/lodging/QuotesIT.java renamed to tests/integration/src/test/java/com/expediagroup/sdk/xap/integrations/lodging/QuotesIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
/**
3636
* This class is used to test the integration of the Lodging Quotes API.
3737
*/
38-
public class QuotesIT extends VrboIT {
38+
public class QuotesIntegrationTests extends VrboIntegrationTests {
3939

4040
@Test
4141
public void testRequest() {

integrations/src/test/java/com/expediagroup/sdk/xap/integrations/lodging/VrboIT.java renamed to tests/integration/src/test/java/com/expediagroup/sdk/xap/integrations/lodging/VrboIntegrationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package com.expediagroup.sdk.xap.integrations.lodging;
22

33
import com.expediagroup.sdk.xap.client.XapClient;
4-
import com.expediagroup.sdk.xap.integrations.common.XapIT;
4+
import com.expediagroup.sdk.xap.integrations.common.XapIntegrationTests;
55
import org.apache.commons.lang3.StringUtils;
66
import org.junit.jupiter.api.BeforeAll;
77

88
/**
99
* Extension for setting up the required components for testing, specifically for Vrbo.
1010
*/
11-
public abstract class VrboIT extends XapIT {
11+
public abstract class VrboIntegrationTests extends XapIntegrationTests {
1212

1313
@BeforeAll
1414
static void vrboSetup() {

0 commit comments

Comments
 (0)