Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: extract response ids in postman collection #352

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/run-e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ jobs:
- name: "Setup Kubectl"
uses: azure/setup-kubectl@v4

- name: "Setup Terraform"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this necessary?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see comment on the main thread

uses: hashicorp/setup-terraform@v3

- uses: actions/checkout@v4

- uses: eclipse-edc/.github/.github/actions/setup-build@main
Expand Down
104 changes: 104 additions & 0 deletions .github/workflows/test_controlplane_management.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
#
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License, Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# SPDX-License-Identifier: Apache-2.0
#

name: Run Newman Test for the Control Plane Management

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
newman_test:
runs-on: ubuntu-latest
steps:
- name: "Setup Helm"
uses: azure/setup-helm@v4
with:
version: v3.8.1

- name: "Setup Kubectl"
uses: azure/setup-kubectl@v4

- uses: actions/checkout@v4

- uses: eclipse-edc/.github/.github/actions/setup-build@main

- name: "Setup Terraform"
uses: hashicorp/setup-terraform@v3

- name: "Build runtime images"
working-directory: ./
run: |
./gradlew -Ppersistence=true dockerize


- name: "Create k8s Kind Cluster"
uses: helm/[email protected]
with:
config: deployment/kind.config.yaml
cluster_name: dcp-demo

- name: "Load runtime images into KinD"
run: kind load docker-image controlplane:latest dataplane:latest identity-hub:latest catalog-server:latest sts:latest -n dcp-demo

- name: "Install nginx ingress controller"
run: |-
echo "::notice title=nginx ingress on KinD::For details how to run nginx ingress on KinD check https://kind.sigs.k8s.io/docs/user/ingress/#ingress-nginx"
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
kubectl wait --namespace ingress-nginx \
--for=condition=ready pod \
--selector=app.kubernetes.io/component=controller \
--timeout=90s

- name: "Terraform init"
working-directory: ./deployment
run: |-
terraform init -reconfigure
- name: "Terraform plan"
working-directory: ./deployment
run: |-
terraform plan -out=$GITHUB_SHA.out

- name: "Terraform apply"
working-directory: ./deployment
run: |-
terraform apply "$GITHUB_SHA.out"

- name: "Seed dataspace"
run: |-
chmod +x seed-k8s.sh
./seed-k8s.sh



- name: "Install npm"
uses: actions/setup-node@v4
with:
node-version: 18

- name: "Install Newman"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can newman be directly used and does not have to be installed first?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think so. I had to merge the PR now, because I needed the terraform thing in another fix. I'll take care of that

run: npm install -g newman

- name: "Run Newman"
working-directory: ./deployment/postman
run: |-
newman run "MVD.postman_collection.json" -e "MVD K8S.postman_environment.json" --folder "ControlPlane Management" --delay-request 5000 --verbose

2 changes: 2 additions & 0 deletions .github/workflows/verify.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ jobs:
checkstyle:
runs-on: ubuntu-latest
steps:
- uses: hashicorp/setup-terraform@v3
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: Run Checkstyle
Expand All @@ -65,6 +66,7 @@ jobs:
validate-terraform:
runs-on: ubuntu-latest
steps:
- uses: hashicorp/setup-terraform@v3
- uses: actions/checkout@v4
- name: Check Terraform files are properly formatted (run "terraform fmt -recursive" to fix)
run: |
Expand Down
Loading
Loading