From fc75f85340b3f22bdde5f7e10d66ce8bbab303d5 Mon Sep 17 00:00:00 2001 From: Assaf Admi Date: Wed, 9 Oct 2024 12:26:06 +0300 Subject: [PATCH] Add rule group e2e test (#161) --- .github/workflows/e2e-tests.yaml | 30 ++-- .github/workflows/integration-tests.yaml | 41 ++++++ .github/workflows/unit-tests.yaml | 4 +- CONTRIBUTING.md | 24 +++- Makefile | 15 +- config/default/manager_auth_proxy_patch.yaml | 7 - config/manager/manager.yaml | 6 +- kuttl-test.yaml | 14 +- tests/e2e/client.go | 82 +++++++++++ tests/e2e/e2e_suite_test.go | 57 ++++++++ tests/e2e/rule_group_test.go | 129 ++++++++++++++++++ .../alertmangerconfig-basic/00-install.yaml | 0 .../alertmangerconfig-basic/01-install.yaml | 0 .../alertmangerconfig-basic/02-assert.yaml | 0 .../alertmangerconfig-basic/03-assert.yaml | 0 .../alertmangerconfig-basic/04-install.yaml | 0 .../alertmangerconfig-basic/05-assert.yaml | 0 .../alertmangerconfig-basic/06-delete.yaml | 0 .../alertmangerconfig-basic/07-delete.yaml | 0 .../alerts/flow/flow_alert_example.yaml | 0 .../alerts/lucene/00-assert.yaml | 0 .../alerts/lucene/00-lucene-install.yaml | 0 .../alerts/lucene/01-assert.yaml | 0 .../alerts/lucene/01-delete.yaml | 0 .../alerts/lucene/01-lucene-install.yaml | 0 .../alerts/new-value/00-assert.yaml | 0 .../new-value/00-new-value-install.yaml | 0 .../alerts/new-value/01-assert.yaml | 0 .../alerts/new-value/01-delete.yaml | 0 .../new-value/01-new-value-install.yaml | 0 .../alerts/promql/00-assert.yaml | 0 .../alerts/promql/00-delete.yaml | 0 .../alerts/promql/00-promql-install.yaml | 0 .../alerts/promql/01-assert.yaml | 0 .../alerts/promql/01-delete.yaml | 0 .../alerts/promql/01-promql-install.yaml | 0 .../alerts/ratio/00-assert.yaml | 0 .../alerts/ratio/00-ratio-install.yaml | 0 .../alerts/ratio/01-assert.yaml | 0 .../alerts/ratio/01-delete.yaml | 0 .../alerts/ratio/01-ratio-install.yaml | 0 .../alerts/standard/00-assert.yaml | 0 .../alerts/standard/00-delete.yaml | 0 .../alerts/standard/00-standard-install.yaml | 0 .../alerts/standard/01-assert.yaml | 0 .../alerts/standard/01-delete.yaml | 0 .../alerts/standard/01-standard-install.yaml | 0 .../alerts/standard/02-assert.yaml | 0 .../alerts/standard/02-delete.yaml | 0 .../alerts/standard/02-standard-install.yaml | 0 .../alerts/standard/03-assert.yaml | 0 .../alerts/standard/03-delete.yaml | 0 .../alerts/standard/03-standard-install.yaml | 0 .../alerts/time-relative/00-assert.yaml | 0 .../00-time-relative-install.yaml | 0 .../alerts/time-relative/01-assert.yaml | 0 .../alerts/time-relative/01-delete.yaml | 0 .../01-time-relative-install.yaml | 0 .../alerts/trace/00-assert.yaml | 0 .../alerts/trace/00-tracing-install.yaml | 0 .../alerts/trace/01-assert.yaml | 0 .../alerts/trace/01-delete.yaml | 0 .../alerts/trace/01-tracing-install.yaml | 0 .../alerts/unique-count/00-assert.yaml | 0 .../unique-count/00-unique-count-install.yaml | 0 .../alerts/unique-count/01-assert.yaml | 0 .../alerts/unique-count/01-delete.yaml | 0 .../unique-count/01-unique-count-install.yaml | 0 .../aws-event-bridge/00-assert.yaml | 0 .../00-aws-event-bridge-install.yaml | 0 .../aws-event-bridge/01-assert.yaml | 0 .../01-aws-event-bridge-install.yaml | 0 .../aws-event-bridge/01-delete.yaml | 0 .../outboundwebhooks/demisto/00-assert.yaml | 0 .../demisto/00-demisto-install.yaml | 0 .../outboundwebhooks/demisto/01-assert.yaml | 0 .../outboundwebhooks/demisto/01-delete.yaml | 0 .../demisto/01-demisto-install.yaml | 0 .../email-group/00-assert.yaml | 0 .../email-group/00-email-group-install.yaml | 0 .../email-group/01-assert.yaml | 0 .../email-group/01-delete.yaml | 0 .../email-group/01-email-group-install.yaml | 0 .../outboundwebhooks/generic/00-assert.yaml | 0 .../outboundwebhooks/generic/00-delete.yaml | 0 .../generic/00-generic-install.yaml | 0 .../outboundwebhooks/jira/00-assert.yaml | 0 .../outboundwebhooks/jira/00-delete.yaml | 0 .../jira/00-jira-install.yaml | 0 .../outboundwebhooks/opsgenie/00-assert.yaml | 0 .../opsgenie/00-opsgenie-install.yaml | 0 .../outboundwebhooks/opsgenie/01-assert.yaml | 0 .../outboundwebhooks/opsgenie/01-delete.yaml | 0 .../opsgenie/01-opsgenie-install.yaml | 0 .../pagerdurty/00-assert.yaml | 0 .../pagerdurty/00-pagerduty-install.yaml | 0 .../pagerdurty/01-assert.yaml | 0 .../pagerdurty/01-delete.yaml | 0 .../pagerdurty/01-pagerduty-install.yaml | 0 .../outboundwebhooks/sendlog/00-assert.yaml | 0 .../sendlog/00-sendlog-install.yaml | 0 .../outboundwebhooks/sendlog/01-assert.yaml | 0 .../outboundwebhooks/sendlog/01-delete.yaml | 0 .../sendlog/01-sendlog-install.yaml | 0 .../outboundwebhooks/slack/00-assert.yaml | 0 .../slack/00-slack-install.yaml | 0 .../outboundwebhooks/slack/01-assert.yaml | 0 .../outboundwebhooks/slack/01-delete.yaml | 0 .../slack/01-slack-install.yaml | 0 .../prometheusrules-basic/00-assert.yaml | 0 .../prometheusrules-basic/00-install.yaml | 0 .../prometheusrules-basic/01-assert.yaml | 0 .../prometheusrules-basic/02-assert.yaml | 0 .../prometheusrules-basic/03-assert.yaml | 0 .../prometheusrules-basic/03-install.yaml | 0 .../prometheusrules-basic/04-assert.yaml | 0 .../prometheusrules-basic/05-assert.yaml | 0 .../prometheusrules-basic/05-delete.yaml | 0 .../prometheusrules-basic/06-delete.yaml | 0 .../prometheusrules-basic/07-delete.yaml | 0 .../prometheusrules-basic/08-delete.yaml | 0 .../00-assert.yaml | 0 .../00-delete.yaml | 0 .../00-install.yaml | 0 .../rulegroups/block/00-assert.yaml | 0 .../rulegroups/block/00-block-install.yaml | 0 .../rulegroups/block/00-delete.yaml | 0 .../rulegroups/extract/00-assert.yaml | 0 .../rulegroups/extract/00-delete.yaml | 0 .../extract/00-extract-install.yaml | 0 .../rulegroups/json-extract/00-assert.yaml | 0 .../rulegroups/json-extract/00-delete.yaml | 0 .../json-extract/00-json-extract-install.yaml | 0 .../mixed-rulegroups/00-assert.yaml | 0 .../mixed-rulegroups/00-delete.yaml | 0 .../00-mixed-rulegroup-install.yaml | 0 .../rulegroups/parse-json/00-assert.yaml | 0 .../rulegroups/parse-json/00-delete.yaml | 0 .../00-parse-json-field-install.yaml | 0 .../rulegroups/parse/00-assert.yaml | 0 .../rulegroups/parse/00-delete.yaml | 0 .../rulegroups/parse/00-parse-install.yaml | 0 .../rulegroups/remove-fields/00-assert.yaml | 0 .../rulegroups/remove-fields/00-delete.yaml | 0 .../00-remove-fields-install.yaml | 0 .../rulegroups/replace/00-assert.yaml | 0 .../rulegroups/replace/00-delete.yaml | 0 .../replace/00-replace-install.yaml | 0 .../rulegroups/stringify-json/00-assert.yaml | 0 .../rulegroups/stringify-json/00-delete.yaml | 0 .../00-stringify-json-install.yaml | 0 .../rulegroups/timestamp/00-assert.yaml | 0 .../rulegroups/timestamp/00-delete.yaml | 0 .../00-extract-time-stamp-install.yaml | 0 154 files changed, 368 insertions(+), 41 deletions(-) create mode 100644 .github/workflows/integration-tests.yaml create mode 100644 tests/e2e/client.go create mode 100644 tests/e2e/e2e_suite_test.go create mode 100644 tests/e2e/rule_group_test.go rename tests/{e2e => integration}/alertmangerconfigs/alertmangerconfig-basic/00-install.yaml (100%) rename tests/{e2e => integration}/alertmangerconfigs/alertmangerconfig-basic/01-install.yaml (100%) rename tests/{e2e => integration}/alertmangerconfigs/alertmangerconfig-basic/02-assert.yaml (100%) rename tests/{e2e => integration}/alertmangerconfigs/alertmangerconfig-basic/03-assert.yaml (100%) rename tests/{e2e => integration}/alertmangerconfigs/alertmangerconfig-basic/04-install.yaml (100%) rename tests/{e2e => integration}/alertmangerconfigs/alertmangerconfig-basic/05-assert.yaml (100%) rename tests/{e2e => integration}/alertmangerconfigs/alertmangerconfig-basic/06-delete.yaml (100%) rename tests/{e2e => integration}/alertmangerconfigs/alertmangerconfig-basic/07-delete.yaml (100%) rename tests/{e2e => integration}/alerts/flow/flow_alert_example.yaml (100%) rename tests/{e2e => integration}/alerts/lucene/00-assert.yaml (100%) rename tests/{e2e => integration}/alerts/lucene/00-lucene-install.yaml (100%) rename tests/{e2e => integration}/alerts/lucene/01-assert.yaml (100%) rename tests/{e2e => integration}/alerts/lucene/01-delete.yaml (100%) rename tests/{e2e => integration}/alerts/lucene/01-lucene-install.yaml (100%) rename tests/{e2e => integration}/alerts/new-value/00-assert.yaml (100%) rename tests/{e2e => integration}/alerts/new-value/00-new-value-install.yaml (100%) rename tests/{e2e => integration}/alerts/new-value/01-assert.yaml (100%) rename tests/{e2e => integration}/alerts/new-value/01-delete.yaml (100%) rename tests/{e2e => integration}/alerts/new-value/01-new-value-install.yaml (100%) rename tests/{e2e => integration}/alerts/promql/00-assert.yaml (100%) rename tests/{e2e => integration}/alerts/promql/00-delete.yaml (100%) rename tests/{e2e => integration}/alerts/promql/00-promql-install.yaml (100%) rename tests/{e2e => integration}/alerts/promql/01-assert.yaml (100%) rename tests/{e2e => integration}/alerts/promql/01-delete.yaml (100%) rename tests/{e2e => integration}/alerts/promql/01-promql-install.yaml (100%) rename tests/{e2e => integration}/alerts/ratio/00-assert.yaml (100%) rename tests/{e2e => integration}/alerts/ratio/00-ratio-install.yaml (100%) rename tests/{e2e => integration}/alerts/ratio/01-assert.yaml (100%) rename tests/{e2e => integration}/alerts/ratio/01-delete.yaml (100%) rename tests/{e2e => integration}/alerts/ratio/01-ratio-install.yaml (100%) rename tests/{e2e => integration}/alerts/standard/00-assert.yaml (100%) rename tests/{e2e => integration}/alerts/standard/00-delete.yaml (100%) rename tests/{e2e => integration}/alerts/standard/00-standard-install.yaml (100%) rename tests/{e2e => integration}/alerts/standard/01-assert.yaml (100%) rename tests/{e2e => integration}/alerts/standard/01-delete.yaml (100%) rename tests/{e2e => integration}/alerts/standard/01-standard-install.yaml (100%) rename tests/{e2e => integration}/alerts/standard/02-assert.yaml (100%) rename tests/{e2e => integration}/alerts/standard/02-delete.yaml (100%) rename tests/{e2e => integration}/alerts/standard/02-standard-install.yaml (100%) rename tests/{e2e => integration}/alerts/standard/03-assert.yaml (100%) rename tests/{e2e => integration}/alerts/standard/03-delete.yaml (100%) rename tests/{e2e => integration}/alerts/standard/03-standard-install.yaml (100%) rename tests/{e2e => integration}/alerts/time-relative/00-assert.yaml (100%) rename tests/{e2e => integration}/alerts/time-relative/00-time-relative-install.yaml (100%) rename tests/{e2e => integration}/alerts/time-relative/01-assert.yaml (100%) rename tests/{e2e => integration}/alerts/time-relative/01-delete.yaml (100%) rename tests/{e2e => integration}/alerts/time-relative/01-time-relative-install.yaml (100%) rename tests/{e2e => integration}/alerts/trace/00-assert.yaml (100%) rename tests/{e2e => integration}/alerts/trace/00-tracing-install.yaml (100%) rename tests/{e2e => integration}/alerts/trace/01-assert.yaml (100%) rename tests/{e2e => integration}/alerts/trace/01-delete.yaml (100%) rename tests/{e2e => integration}/alerts/trace/01-tracing-install.yaml (100%) rename tests/{e2e => integration}/alerts/unique-count/00-assert.yaml (100%) rename tests/{e2e => integration}/alerts/unique-count/00-unique-count-install.yaml (100%) rename tests/{e2e => integration}/alerts/unique-count/01-assert.yaml (100%) rename tests/{e2e => integration}/alerts/unique-count/01-delete.yaml (100%) rename tests/{e2e => integration}/alerts/unique-count/01-unique-count-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/aws-event-bridge/00-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/aws-event-bridge/00-aws-event-bridge-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/aws-event-bridge/01-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/aws-event-bridge/01-aws-event-bridge-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/aws-event-bridge/01-delete.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/demisto/00-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/demisto/00-demisto-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/demisto/01-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/demisto/01-delete.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/demisto/01-demisto-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/email-group/00-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/email-group/00-email-group-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/email-group/01-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/email-group/01-delete.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/email-group/01-email-group-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/generic/00-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/generic/00-delete.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/generic/00-generic-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/jira/00-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/jira/00-delete.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/jira/00-jira-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/opsgenie/00-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/opsgenie/00-opsgenie-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/opsgenie/01-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/opsgenie/01-delete.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/opsgenie/01-opsgenie-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/pagerdurty/00-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/pagerdurty/00-pagerduty-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/pagerdurty/01-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/pagerdurty/01-delete.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/pagerdurty/01-pagerduty-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/sendlog/00-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/sendlog/00-sendlog-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/sendlog/01-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/sendlog/01-delete.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/sendlog/01-sendlog-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/slack/00-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/slack/00-slack-install.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/slack/01-assert.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/slack/01-delete.yaml (100%) rename tests/{e2e => integration}/outboundwebhooks/slack/01-slack-install.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/00-assert.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/00-install.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/01-assert.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/02-assert.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/03-assert.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/03-install.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/04-assert.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/05-assert.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/05-delete.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/06-delete.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/07-delete.yaml (100%) rename tests/{e2e => integration}/prometheusrules/prometheusrules-basic/08-delete.yaml (100%) rename tests/{e2e => integration}/recordingrulegroupsets/recordingrulegroupsets-basic/00-assert.yaml (100%) rename tests/{e2e => integration}/recordingrulegroupsets/recordingrulegroupsets-basic/00-delete.yaml (100%) rename tests/{e2e => integration}/recordingrulegroupsets/recordingrulegroupsets-basic/00-install.yaml (100%) rename tests/{e2e => integration}/rulegroups/block/00-assert.yaml (100%) rename tests/{e2e => integration}/rulegroups/block/00-block-install.yaml (100%) rename tests/{e2e => integration}/rulegroups/block/00-delete.yaml (100%) rename tests/{e2e => integration}/rulegroups/extract/00-assert.yaml (100%) rename tests/{e2e => integration}/rulegroups/extract/00-delete.yaml (100%) rename tests/{e2e => integration}/rulegroups/extract/00-extract-install.yaml (100%) rename tests/{e2e => integration}/rulegroups/json-extract/00-assert.yaml (100%) rename tests/{e2e => integration}/rulegroups/json-extract/00-delete.yaml (100%) rename tests/{e2e => integration}/rulegroups/json-extract/00-json-extract-install.yaml (100%) rename tests/{e2e => integration}/rulegroups/mixed-rulegroups/00-assert.yaml (100%) rename tests/{e2e => integration}/rulegroups/mixed-rulegroups/00-delete.yaml (100%) rename tests/{e2e => integration}/rulegroups/mixed-rulegroups/00-mixed-rulegroup-install.yaml (100%) rename tests/{e2e => integration}/rulegroups/parse-json/00-assert.yaml (100%) rename tests/{e2e => integration}/rulegroups/parse-json/00-delete.yaml (100%) rename tests/{e2e => integration}/rulegroups/parse-json/00-parse-json-field-install.yaml (100%) rename tests/{e2e => integration}/rulegroups/parse/00-assert.yaml (100%) rename tests/{e2e => integration}/rulegroups/parse/00-delete.yaml (100%) rename tests/{e2e => integration}/rulegroups/parse/00-parse-install.yaml (100%) rename tests/{e2e => integration}/rulegroups/remove-fields/00-assert.yaml (100%) rename tests/{e2e => integration}/rulegroups/remove-fields/00-delete.yaml (100%) rename tests/{e2e => integration}/rulegroups/remove-fields/00-remove-fields-install.yaml (100%) rename tests/{e2e => integration}/rulegroups/replace/00-assert.yaml (100%) rename tests/{e2e => integration}/rulegroups/replace/00-delete.yaml (100%) rename tests/{e2e => integration}/rulegroups/replace/00-replace-install.yaml (100%) rename tests/{e2e => integration}/rulegroups/stringify-json/00-assert.yaml (100%) rename tests/{e2e => integration}/rulegroups/stringify-json/00-delete.yaml (100%) rename tests/{e2e => integration}/rulegroups/stringify-json/00-stringify-json-install.yaml (100%) rename tests/{e2e => integration}/rulegroups/timestamp/00-assert.yaml (100%) rename tests/{e2e => integration}/rulegroups/timestamp/00-delete.yaml (100%) rename tests/{e2e => integration}/rulegroups/timestamp/00-extract-time-stamp-install.yaml (100%) diff --git a/.github/workflows/e2e-tests.yaml b/.github/workflows/e2e-tests.yaml index 541f48d..64a1aab 100644 --- a/.github/workflows/e2e-tests.yaml +++ b/.github/workflows/e2e-tests.yaml @@ -16,26 +16,28 @@ jobs: tests: name: Tests runs-on: ubuntu-latest + env: + IMG: tests.com/coralogix-operator:v0.0.1 + CORALOGIX_REGION: ${{ secrets.CORALOGIX_REGION }} + CORALOGIX_API_KEY: ${{ secrets.CORALOGIX_API_KEY }} steps: - name: Checkout uses: actions/checkout@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Build the controller-manager Docker image + run: | + make docker-build - name: Create k8s Kind Cluster uses: helm/kind-action@v1.4.0 - - name: Install kuttl + - name: Load the controller-manager image into Kind run: | - curl -Lo /usr/local/bin/kubectl-kuttl https://github.com/kudobuilder/kuttl/releases/download/v0.12.1/kubectl-kuttl_0.12.1_linux_x86_64 - chmod +x /usr/local/bin/kubectl-kuttl + kind load docker-image ${{ env.IMG }} --name chart-testing - name: Install CRDs run: make install - - name: Install Go - uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 - with: - go-version: 1.22.x - - name: Running operator and Tests - env: - CORALOGIX_REGION: ${{ secrets.CORALOGIX_REGION }} - CORALOGIX_API_KEY: ${{ secrets.CORALOGIX_API_KEY }} + - name: Deploy the controller-manager + run: | + make deploy + - name: Run e2e Tests run: | - go run -ldflags="-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" main.go & - sleep 30s - make e2e + make e2e-tests diff --git a/.github/workflows/integration-tests.yaml b/.github/workflows/integration-tests.yaml new file mode 100644 index 0000000..6c99afc --- /dev/null +++ b/.github/workflows/integration-tests.yaml @@ -0,0 +1,41 @@ +name: integration-tests +on: + schedule: + - cron: 0 0 * * * + push: + branches: + - main + paths-ignore: + - "charts/**" + pull_request: + branches: + - main + paths-ignore: + - "charts/**" +jobs: + tests: + name: Tests + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Create k8s Kind Cluster + uses: helm/kind-action@v1.4.0 + - name: Install kuttl + run: | + curl -Lo /usr/local/bin/kubectl-kuttl https://github.com/kudobuilder/kuttl/releases/download/v0.12.1/kubectl-kuttl_0.12.1_linux_x86_64 + chmod +x /usr/local/bin/kubectl-kuttl + - name: Install CRDs + run: make install + - name: Install Go + uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 + with: + go-version: 1.22.x + - name: Running operator and Tests + env: + CORALOGIX_REGION: ${{ secrets.CORALOGIX_REGION }} + CORALOGIX_API_KEY: ${{ secrets.CORALOGIX_API_KEY }} + run: | + go run -ldflags="-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" main.go & + sleep 30s + make integration-tests diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 6be3297..1e9a92a 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -1,4 +1,4 @@ -name: unit +name: unit-tests on: pull_request: paths-ignore: @@ -21,7 +21,7 @@ jobs: uses: helm/kind-action@v1.4.0 - name: Install CRDs run: make install - - run: make test + - run: make unit-tests - name: Patch Coverage uses: seriousben/go-patch-cover-action@v1 with: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4c8dab9..fc96689 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -90,13 +90,27 @@ When creating or updating CRDs remember to run make manifests ```` -Tests +Running E2E Tests --------------------- -We use [kuttl](https://kuttl.dev/) for end-to-end tests. -The test files are located at [./tests/e2e/](./tests/e2e) -In order to run the full suite of `kuttl` tests, run - +The test files are located at [./tests/e2e/](./tests/e2e). +In order to run the full e2e tests suite: +1. Add the api key and region as environment variables: ```sh -$ make e2e +$ export CORALOGIX_API_KEY="" +$ export CORALOGIX_REGION="" +``` +2. Run the tests: +```sh +$ make e2e-tests +```` + +Running Integration Tests +--------------------- +We use [kuttl](https://kuttl.dev/) for integration tests. +The test files are located at [./tests/integration/](./tests/integration). +In order to run the full integration tests suite, run: +```sh +$ make integration-tests ```` *Note:* `kuttl` tests create real resources and in a case of failure some resources may not be removed. diff --git a/Makefile b/Makefile index 461dfc4..ffc4039 100644 --- a/Makefile +++ b/Makefile @@ -55,9 +55,9 @@ fmt: ## Run go fmt against code. vet: ## Run go vet against code. go vet ./... -.PHONY: test -test: manifests generate fmt vet envtest ## Run tests. - KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir $(LOCALBIN) -p path)" go test ./... -ldflags $(LDFLAGS) -coverprofile cover.out +.PHONY: unit-tests +unit-tests: manifests generate fmt vet envtest ## Run tests. + KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir $(LOCALBIN) -p path)" go test ./controllers/ -ldflags $(LDFLAGS) -coverprofile cover.out ##@ Documentation .PHONY: generate-api-docs @@ -122,7 +122,7 @@ uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified .PHONY: deploy deploy: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config. cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} - $(KUSTOMIZE) build config/default | kubectl apply -f - + $(KUSTOMIZE) build config/default | envsubst |kubectl apply -f - .PHONY: undeploy undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. @@ -166,9 +166,14 @@ crdoc: $(CRDOC) ## Download crdoc locally if necessary. $(CRDOC): $(LOCALBIN) test -s $(LOCALBIN)/crdoc || GOBIN=$(LOCALBIN) go install fybrik.io/crdoc@latest -e2e: +.PHONY: integration-tests +integration-tests: kubectl kuttl test +.PHONY: e2e-tests +e2e-tests: + go test ./tests/e2e/ -ldflags $(LDFLAGS) -ginkgo.v + .PHONY: helm-check-crd-version helm-check-crd-version: sh scripts/helm-check-crd-version.sh diff --git a/config/default/manager_auth_proxy_patch.yaml b/config/default/manager_auth_proxy_patch.yaml index 2efacd6..caf52d8 100644 --- a/config/default/manager_auth_proxy_patch.yaml +++ b/config/default/manager_auth_proxy_patch.yaml @@ -48,10 +48,3 @@ spec: requests: cpu: 5m memory: 64Mi - - name: manager - args: - - "--health-probe-bind-address=:8081" - - "--metrics-bind-address=127.0.0.1:8080" - - "--leader-elect" - - "--api-key=xxx" - - "--region=EU2" diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 5edb089..0878c26 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -18,7 +18,7 @@ metadata: namespace: system labels: control-plane: controller-manager - app.kubernetes.io/name: deployment + app.kubernetes.io/name: coralogix-operator-controller-manager app.kubernetes.io/instance: controller-manager app.kubernetes.io/component: manager app.kubernetes.io/created-by: coralogix-operator @@ -70,6 +70,10 @@ spec: - /manager args: - --leader-elect + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --api-key=${CORALOGIX_API_KEY} + - --region=${CORALOGIX_REGION} image: controller:latest name: manager securityContext: diff --git a/kuttl-test.yaml b/kuttl-test.yaml index 1bd8c2f..b671fb0 100644 --- a/kuttl-test.yaml +++ b/kuttl-test.yaml @@ -1,11 +1,11 @@ apiVersion: kuttl.dev/v1beta1 kind: TestSuite testDirs: - - tests/e2e/alerts - - tests/e2e/rulegroups - - tests/e2e/recordingrulegroupsets - - tests/e2e/prometheusrules - - tests/e2e/outboundwebhooks - - tests/e2e/alertmangerconfigs + - tests/integration/alerts + - tests/integration/rulegroups + - tests/integration/recordingrulegroupsets + - tests/integration/prometheusrules + - tests/integration/outboundwebhooks + - tests/integration/alertmangerconfigs namespace: default -timeout: 60 \ No newline at end of file +timeout: 60 diff --git a/tests/e2e/client.go b/tests/e2e/client.go new file mode 100644 index 0000000..b61c5a9 --- /dev/null +++ b/tests/e2e/client.go @@ -0,0 +1,82 @@ +/* +Copyright 2024. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://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. +*/ + +package e2e + +import ( + prometheus "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1" + "k8s.io/client-go/kubernetes" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/client/config" + + cxsdk "github.com/coralogix/coralogix-management-sdk/go" + + coralogixv1alpha1 "github.com/coralogix/coralogix-operator/apis/coralogix/v1alpha1" +) + +var ClientsInstance = &Clients{} + +type Clients struct { + CxClientSet *cxsdk.ClientSet + CrClient client.Client + K8sClient *kubernetes.Clientset +} + +func (c *Clients) InitCoralogixClientSet(targetURL, teamsLevelAPIKey string, userLevelAPIKey string) { + if c.CxClientSet == nil { + c.CxClientSet = cxsdk.NewClientSet(targetURL, teamsLevelAPIKey, userLevelAPIKey) + } +} + +func (c *Clients) InitControllerRuntimeClient() error { + if c.CrClient == nil { + crClient, err := client.New(config.GetConfigOrDie(), client.Options{}) + if err != nil { + return err + } + if err = prometheus.AddToScheme(crClient.Scheme()); err != nil { + return err + } + if err = coralogixv1alpha1.AddToScheme(crClient.Scheme()); err != nil { + return err + } + c.CrClient = crClient + } + return nil +} + +func (c *Clients) InitK8sClient() error { + if c.K8sClient == nil { + k8sClient, err := kubernetes.NewForConfig(config.GetConfigOrDie()) + if err != nil { + return err + } + c.K8sClient = k8sClient + } + return nil +} + +func (c *Clients) GetCoralogixClientSet() *cxsdk.ClientSet { + return c.CxClientSet +} + +func (c *Clients) GetControllerRuntimeClient() client.Client { + return c.CrClient +} + +func (c *Clients) GetK8sClient() *kubernetes.Clientset { + return c.K8sClient +} diff --git a/tests/e2e/e2e_suite_test.go b/tests/e2e/e2e_suite_test.go new file mode 100644 index 0000000..74d4004 --- /dev/null +++ b/tests/e2e/e2e_suite_test.go @@ -0,0 +1,57 @@ +/* +Copyright 2024. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://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. +*/ + +package e2e + +import ( + "context" + "os" + "strings" + "testing" + "time" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + cxsdk "github.com/coralogix/coralogix-management-sdk/go" +) + +func TestE2E(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Coralogix operator E2E test suite") +} + +var _ = BeforeSuite(func(ctx context.Context) { + region := strings.ToLower(os.Getenv("CORALOGIX_REGION")) + apiKey := os.Getenv("CORALOGIX_API_KEY") + + By("Initializing clients") + ClientsInstance.InitCoralogixClientSet(cxsdk.CoralogixGrpcEndpointFromRegion(region), apiKey, apiKey) + Expect(ClientsInstance.InitControllerRuntimeClient()).To(Succeed()) + Expect(ClientsInstance.InitK8sClient()).To(Succeed()) + + By("Validating that the controller-manager pod is running") + Eventually(func() corev1.PodPhase { + k8sClient := ClientsInstance.GetK8sClient() + podList, err := k8sClient.CoreV1(). + Pods("coralogix-operator-system"). + List(ctx, metav1.ListOptions{LabelSelector: "control-plane=controller-manager"}) + Expect(err).NotTo(HaveOccurred()) + return podList.Items[0].Status.Phase + }, time.Minute, time.Second).Should(Equal(corev1.PodRunning)) +}) diff --git a/tests/e2e/rule_group_test.go b/tests/e2e/rule_group_test.go new file mode 100644 index 0000000..a298b2b --- /dev/null +++ b/tests/e2e/rule_group_test.go @@ -0,0 +1,129 @@ +/* +Copyright 2024. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://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. +*/ + +package e2e + +import ( + "context" + "fmt" + + "time" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "sigs.k8s.io/controller-runtime/pkg/client" + + cxsdk "github.com/coralogix/coralogix-management-sdk/go" + + coralogixv1alpha1 "github.com/coralogix/coralogix-operator/apis/coralogix/v1alpha1" +) + +var _ = Describe("Rule Group", Ordered, func() { + var ( + crClient client.Client + ruleGroupClient *cxsdk.RuleGroupsClient + ruleGroupID string + ruleGroup *coralogixv1alpha1.RuleGroup + ) + + BeforeAll(func() { + crClient = ClientsInstance.GetControllerRuntimeClient() + ruleGroupClient = ClientsInstance.GetCoralogixClientSet().RuleGroups() + }) + + It("Should be created successfully", func(ctx context.Context) { + By("Defining a RuleGroup resource") + ruleGroup = &coralogixv1alpha1.RuleGroup{ + ObjectMeta: metav1.ObjectMeta{ + Name: "json-extract-rule", + Namespace: "default", + }, + Spec: coralogixv1alpha1.RuleGroupSpec{ + Name: "json-extract-rule", + Description: "rule-group from k8s operator", + RuleSubgroups: []coralogixv1alpha1.RuleSubGroup{ + { + Rules: []coralogixv1alpha1.Rule{ + { + Name: "Worker to category", + Description: "Extracts value from 'worker' and populates 'Category'", + JsonExtract: &coralogixv1alpha1.JsonExtract{ + DestinationField: "Category", + JsonKey: "worker", + }, + }, + }, + }, + }, + }, + } + + By("Creating the RuleGroup resource in the cluster") + Expect(crClient.Create(ctx, ruleGroup)).To(Succeed()) + + By("Fetching the RuleGroup ID") + fetchedRuleGroup := &coralogixv1alpha1.RuleGroup{} + Eventually(func(g Gomega) error { + err := crClient.Get(ctx, types.NamespacedName{Name: "json-extract-rule", Namespace: "default"}, fetchedRuleGroup) + g.Expect(err).NotTo(HaveOccurred()) + + if fetchedRuleGroup.Status.ID != nil { + ruleGroupID = *fetchedRuleGroup.Status.ID + return nil + } + + return fmt.Errorf("RuleGroup ID is not set") + }, time.Minute, time.Second).Should(Succeed()) + + By("Verifying RuleGroup exists in Coralogix backend") + Eventually(func() error { + _, err := ruleGroupClient.Get(ctx, &cxsdk.GetRuleGroupRequest{GroupId: ruleGroupID}) + return err + }, time.Minute, time.Second).Should(Succeed()) + }) + + It("Should be updated successfully", func(ctx context.Context) { + By("Patching the RuleGroup resource") + const newRuleGroupName = "json-extract-rule-updated" + modifiedRuleGroup := ruleGroup.DeepCopy() + modifiedRuleGroup.Spec.Name = newRuleGroupName + err := crClient.Patch(ctx, modifiedRuleGroup, client.MergeFrom(ruleGroup)) + Expect(err).NotTo(HaveOccurred()) + + By("Verifying RuleGroup is updated in Coralogix backend") + Eventually(func(g Gomega) string { + getRuleGroupRes, err := ruleGroupClient.Get(ctx, &cxsdk.GetRuleGroupRequest{GroupId: ruleGroupID}) + g.Expect(err).NotTo(HaveOccurred()) + return getRuleGroupRes.GetRuleGroup().GetName().GetValue() + }, time.Minute, time.Second).Should(Equal(newRuleGroupName)) + }) + + It("Should be deleted successfully", func(ctx context.Context) { + By("Deleting the RuleGroup resource") + err := crClient.Delete(ctx, ruleGroup) + Expect(err).NotTo(HaveOccurred()) + + By("Verifying RuleGroup is deleted from Coralogix backend") + Eventually(func() codes.Code { + _, err = ruleGroupClient.Get(ctx, &cxsdk.GetRuleGroupRequest{GroupId: ruleGroupID}) + return status.Code(err) + }).Should(Equal(codes.NotFound)) + }) +}) diff --git a/tests/e2e/alertmangerconfigs/alertmangerconfig-basic/00-install.yaml b/tests/integration/alertmangerconfigs/alertmangerconfig-basic/00-install.yaml similarity index 100% rename from tests/e2e/alertmangerconfigs/alertmangerconfig-basic/00-install.yaml rename to tests/integration/alertmangerconfigs/alertmangerconfig-basic/00-install.yaml diff --git a/tests/e2e/alertmangerconfigs/alertmangerconfig-basic/01-install.yaml b/tests/integration/alertmangerconfigs/alertmangerconfig-basic/01-install.yaml similarity index 100% rename from tests/e2e/alertmangerconfigs/alertmangerconfig-basic/01-install.yaml rename to tests/integration/alertmangerconfigs/alertmangerconfig-basic/01-install.yaml diff --git a/tests/e2e/alertmangerconfigs/alertmangerconfig-basic/02-assert.yaml b/tests/integration/alertmangerconfigs/alertmangerconfig-basic/02-assert.yaml similarity index 100% rename from tests/e2e/alertmangerconfigs/alertmangerconfig-basic/02-assert.yaml rename to tests/integration/alertmangerconfigs/alertmangerconfig-basic/02-assert.yaml diff --git a/tests/e2e/alertmangerconfigs/alertmangerconfig-basic/03-assert.yaml b/tests/integration/alertmangerconfigs/alertmangerconfig-basic/03-assert.yaml similarity index 100% rename from tests/e2e/alertmangerconfigs/alertmangerconfig-basic/03-assert.yaml rename to tests/integration/alertmangerconfigs/alertmangerconfig-basic/03-assert.yaml diff --git a/tests/e2e/alertmangerconfigs/alertmangerconfig-basic/04-install.yaml b/tests/integration/alertmangerconfigs/alertmangerconfig-basic/04-install.yaml similarity index 100% rename from tests/e2e/alertmangerconfigs/alertmangerconfig-basic/04-install.yaml rename to tests/integration/alertmangerconfigs/alertmangerconfig-basic/04-install.yaml diff --git a/tests/e2e/alertmangerconfigs/alertmangerconfig-basic/05-assert.yaml b/tests/integration/alertmangerconfigs/alertmangerconfig-basic/05-assert.yaml similarity index 100% rename from tests/e2e/alertmangerconfigs/alertmangerconfig-basic/05-assert.yaml rename to tests/integration/alertmangerconfigs/alertmangerconfig-basic/05-assert.yaml diff --git a/tests/e2e/alertmangerconfigs/alertmangerconfig-basic/06-delete.yaml b/tests/integration/alertmangerconfigs/alertmangerconfig-basic/06-delete.yaml similarity index 100% rename from tests/e2e/alertmangerconfigs/alertmangerconfig-basic/06-delete.yaml rename to tests/integration/alertmangerconfigs/alertmangerconfig-basic/06-delete.yaml diff --git a/tests/e2e/alertmangerconfigs/alertmangerconfig-basic/07-delete.yaml b/tests/integration/alertmangerconfigs/alertmangerconfig-basic/07-delete.yaml similarity index 100% rename from tests/e2e/alertmangerconfigs/alertmangerconfig-basic/07-delete.yaml rename to tests/integration/alertmangerconfigs/alertmangerconfig-basic/07-delete.yaml diff --git a/tests/e2e/alerts/flow/flow_alert_example.yaml b/tests/integration/alerts/flow/flow_alert_example.yaml similarity index 100% rename from tests/e2e/alerts/flow/flow_alert_example.yaml rename to tests/integration/alerts/flow/flow_alert_example.yaml diff --git a/tests/e2e/alerts/lucene/00-assert.yaml b/tests/integration/alerts/lucene/00-assert.yaml similarity index 100% rename from tests/e2e/alerts/lucene/00-assert.yaml rename to tests/integration/alerts/lucene/00-assert.yaml diff --git a/tests/e2e/alerts/lucene/00-lucene-install.yaml b/tests/integration/alerts/lucene/00-lucene-install.yaml similarity index 100% rename from tests/e2e/alerts/lucene/00-lucene-install.yaml rename to tests/integration/alerts/lucene/00-lucene-install.yaml diff --git a/tests/e2e/alerts/lucene/01-assert.yaml b/tests/integration/alerts/lucene/01-assert.yaml similarity index 100% rename from tests/e2e/alerts/lucene/01-assert.yaml rename to tests/integration/alerts/lucene/01-assert.yaml diff --git a/tests/e2e/alerts/lucene/01-delete.yaml b/tests/integration/alerts/lucene/01-delete.yaml similarity index 100% rename from tests/e2e/alerts/lucene/01-delete.yaml rename to tests/integration/alerts/lucene/01-delete.yaml diff --git a/tests/e2e/alerts/lucene/01-lucene-install.yaml b/tests/integration/alerts/lucene/01-lucene-install.yaml similarity index 100% rename from tests/e2e/alerts/lucene/01-lucene-install.yaml rename to tests/integration/alerts/lucene/01-lucene-install.yaml diff --git a/tests/e2e/alerts/new-value/00-assert.yaml b/tests/integration/alerts/new-value/00-assert.yaml similarity index 100% rename from tests/e2e/alerts/new-value/00-assert.yaml rename to tests/integration/alerts/new-value/00-assert.yaml diff --git a/tests/e2e/alerts/new-value/00-new-value-install.yaml b/tests/integration/alerts/new-value/00-new-value-install.yaml similarity index 100% rename from tests/e2e/alerts/new-value/00-new-value-install.yaml rename to tests/integration/alerts/new-value/00-new-value-install.yaml diff --git a/tests/e2e/alerts/new-value/01-assert.yaml b/tests/integration/alerts/new-value/01-assert.yaml similarity index 100% rename from tests/e2e/alerts/new-value/01-assert.yaml rename to tests/integration/alerts/new-value/01-assert.yaml diff --git a/tests/e2e/alerts/new-value/01-delete.yaml b/tests/integration/alerts/new-value/01-delete.yaml similarity index 100% rename from tests/e2e/alerts/new-value/01-delete.yaml rename to tests/integration/alerts/new-value/01-delete.yaml diff --git a/tests/e2e/alerts/new-value/01-new-value-install.yaml b/tests/integration/alerts/new-value/01-new-value-install.yaml similarity index 100% rename from tests/e2e/alerts/new-value/01-new-value-install.yaml rename to tests/integration/alerts/new-value/01-new-value-install.yaml diff --git a/tests/e2e/alerts/promql/00-assert.yaml b/tests/integration/alerts/promql/00-assert.yaml similarity index 100% rename from tests/e2e/alerts/promql/00-assert.yaml rename to tests/integration/alerts/promql/00-assert.yaml diff --git a/tests/e2e/alerts/promql/00-delete.yaml b/tests/integration/alerts/promql/00-delete.yaml similarity index 100% rename from tests/e2e/alerts/promql/00-delete.yaml rename to tests/integration/alerts/promql/00-delete.yaml diff --git a/tests/e2e/alerts/promql/00-promql-install.yaml b/tests/integration/alerts/promql/00-promql-install.yaml similarity index 100% rename from tests/e2e/alerts/promql/00-promql-install.yaml rename to tests/integration/alerts/promql/00-promql-install.yaml diff --git a/tests/e2e/alerts/promql/01-assert.yaml b/tests/integration/alerts/promql/01-assert.yaml similarity index 100% rename from tests/e2e/alerts/promql/01-assert.yaml rename to tests/integration/alerts/promql/01-assert.yaml diff --git a/tests/e2e/alerts/promql/01-delete.yaml b/tests/integration/alerts/promql/01-delete.yaml similarity index 100% rename from tests/e2e/alerts/promql/01-delete.yaml rename to tests/integration/alerts/promql/01-delete.yaml diff --git a/tests/e2e/alerts/promql/01-promql-install.yaml b/tests/integration/alerts/promql/01-promql-install.yaml similarity index 100% rename from tests/e2e/alerts/promql/01-promql-install.yaml rename to tests/integration/alerts/promql/01-promql-install.yaml diff --git a/tests/e2e/alerts/ratio/00-assert.yaml b/tests/integration/alerts/ratio/00-assert.yaml similarity index 100% rename from tests/e2e/alerts/ratio/00-assert.yaml rename to tests/integration/alerts/ratio/00-assert.yaml diff --git a/tests/e2e/alerts/ratio/00-ratio-install.yaml b/tests/integration/alerts/ratio/00-ratio-install.yaml similarity index 100% rename from tests/e2e/alerts/ratio/00-ratio-install.yaml rename to tests/integration/alerts/ratio/00-ratio-install.yaml diff --git a/tests/e2e/alerts/ratio/01-assert.yaml b/tests/integration/alerts/ratio/01-assert.yaml similarity index 100% rename from tests/e2e/alerts/ratio/01-assert.yaml rename to tests/integration/alerts/ratio/01-assert.yaml diff --git a/tests/e2e/alerts/ratio/01-delete.yaml b/tests/integration/alerts/ratio/01-delete.yaml similarity index 100% rename from tests/e2e/alerts/ratio/01-delete.yaml rename to tests/integration/alerts/ratio/01-delete.yaml diff --git a/tests/e2e/alerts/ratio/01-ratio-install.yaml b/tests/integration/alerts/ratio/01-ratio-install.yaml similarity index 100% rename from tests/e2e/alerts/ratio/01-ratio-install.yaml rename to tests/integration/alerts/ratio/01-ratio-install.yaml diff --git a/tests/e2e/alerts/standard/00-assert.yaml b/tests/integration/alerts/standard/00-assert.yaml similarity index 100% rename from tests/e2e/alerts/standard/00-assert.yaml rename to tests/integration/alerts/standard/00-assert.yaml diff --git a/tests/e2e/alerts/standard/00-delete.yaml b/tests/integration/alerts/standard/00-delete.yaml similarity index 100% rename from tests/e2e/alerts/standard/00-delete.yaml rename to tests/integration/alerts/standard/00-delete.yaml diff --git a/tests/e2e/alerts/standard/00-standard-install.yaml b/tests/integration/alerts/standard/00-standard-install.yaml similarity index 100% rename from tests/e2e/alerts/standard/00-standard-install.yaml rename to tests/integration/alerts/standard/00-standard-install.yaml diff --git a/tests/e2e/alerts/standard/01-assert.yaml b/tests/integration/alerts/standard/01-assert.yaml similarity index 100% rename from tests/e2e/alerts/standard/01-assert.yaml rename to tests/integration/alerts/standard/01-assert.yaml diff --git a/tests/e2e/alerts/standard/01-delete.yaml b/tests/integration/alerts/standard/01-delete.yaml similarity index 100% rename from tests/e2e/alerts/standard/01-delete.yaml rename to tests/integration/alerts/standard/01-delete.yaml diff --git a/tests/e2e/alerts/standard/01-standard-install.yaml b/tests/integration/alerts/standard/01-standard-install.yaml similarity index 100% rename from tests/e2e/alerts/standard/01-standard-install.yaml rename to tests/integration/alerts/standard/01-standard-install.yaml diff --git a/tests/e2e/alerts/standard/02-assert.yaml b/tests/integration/alerts/standard/02-assert.yaml similarity index 100% rename from tests/e2e/alerts/standard/02-assert.yaml rename to tests/integration/alerts/standard/02-assert.yaml diff --git a/tests/e2e/alerts/standard/02-delete.yaml b/tests/integration/alerts/standard/02-delete.yaml similarity index 100% rename from tests/e2e/alerts/standard/02-delete.yaml rename to tests/integration/alerts/standard/02-delete.yaml diff --git a/tests/e2e/alerts/standard/02-standard-install.yaml b/tests/integration/alerts/standard/02-standard-install.yaml similarity index 100% rename from tests/e2e/alerts/standard/02-standard-install.yaml rename to tests/integration/alerts/standard/02-standard-install.yaml diff --git a/tests/e2e/alerts/standard/03-assert.yaml b/tests/integration/alerts/standard/03-assert.yaml similarity index 100% rename from tests/e2e/alerts/standard/03-assert.yaml rename to tests/integration/alerts/standard/03-assert.yaml diff --git a/tests/e2e/alerts/standard/03-delete.yaml b/tests/integration/alerts/standard/03-delete.yaml similarity index 100% rename from tests/e2e/alerts/standard/03-delete.yaml rename to tests/integration/alerts/standard/03-delete.yaml diff --git a/tests/e2e/alerts/standard/03-standard-install.yaml b/tests/integration/alerts/standard/03-standard-install.yaml similarity index 100% rename from tests/e2e/alerts/standard/03-standard-install.yaml rename to tests/integration/alerts/standard/03-standard-install.yaml diff --git a/tests/e2e/alerts/time-relative/00-assert.yaml b/tests/integration/alerts/time-relative/00-assert.yaml similarity index 100% rename from tests/e2e/alerts/time-relative/00-assert.yaml rename to tests/integration/alerts/time-relative/00-assert.yaml diff --git a/tests/e2e/alerts/time-relative/00-time-relative-install.yaml b/tests/integration/alerts/time-relative/00-time-relative-install.yaml similarity index 100% rename from tests/e2e/alerts/time-relative/00-time-relative-install.yaml rename to tests/integration/alerts/time-relative/00-time-relative-install.yaml diff --git a/tests/e2e/alerts/time-relative/01-assert.yaml b/tests/integration/alerts/time-relative/01-assert.yaml similarity index 100% rename from tests/e2e/alerts/time-relative/01-assert.yaml rename to tests/integration/alerts/time-relative/01-assert.yaml diff --git a/tests/e2e/alerts/time-relative/01-delete.yaml b/tests/integration/alerts/time-relative/01-delete.yaml similarity index 100% rename from tests/e2e/alerts/time-relative/01-delete.yaml rename to tests/integration/alerts/time-relative/01-delete.yaml diff --git a/tests/e2e/alerts/time-relative/01-time-relative-install.yaml b/tests/integration/alerts/time-relative/01-time-relative-install.yaml similarity index 100% rename from tests/e2e/alerts/time-relative/01-time-relative-install.yaml rename to tests/integration/alerts/time-relative/01-time-relative-install.yaml diff --git a/tests/e2e/alerts/trace/00-assert.yaml b/tests/integration/alerts/trace/00-assert.yaml similarity index 100% rename from tests/e2e/alerts/trace/00-assert.yaml rename to tests/integration/alerts/trace/00-assert.yaml diff --git a/tests/e2e/alerts/trace/00-tracing-install.yaml b/tests/integration/alerts/trace/00-tracing-install.yaml similarity index 100% rename from tests/e2e/alerts/trace/00-tracing-install.yaml rename to tests/integration/alerts/trace/00-tracing-install.yaml diff --git a/tests/e2e/alerts/trace/01-assert.yaml b/tests/integration/alerts/trace/01-assert.yaml similarity index 100% rename from tests/e2e/alerts/trace/01-assert.yaml rename to tests/integration/alerts/trace/01-assert.yaml diff --git a/tests/e2e/alerts/trace/01-delete.yaml b/tests/integration/alerts/trace/01-delete.yaml similarity index 100% rename from tests/e2e/alerts/trace/01-delete.yaml rename to tests/integration/alerts/trace/01-delete.yaml diff --git a/tests/e2e/alerts/trace/01-tracing-install.yaml b/tests/integration/alerts/trace/01-tracing-install.yaml similarity index 100% rename from tests/e2e/alerts/trace/01-tracing-install.yaml rename to tests/integration/alerts/trace/01-tracing-install.yaml diff --git a/tests/e2e/alerts/unique-count/00-assert.yaml b/tests/integration/alerts/unique-count/00-assert.yaml similarity index 100% rename from tests/e2e/alerts/unique-count/00-assert.yaml rename to tests/integration/alerts/unique-count/00-assert.yaml diff --git a/tests/e2e/alerts/unique-count/00-unique-count-install.yaml b/tests/integration/alerts/unique-count/00-unique-count-install.yaml similarity index 100% rename from tests/e2e/alerts/unique-count/00-unique-count-install.yaml rename to tests/integration/alerts/unique-count/00-unique-count-install.yaml diff --git a/tests/e2e/alerts/unique-count/01-assert.yaml b/tests/integration/alerts/unique-count/01-assert.yaml similarity index 100% rename from tests/e2e/alerts/unique-count/01-assert.yaml rename to tests/integration/alerts/unique-count/01-assert.yaml diff --git a/tests/e2e/alerts/unique-count/01-delete.yaml b/tests/integration/alerts/unique-count/01-delete.yaml similarity index 100% rename from tests/e2e/alerts/unique-count/01-delete.yaml rename to tests/integration/alerts/unique-count/01-delete.yaml diff --git a/tests/e2e/alerts/unique-count/01-unique-count-install.yaml b/tests/integration/alerts/unique-count/01-unique-count-install.yaml similarity index 100% rename from tests/e2e/alerts/unique-count/01-unique-count-install.yaml rename to tests/integration/alerts/unique-count/01-unique-count-install.yaml diff --git a/tests/e2e/outboundwebhooks/aws-event-bridge/00-assert.yaml b/tests/integration/outboundwebhooks/aws-event-bridge/00-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/aws-event-bridge/00-assert.yaml rename to tests/integration/outboundwebhooks/aws-event-bridge/00-assert.yaml diff --git a/tests/e2e/outboundwebhooks/aws-event-bridge/00-aws-event-bridge-install.yaml b/tests/integration/outboundwebhooks/aws-event-bridge/00-aws-event-bridge-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/aws-event-bridge/00-aws-event-bridge-install.yaml rename to tests/integration/outboundwebhooks/aws-event-bridge/00-aws-event-bridge-install.yaml diff --git a/tests/e2e/outboundwebhooks/aws-event-bridge/01-assert.yaml b/tests/integration/outboundwebhooks/aws-event-bridge/01-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/aws-event-bridge/01-assert.yaml rename to tests/integration/outboundwebhooks/aws-event-bridge/01-assert.yaml diff --git a/tests/e2e/outboundwebhooks/aws-event-bridge/01-aws-event-bridge-install.yaml b/tests/integration/outboundwebhooks/aws-event-bridge/01-aws-event-bridge-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/aws-event-bridge/01-aws-event-bridge-install.yaml rename to tests/integration/outboundwebhooks/aws-event-bridge/01-aws-event-bridge-install.yaml diff --git a/tests/e2e/outboundwebhooks/aws-event-bridge/01-delete.yaml b/tests/integration/outboundwebhooks/aws-event-bridge/01-delete.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/aws-event-bridge/01-delete.yaml rename to tests/integration/outboundwebhooks/aws-event-bridge/01-delete.yaml diff --git a/tests/e2e/outboundwebhooks/demisto/00-assert.yaml b/tests/integration/outboundwebhooks/demisto/00-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/demisto/00-assert.yaml rename to tests/integration/outboundwebhooks/demisto/00-assert.yaml diff --git a/tests/e2e/outboundwebhooks/demisto/00-demisto-install.yaml b/tests/integration/outboundwebhooks/demisto/00-demisto-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/demisto/00-demisto-install.yaml rename to tests/integration/outboundwebhooks/demisto/00-demisto-install.yaml diff --git a/tests/e2e/outboundwebhooks/demisto/01-assert.yaml b/tests/integration/outboundwebhooks/demisto/01-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/demisto/01-assert.yaml rename to tests/integration/outboundwebhooks/demisto/01-assert.yaml diff --git a/tests/e2e/outboundwebhooks/demisto/01-delete.yaml b/tests/integration/outboundwebhooks/demisto/01-delete.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/demisto/01-delete.yaml rename to tests/integration/outboundwebhooks/demisto/01-delete.yaml diff --git a/tests/e2e/outboundwebhooks/demisto/01-demisto-install.yaml b/tests/integration/outboundwebhooks/demisto/01-demisto-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/demisto/01-demisto-install.yaml rename to tests/integration/outboundwebhooks/demisto/01-demisto-install.yaml diff --git a/tests/e2e/outboundwebhooks/email-group/00-assert.yaml b/tests/integration/outboundwebhooks/email-group/00-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/email-group/00-assert.yaml rename to tests/integration/outboundwebhooks/email-group/00-assert.yaml diff --git a/tests/e2e/outboundwebhooks/email-group/00-email-group-install.yaml b/tests/integration/outboundwebhooks/email-group/00-email-group-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/email-group/00-email-group-install.yaml rename to tests/integration/outboundwebhooks/email-group/00-email-group-install.yaml diff --git a/tests/e2e/outboundwebhooks/email-group/01-assert.yaml b/tests/integration/outboundwebhooks/email-group/01-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/email-group/01-assert.yaml rename to tests/integration/outboundwebhooks/email-group/01-assert.yaml diff --git a/tests/e2e/outboundwebhooks/email-group/01-delete.yaml b/tests/integration/outboundwebhooks/email-group/01-delete.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/email-group/01-delete.yaml rename to tests/integration/outboundwebhooks/email-group/01-delete.yaml diff --git a/tests/e2e/outboundwebhooks/email-group/01-email-group-install.yaml b/tests/integration/outboundwebhooks/email-group/01-email-group-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/email-group/01-email-group-install.yaml rename to tests/integration/outboundwebhooks/email-group/01-email-group-install.yaml diff --git a/tests/e2e/outboundwebhooks/generic/00-assert.yaml b/tests/integration/outboundwebhooks/generic/00-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/generic/00-assert.yaml rename to tests/integration/outboundwebhooks/generic/00-assert.yaml diff --git a/tests/e2e/outboundwebhooks/generic/00-delete.yaml b/tests/integration/outboundwebhooks/generic/00-delete.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/generic/00-delete.yaml rename to tests/integration/outboundwebhooks/generic/00-delete.yaml diff --git a/tests/e2e/outboundwebhooks/generic/00-generic-install.yaml b/tests/integration/outboundwebhooks/generic/00-generic-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/generic/00-generic-install.yaml rename to tests/integration/outboundwebhooks/generic/00-generic-install.yaml diff --git a/tests/e2e/outboundwebhooks/jira/00-assert.yaml b/tests/integration/outboundwebhooks/jira/00-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/jira/00-assert.yaml rename to tests/integration/outboundwebhooks/jira/00-assert.yaml diff --git a/tests/e2e/outboundwebhooks/jira/00-delete.yaml b/tests/integration/outboundwebhooks/jira/00-delete.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/jira/00-delete.yaml rename to tests/integration/outboundwebhooks/jira/00-delete.yaml diff --git a/tests/e2e/outboundwebhooks/jira/00-jira-install.yaml b/tests/integration/outboundwebhooks/jira/00-jira-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/jira/00-jira-install.yaml rename to tests/integration/outboundwebhooks/jira/00-jira-install.yaml diff --git a/tests/e2e/outboundwebhooks/opsgenie/00-assert.yaml b/tests/integration/outboundwebhooks/opsgenie/00-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/opsgenie/00-assert.yaml rename to tests/integration/outboundwebhooks/opsgenie/00-assert.yaml diff --git a/tests/e2e/outboundwebhooks/opsgenie/00-opsgenie-install.yaml b/tests/integration/outboundwebhooks/opsgenie/00-opsgenie-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/opsgenie/00-opsgenie-install.yaml rename to tests/integration/outboundwebhooks/opsgenie/00-opsgenie-install.yaml diff --git a/tests/e2e/outboundwebhooks/opsgenie/01-assert.yaml b/tests/integration/outboundwebhooks/opsgenie/01-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/opsgenie/01-assert.yaml rename to tests/integration/outboundwebhooks/opsgenie/01-assert.yaml diff --git a/tests/e2e/outboundwebhooks/opsgenie/01-delete.yaml b/tests/integration/outboundwebhooks/opsgenie/01-delete.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/opsgenie/01-delete.yaml rename to tests/integration/outboundwebhooks/opsgenie/01-delete.yaml diff --git a/tests/e2e/outboundwebhooks/opsgenie/01-opsgenie-install.yaml b/tests/integration/outboundwebhooks/opsgenie/01-opsgenie-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/opsgenie/01-opsgenie-install.yaml rename to tests/integration/outboundwebhooks/opsgenie/01-opsgenie-install.yaml diff --git a/tests/e2e/outboundwebhooks/pagerdurty/00-assert.yaml b/tests/integration/outboundwebhooks/pagerdurty/00-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/pagerdurty/00-assert.yaml rename to tests/integration/outboundwebhooks/pagerdurty/00-assert.yaml diff --git a/tests/e2e/outboundwebhooks/pagerdurty/00-pagerduty-install.yaml b/tests/integration/outboundwebhooks/pagerdurty/00-pagerduty-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/pagerdurty/00-pagerduty-install.yaml rename to tests/integration/outboundwebhooks/pagerdurty/00-pagerduty-install.yaml diff --git a/tests/e2e/outboundwebhooks/pagerdurty/01-assert.yaml b/tests/integration/outboundwebhooks/pagerdurty/01-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/pagerdurty/01-assert.yaml rename to tests/integration/outboundwebhooks/pagerdurty/01-assert.yaml diff --git a/tests/e2e/outboundwebhooks/pagerdurty/01-delete.yaml b/tests/integration/outboundwebhooks/pagerdurty/01-delete.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/pagerdurty/01-delete.yaml rename to tests/integration/outboundwebhooks/pagerdurty/01-delete.yaml diff --git a/tests/e2e/outboundwebhooks/pagerdurty/01-pagerduty-install.yaml b/tests/integration/outboundwebhooks/pagerdurty/01-pagerduty-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/pagerdurty/01-pagerduty-install.yaml rename to tests/integration/outboundwebhooks/pagerdurty/01-pagerduty-install.yaml diff --git a/tests/e2e/outboundwebhooks/sendlog/00-assert.yaml b/tests/integration/outboundwebhooks/sendlog/00-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/sendlog/00-assert.yaml rename to tests/integration/outboundwebhooks/sendlog/00-assert.yaml diff --git a/tests/e2e/outboundwebhooks/sendlog/00-sendlog-install.yaml b/tests/integration/outboundwebhooks/sendlog/00-sendlog-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/sendlog/00-sendlog-install.yaml rename to tests/integration/outboundwebhooks/sendlog/00-sendlog-install.yaml diff --git a/tests/e2e/outboundwebhooks/sendlog/01-assert.yaml b/tests/integration/outboundwebhooks/sendlog/01-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/sendlog/01-assert.yaml rename to tests/integration/outboundwebhooks/sendlog/01-assert.yaml diff --git a/tests/e2e/outboundwebhooks/sendlog/01-delete.yaml b/tests/integration/outboundwebhooks/sendlog/01-delete.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/sendlog/01-delete.yaml rename to tests/integration/outboundwebhooks/sendlog/01-delete.yaml diff --git a/tests/e2e/outboundwebhooks/sendlog/01-sendlog-install.yaml b/tests/integration/outboundwebhooks/sendlog/01-sendlog-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/sendlog/01-sendlog-install.yaml rename to tests/integration/outboundwebhooks/sendlog/01-sendlog-install.yaml diff --git a/tests/e2e/outboundwebhooks/slack/00-assert.yaml b/tests/integration/outboundwebhooks/slack/00-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/slack/00-assert.yaml rename to tests/integration/outboundwebhooks/slack/00-assert.yaml diff --git a/tests/e2e/outboundwebhooks/slack/00-slack-install.yaml b/tests/integration/outboundwebhooks/slack/00-slack-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/slack/00-slack-install.yaml rename to tests/integration/outboundwebhooks/slack/00-slack-install.yaml diff --git a/tests/e2e/outboundwebhooks/slack/01-assert.yaml b/tests/integration/outboundwebhooks/slack/01-assert.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/slack/01-assert.yaml rename to tests/integration/outboundwebhooks/slack/01-assert.yaml diff --git a/tests/e2e/outboundwebhooks/slack/01-delete.yaml b/tests/integration/outboundwebhooks/slack/01-delete.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/slack/01-delete.yaml rename to tests/integration/outboundwebhooks/slack/01-delete.yaml diff --git a/tests/e2e/outboundwebhooks/slack/01-slack-install.yaml b/tests/integration/outboundwebhooks/slack/01-slack-install.yaml similarity index 100% rename from tests/e2e/outboundwebhooks/slack/01-slack-install.yaml rename to tests/integration/outboundwebhooks/slack/01-slack-install.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/00-assert.yaml b/tests/integration/prometheusrules/prometheusrules-basic/00-assert.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/00-assert.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/00-assert.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/00-install.yaml b/tests/integration/prometheusrules/prometheusrules-basic/00-install.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/00-install.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/00-install.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/01-assert.yaml b/tests/integration/prometheusrules/prometheusrules-basic/01-assert.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/01-assert.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/01-assert.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/02-assert.yaml b/tests/integration/prometheusrules/prometheusrules-basic/02-assert.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/02-assert.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/02-assert.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/03-assert.yaml b/tests/integration/prometheusrules/prometheusrules-basic/03-assert.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/03-assert.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/03-assert.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/03-install.yaml b/tests/integration/prometheusrules/prometheusrules-basic/03-install.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/03-install.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/03-install.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/04-assert.yaml b/tests/integration/prometheusrules/prometheusrules-basic/04-assert.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/04-assert.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/04-assert.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/05-assert.yaml b/tests/integration/prometheusrules/prometheusrules-basic/05-assert.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/05-assert.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/05-assert.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/05-delete.yaml b/tests/integration/prometheusrules/prometheusrules-basic/05-delete.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/05-delete.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/05-delete.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/06-delete.yaml b/tests/integration/prometheusrules/prometheusrules-basic/06-delete.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/06-delete.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/06-delete.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/07-delete.yaml b/tests/integration/prometheusrules/prometheusrules-basic/07-delete.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/07-delete.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/07-delete.yaml diff --git a/tests/e2e/prometheusrules/prometheusrules-basic/08-delete.yaml b/tests/integration/prometheusrules/prometheusrules-basic/08-delete.yaml similarity index 100% rename from tests/e2e/prometheusrules/prometheusrules-basic/08-delete.yaml rename to tests/integration/prometheusrules/prometheusrules-basic/08-delete.yaml diff --git a/tests/e2e/recordingrulegroupsets/recordingrulegroupsets-basic/00-assert.yaml b/tests/integration/recordingrulegroupsets/recordingrulegroupsets-basic/00-assert.yaml similarity index 100% rename from tests/e2e/recordingrulegroupsets/recordingrulegroupsets-basic/00-assert.yaml rename to tests/integration/recordingrulegroupsets/recordingrulegroupsets-basic/00-assert.yaml diff --git a/tests/e2e/recordingrulegroupsets/recordingrulegroupsets-basic/00-delete.yaml b/tests/integration/recordingrulegroupsets/recordingrulegroupsets-basic/00-delete.yaml similarity index 100% rename from tests/e2e/recordingrulegroupsets/recordingrulegroupsets-basic/00-delete.yaml rename to tests/integration/recordingrulegroupsets/recordingrulegroupsets-basic/00-delete.yaml diff --git a/tests/e2e/recordingrulegroupsets/recordingrulegroupsets-basic/00-install.yaml b/tests/integration/recordingrulegroupsets/recordingrulegroupsets-basic/00-install.yaml similarity index 100% rename from tests/e2e/recordingrulegroupsets/recordingrulegroupsets-basic/00-install.yaml rename to tests/integration/recordingrulegroupsets/recordingrulegroupsets-basic/00-install.yaml diff --git a/tests/e2e/rulegroups/block/00-assert.yaml b/tests/integration/rulegroups/block/00-assert.yaml similarity index 100% rename from tests/e2e/rulegroups/block/00-assert.yaml rename to tests/integration/rulegroups/block/00-assert.yaml diff --git a/tests/e2e/rulegroups/block/00-block-install.yaml b/tests/integration/rulegroups/block/00-block-install.yaml similarity index 100% rename from tests/e2e/rulegroups/block/00-block-install.yaml rename to tests/integration/rulegroups/block/00-block-install.yaml diff --git a/tests/e2e/rulegroups/block/00-delete.yaml b/tests/integration/rulegroups/block/00-delete.yaml similarity index 100% rename from tests/e2e/rulegroups/block/00-delete.yaml rename to tests/integration/rulegroups/block/00-delete.yaml diff --git a/tests/e2e/rulegroups/extract/00-assert.yaml b/tests/integration/rulegroups/extract/00-assert.yaml similarity index 100% rename from tests/e2e/rulegroups/extract/00-assert.yaml rename to tests/integration/rulegroups/extract/00-assert.yaml diff --git a/tests/e2e/rulegroups/extract/00-delete.yaml b/tests/integration/rulegroups/extract/00-delete.yaml similarity index 100% rename from tests/e2e/rulegroups/extract/00-delete.yaml rename to tests/integration/rulegroups/extract/00-delete.yaml diff --git a/tests/e2e/rulegroups/extract/00-extract-install.yaml b/tests/integration/rulegroups/extract/00-extract-install.yaml similarity index 100% rename from tests/e2e/rulegroups/extract/00-extract-install.yaml rename to tests/integration/rulegroups/extract/00-extract-install.yaml diff --git a/tests/e2e/rulegroups/json-extract/00-assert.yaml b/tests/integration/rulegroups/json-extract/00-assert.yaml similarity index 100% rename from tests/e2e/rulegroups/json-extract/00-assert.yaml rename to tests/integration/rulegroups/json-extract/00-assert.yaml diff --git a/tests/e2e/rulegroups/json-extract/00-delete.yaml b/tests/integration/rulegroups/json-extract/00-delete.yaml similarity index 100% rename from tests/e2e/rulegroups/json-extract/00-delete.yaml rename to tests/integration/rulegroups/json-extract/00-delete.yaml diff --git a/tests/e2e/rulegroups/json-extract/00-json-extract-install.yaml b/tests/integration/rulegroups/json-extract/00-json-extract-install.yaml similarity index 100% rename from tests/e2e/rulegroups/json-extract/00-json-extract-install.yaml rename to tests/integration/rulegroups/json-extract/00-json-extract-install.yaml diff --git a/tests/e2e/rulegroups/mixed-rulegroups/00-assert.yaml b/tests/integration/rulegroups/mixed-rulegroups/00-assert.yaml similarity index 100% rename from tests/e2e/rulegroups/mixed-rulegroups/00-assert.yaml rename to tests/integration/rulegroups/mixed-rulegroups/00-assert.yaml diff --git a/tests/e2e/rulegroups/mixed-rulegroups/00-delete.yaml b/tests/integration/rulegroups/mixed-rulegroups/00-delete.yaml similarity index 100% rename from tests/e2e/rulegroups/mixed-rulegroups/00-delete.yaml rename to tests/integration/rulegroups/mixed-rulegroups/00-delete.yaml diff --git a/tests/e2e/rulegroups/mixed-rulegroups/00-mixed-rulegroup-install.yaml b/tests/integration/rulegroups/mixed-rulegroups/00-mixed-rulegroup-install.yaml similarity index 100% rename from tests/e2e/rulegroups/mixed-rulegroups/00-mixed-rulegroup-install.yaml rename to tests/integration/rulegroups/mixed-rulegroups/00-mixed-rulegroup-install.yaml diff --git a/tests/e2e/rulegroups/parse-json/00-assert.yaml b/tests/integration/rulegroups/parse-json/00-assert.yaml similarity index 100% rename from tests/e2e/rulegroups/parse-json/00-assert.yaml rename to tests/integration/rulegroups/parse-json/00-assert.yaml diff --git a/tests/e2e/rulegroups/parse-json/00-delete.yaml b/tests/integration/rulegroups/parse-json/00-delete.yaml similarity index 100% rename from tests/e2e/rulegroups/parse-json/00-delete.yaml rename to tests/integration/rulegroups/parse-json/00-delete.yaml diff --git a/tests/e2e/rulegroups/parse-json/00-parse-json-field-install.yaml b/tests/integration/rulegroups/parse-json/00-parse-json-field-install.yaml similarity index 100% rename from tests/e2e/rulegroups/parse-json/00-parse-json-field-install.yaml rename to tests/integration/rulegroups/parse-json/00-parse-json-field-install.yaml diff --git a/tests/e2e/rulegroups/parse/00-assert.yaml b/tests/integration/rulegroups/parse/00-assert.yaml similarity index 100% rename from tests/e2e/rulegroups/parse/00-assert.yaml rename to tests/integration/rulegroups/parse/00-assert.yaml diff --git a/tests/e2e/rulegroups/parse/00-delete.yaml b/tests/integration/rulegroups/parse/00-delete.yaml similarity index 100% rename from tests/e2e/rulegroups/parse/00-delete.yaml rename to tests/integration/rulegroups/parse/00-delete.yaml diff --git a/tests/e2e/rulegroups/parse/00-parse-install.yaml b/tests/integration/rulegroups/parse/00-parse-install.yaml similarity index 100% rename from tests/e2e/rulegroups/parse/00-parse-install.yaml rename to tests/integration/rulegroups/parse/00-parse-install.yaml diff --git a/tests/e2e/rulegroups/remove-fields/00-assert.yaml b/tests/integration/rulegroups/remove-fields/00-assert.yaml similarity index 100% rename from tests/e2e/rulegroups/remove-fields/00-assert.yaml rename to tests/integration/rulegroups/remove-fields/00-assert.yaml diff --git a/tests/e2e/rulegroups/remove-fields/00-delete.yaml b/tests/integration/rulegroups/remove-fields/00-delete.yaml similarity index 100% rename from tests/e2e/rulegroups/remove-fields/00-delete.yaml rename to tests/integration/rulegroups/remove-fields/00-delete.yaml diff --git a/tests/e2e/rulegroups/remove-fields/00-remove-fields-install.yaml b/tests/integration/rulegroups/remove-fields/00-remove-fields-install.yaml similarity index 100% rename from tests/e2e/rulegroups/remove-fields/00-remove-fields-install.yaml rename to tests/integration/rulegroups/remove-fields/00-remove-fields-install.yaml diff --git a/tests/e2e/rulegroups/replace/00-assert.yaml b/tests/integration/rulegroups/replace/00-assert.yaml similarity index 100% rename from tests/e2e/rulegroups/replace/00-assert.yaml rename to tests/integration/rulegroups/replace/00-assert.yaml diff --git a/tests/e2e/rulegroups/replace/00-delete.yaml b/tests/integration/rulegroups/replace/00-delete.yaml similarity index 100% rename from tests/e2e/rulegroups/replace/00-delete.yaml rename to tests/integration/rulegroups/replace/00-delete.yaml diff --git a/tests/e2e/rulegroups/replace/00-replace-install.yaml b/tests/integration/rulegroups/replace/00-replace-install.yaml similarity index 100% rename from tests/e2e/rulegroups/replace/00-replace-install.yaml rename to tests/integration/rulegroups/replace/00-replace-install.yaml diff --git a/tests/e2e/rulegroups/stringify-json/00-assert.yaml b/tests/integration/rulegroups/stringify-json/00-assert.yaml similarity index 100% rename from tests/e2e/rulegroups/stringify-json/00-assert.yaml rename to tests/integration/rulegroups/stringify-json/00-assert.yaml diff --git a/tests/e2e/rulegroups/stringify-json/00-delete.yaml b/tests/integration/rulegroups/stringify-json/00-delete.yaml similarity index 100% rename from tests/e2e/rulegroups/stringify-json/00-delete.yaml rename to tests/integration/rulegroups/stringify-json/00-delete.yaml diff --git a/tests/e2e/rulegroups/stringify-json/00-stringify-json-install.yaml b/tests/integration/rulegroups/stringify-json/00-stringify-json-install.yaml similarity index 100% rename from tests/e2e/rulegroups/stringify-json/00-stringify-json-install.yaml rename to tests/integration/rulegroups/stringify-json/00-stringify-json-install.yaml diff --git a/tests/e2e/rulegroups/timestamp/00-assert.yaml b/tests/integration/rulegroups/timestamp/00-assert.yaml similarity index 100% rename from tests/e2e/rulegroups/timestamp/00-assert.yaml rename to tests/integration/rulegroups/timestamp/00-assert.yaml diff --git a/tests/e2e/rulegroups/timestamp/00-delete.yaml b/tests/integration/rulegroups/timestamp/00-delete.yaml similarity index 100% rename from tests/e2e/rulegroups/timestamp/00-delete.yaml rename to tests/integration/rulegroups/timestamp/00-delete.yaml diff --git a/tests/e2e/rulegroups/timestamp/00-extract-time-stamp-install.yaml b/tests/integration/rulegroups/timestamp/00-extract-time-stamp-install.yaml similarity index 100% rename from tests/e2e/rulegroups/timestamp/00-extract-time-stamp-install.yaml rename to tests/integration/rulegroups/timestamp/00-extract-time-stamp-install.yaml