Skip to content

Commit b9be576

Browse files
committed
CCM-10483: iterate over providers
1 parent 69fbcf5 commit b9be576

File tree

2 files changed

+26
-19
lines changed

2 files changed

+26
-19
lines changed

tests/contracts/scripts/ci-verify-provider.sh

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,34 @@ source "${script_path}/lib/download-consumer-pacts.sh"
77

88
contract_tests_root_dir=$(realpath "${script_path}/..")
99

10-
SUMMARY_FILE="${GITHUB_STEP_SUMMARY:-/dev/null}"
10+
SUMMARY_FILE="${GITHUB_STEP_SUMMARY:-"$HOME/Desktop/summary.md"}"
11+
# SUMMARY_FILE="${GITHUB_STEP_SUMMARY:-/dev/null}"
1112

12-
echo "### Pact Provider Contract Test Results" >> "$SUMMARY_FILE"
13+
echo "### Pact Provider Contract Test Results" > "$SUMMARY_FILE"
14+
echo "" > "$SUMMARY_FILE"
1315
echo "| Provider | Consumer Pacts found? | Result |" >> "$SUMMARY_FILE"
1416
echo "|----------|-----------------------|--------|" >> "$SUMMARY_FILE"
1517

16-
provider="templates"
18+
providers=("auth" "templates")
1719

18-
echo "Downloading Pact files for provider: ${provider}"
20+
for provider in "${providers[@]}"; do
21+
echo "Downloading Pact files for provider: ${provider}"
1922

20-
count=$(download_consumer_pacts $provider)
23+
count=$(download_consumer_pacts $provider)
2124

22-
echo "Downloaded ${count} Pact files for provider: ${provider}"
25+
echo "Downloaded ${count} Pact files for provider: ${provider}"
2326

24-
if [[ "$count" -gt 0 ]]; then
25-
echo "Pact contracts found — running provider contract tests..."
27+
if [[ "$count" -gt 0 ]]; then
28+
echo "Pact contracts found — running $provider provider contract tests..."
2629

27-
if npm run test:provider; then
28-
echo "| ${provider} | 🟢 ${count} contracts found | 🟢 Passed |" >> "$SUMMARY_FILE"
30+
if npx jest tests/$provider/provider; then
31+
echo "| ${provider} | 🟢 ${count} contracts found | 🟢 Passed |" >> "$SUMMARY_FILE"
32+
else
33+
echo "| ${provider} | 🟢 ${count} contracts found | 🔴 Failed |" >> "$SUMMARY_FILE"
34+
exit 1
35+
fi
2936
else
30-
echo "| ${provider} | 🟢 ${count} contracts found | 🔴 Failed |" >> "$SUMMARY_FILE"
31-
exit 1
37+
echo "No Pact contracts found from consumers — skipping $provider provider contract tests..."
38+
echo "| ${provider} | 🟡 0 contracts found | 🟡 Skipped |" >> "$SUMMARY_FILE"
3239
fi
33-
else
34-
echo "| ${provider} | 🟡 0 contracts found | 🟡 Skipped |" >> "$SUMMARY_FILE"
35-
fi
40+
done

tests/contracts/scripts/download-consumer-pacts.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ script_path="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )";
66
source "${script_path}/lib/download-consumer-pacts.sh"
77

88
# Downloads all consumer-generated Pact contract files for a provider, for use in producer-side tests
9-
provider="templates"
9+
providers=("auth" "templates")
1010

11-
echo "Downloading Pact files for provider: ${provider}"
11+
for provider in "${providers[@]}"; do
12+
echo "Downloading Pact files for provider: ${provider}"
1213

13-
count=$(download_consumer_pacts $provider)
14+
count=$(download_consumer_pacts $provider)
1415

15-
echo "Downloaded ${count} Pact files for provider: ${provider}"
16+
echo "Downloaded ${count} Pact files for provider: ${provider}"
17+
done

0 commit comments

Comments
 (0)