Skip to content

Commit

Permalink
add to e2e test
Browse files Browse the repository at this point in the history
  • Loading branch information
ruanxin committed Feb 5, 2025
1 parent 313f05c commit a72fd9d
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 9 deletions.
7 changes: 0 additions & 7 deletions .github/actions/deploy-lifecycle-manager-e2e/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,13 +151,6 @@ runs:
klm_image_repo: ${{ inputs.klm_image_repo }}
- name: Expose Metrics Endpoint
working-directory: lifecycle-manager
if: ${{ matrix.e2e-test == 'kyma-metrics' ||
matrix.e2e-test == 'module-status-decoupling-with-statefulset' ||
matrix.e2e-test == 'module-status-decoupling-with-deployment' ||
matrix.e2e-test == 'purge-metrics' ||
matrix.e2e-test == 'self-signed-certificate-rotation' ||
matrix.e2e-test == 'mandatory-module-metrics' ||
matrix.e2e-test == 'mandatory-module-metrics-with-old-naming-pattern'}}
shell: bash
run: |
kubectl patch svc klm-controller-manager-metrics -p '{"spec": {"type": "LoadBalancer"}}' -n kcp-system
10 changes: 10 additions & 0 deletions tests/e2e/commontestutils/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,16 @@ import (

var ErrMetricNotFound = errors.New("metric was not found")

func GetMaintenanceWindowGauge(ctx context.Context) (int, error) {
bodyString, err := getMetricsBody(ctx)
if err != nil {
return 0, err
}

re := regexp.MustCompile(metrics.MetricMaintenanceWindowConfigReadSuccess + ` (\d+)`)
return parseCount(re, bodyString)
}

func GetKymaStateMetricCount(ctx context.Context, kymaName string, state shared.State) (int, error) {
bodyString, err := getMetricsBody(ctx)
if err != nil {
Expand Down
15 changes: 13 additions & 2 deletions tests/e2e/maintenance_windows_initial_installation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,15 @@ var _ = Describe("Maintenance Windows - No Wait for Maintenance Window on Initia
InitEmptyKymaBeforeAll(kyma)
CleanupKymaAfterAll(kyma)

Context("Given KCP Cluster", func() {
It("When KLM is initialized", func() {
By("Then maintenance window metrics are initialized")
Eventually(GetMaintenanceWindowGauge).
WithContext(ctx).
Should(Equal(1))
})
})

Context("Given SKR Cluster; Kyma CR .spec.skipMaintenanceWindows=false; NO active maintenance window", func() {
It("When module in fast channel is enabled (requiresDowntime=true)", func() {
module.Channel = fastChannel
Expand All @@ -53,7 +62,8 @@ var _ = Describe("Maintenance Windows - No Wait for Maintenance Window on Initia
By("And SKR Kyma CR is in \"Ready\" State")
Eventually(KymaIsInState).
WithContext(ctx).
WithArguments(shared.DefaultRemoteKymaName, shared.DefaultRemoteNamespace, skrClient, shared.StateReady).
WithArguments(shared.DefaultRemoteKymaName, shared.DefaultRemoteNamespace, skrClient,
shared.StateReady).
Should(Succeed())

By("And KCP Kyma CR is in \"Ready\" State")
Expand All @@ -78,7 +88,8 @@ var _ = Describe("Maintenance Windows - No Wait for Maintenance Window on Initia
By("And SKR Kyma CR is in \"Ready\" State")
Eventually(KymaIsInState).
WithContext(ctx).
WithArguments(shared.DefaultRemoteKymaName, shared.DefaultRemoteNamespace, skrClient, shared.StateReady).
WithArguments(shared.DefaultRemoteKymaName, shared.DefaultRemoteNamespace, skrClient,
shared.StateReady).
Should(Succeed())

By("And KCP Kyma CR is in \"Ready\" State")
Expand Down

0 comments on commit a72fd9d

Please sign in to comment.