1
0
mirror of https://github.com/coreos/prometheus-operator.git synced 2026-02-05 15:46:31 +01:00

Replace t.Fatal with require package in tests-e2e (#6782)

* Replace t.Fatal-> require package in tests-e2e
This commit is contained in:
Ashwin Sriram
2024-08-07 15:11:57 +05:30
committed by GitHub
parent c5b211c5aa
commit 5cac405eb3
6 changed files with 262 additions and 564 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -17,6 +17,8 @@ package e2e
import (
"context"
"testing"
"github.com/stretchr/testify/require"
)
const testAnnotationControllerID = "42"
@@ -30,17 +32,13 @@ func testMultipleOperatorsPrometheusServer(t *testing.T) {
name := "test-op-1"
p := framework.MakeBasicPrometheus(ns, name, name, 1)
_, err := framework.CreatePrometheusAndWaitUntilReady(context.Background(), ns, p)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
name = "test-op-2"
p = framework.MakeBasicPrometheus(ns, name, name, 1)
p.Annotations["operator.prometheus.io/controller-id"] = testAnnotationControllerID
_, err = framework.CreatePrometheusAndWaitUntilReady(context.Background(), ns, p)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
}
func testMultipleOperatorsPrometheusAgent(t *testing.T) {
@@ -52,17 +50,13 @@ func testMultipleOperatorsPrometheusAgent(t *testing.T) {
name := "test-op-1"
p := framework.MakeBasicPrometheusAgent(ns, name, name, 1)
_, err := framework.CreatePrometheusAgentAndWaitUntilReady(context.Background(), ns, p)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
name = "test-op-2"
p = framework.MakeBasicPrometheusAgent(ns, name, name, 1)
p.Annotations["operator.prometheus.io/controller-id"] = testAnnotationControllerID
_, err = framework.CreatePrometheusAgentAndWaitUntilReady(context.Background(), ns, p)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
}
func testMultipleOperatorsAlertManager(t *testing.T) {
@@ -74,17 +68,13 @@ func testMultipleOperatorsAlertManager(t *testing.T) {
name := "test-op-1"
a := framework.MakeBasicAlertmanager(ns, name, 1)
_, err := framework.CreateAlertmanagerAndWaitUntilReady(context.Background(), a)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
name = "test-op-2"
a = framework.MakeBasicAlertmanager(ns, name, 1)
a.Annotations["operator.prometheus.io/controller-id"] = testAnnotationControllerID
_, err = framework.CreateAlertmanagerAndWaitUntilReady(context.Background(), a)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
}
func testMultipleOperatorsThanosRuler(t *testing.T) {
@@ -96,15 +86,11 @@ func testMultipleOperatorsThanosRuler(t *testing.T) {
name := "test-op-1"
thanos := framework.MakeBasicThanosRuler(name, 1, "http://test.example.com")
_, err := framework.CreateThanosRulerAndWaitUntilReady(context.Background(), ns, thanos)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
name = "test-op-2"
thanos = framework.MakeBasicThanosRuler(name, 1, "http://test.example.com")
thanos.Annotations["operator.prometheus.io/controller-id"] = testAnnotationControllerID
_, err = framework.CreateThanosRulerAndWaitUntilReady(context.Background(), ns, thanos)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
}

View File

@@ -25,6 +25,7 @@ import (
"testing"
"github.com/blang/semver/v4"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields"
@@ -178,9 +179,7 @@ func TestAllNS(t *testing.T) {
ns := framework.CreateNamespace(context.Background(), t, testCtx)
finalizers, err := framework.CreateOrUpdatePrometheusOperator(context.Background(), ns, nil, nil, nil, nil, true, true, true)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
for _, f := range finalizers {
testCtx.AddFinalizerFn(f)
@@ -205,26 +204,13 @@ func TestAllNS(t *testing.T) {
})).String()}
pl, err := framework.KubeClient.CoreV1().Pods(ns).List(context.Background(), opts)
if err != nil {
t.Fatal(err)
}
if expected := 1; len(pl.Items) != expected {
t.Fatalf("expected %v Prometheus Operator pods, but got %v", expected, len(pl.Items))
}
require.NoError(t, err)
require.Len(t, pl.Items, 1, "expected %v Prometheus Operator pods, but got %v", 1, len(pl.Items))
restarts, err := framework.GetPodRestartCount(context.Background(), ns, pl.Items[0].GetName())
if err != nil {
t.Fatalf("failed to retrieve restart count of Prometheus Operator pod: %v", err)
}
if len(restarts) != 1 {
t.Fatalf("expected to have 1 container but got %d", len(restarts))
}
require.NoError(t, err)
require.Len(t, restarts, 1)
for _, restart := range restarts {
if restart != 0 {
t.Fatalf(
"expected Prometheus Operator to never restart during entire test execution but got %d restarts",
restart,
)
}
require.Equal(t, int32(0), restart, "expected Prometheus Operator to never restart during entire test execution but got %d restarts", restart)
}
}
@@ -440,9 +426,7 @@ func TestPrometheusVersionUpgrade(t *testing.T) {
ns := framework.CreateNamespace(context.Background(), t, testCtx)
finalizers, err := framework.CreateOrUpdatePrometheusOperator(context.Background(), ns, nil, nil, nil, nil, true, true, true)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
for _, f := range finalizers {
testCtx.AddFinalizerFn(f)
@@ -454,16 +438,13 @@ func TestPrometheusVersionUpgrade(t *testing.T) {
func testServerTLS(ctx context.Context, namespace string) func(t *testing.T) {
return func(t *testing.T) {
skipPrometheusTests(t)
if err := framework.WaitForServiceReady(context.Background(), namespace, prometheusOperatorServiceName); err != nil {
t.Fatal("waiting for prometheus operator service: ", err)
}
err := framework.WaitForServiceReady(context.Background(), namespace, prometheusOperatorServiceName)
require.NoError(t, err)
operatorService := framework.KubeClient.CoreV1().Services(namespace)
request := operatorService.ProxyGet("https", prometheusOperatorServiceName, "https", "/healthz", make(map[string]string))
_, err := request.DoRaw(ctx)
if err != nil {
t.Fatal(err)
}
_, err = request.DoRaw(ctx)
require.NoError(t, err)
}
}
@@ -481,9 +462,7 @@ func testMultipleOperators(testCtx *operatorFramework.TestCtx) func(t *testing.T
EnableScrapeConfigs: true,
AdditionalArgs: []string{testControllerID},
})
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
for _, f := range finalizers {
testCtx.AddFinalizerFn(f)

View File

@@ -45,13 +45,11 @@ func testCreatePrometheusAgent(t *testing.T) {
prometheusAgentCRD := framework.MakeBasicPrometheusAgent(ns, name, name, 1)
if _, err := framework.CreatePrometheusAgentAndWaitUntilReady(context.Background(), ns, prometheusAgentCRD); err != nil {
t.Fatal(err)
}
_, err := framework.CreatePrometheusAgentAndWaitUntilReady(context.Background(), ns, prometheusAgentCRD)
require.NoError(t, err)
if err := framework.DeletePrometheusAgentAndWaitUntilGone(context.Background(), ns, name); err != nil {
t.Fatal(err)
}
err = framework.DeletePrometheusAgentAndWaitUntilGone(context.Background(), ns, name)
require.NoError(t, err)
}
@@ -93,19 +91,15 @@ func testAgentAndServerNameColision(t *testing.T) {
prometheusAgentCRD := framework.MakeBasicPrometheusAgent(ns, name, name, 1)
prometheusCRD := framework.MakeBasicPrometheus(ns, name, name, 1)
if _, err := framework.CreatePrometheusAgentAndWaitUntilReady(context.Background(), ns, prometheusAgentCRD); err != nil {
t.Fatal(err)
}
if _, err := framework.CreatePrometheusAndWaitUntilReady(context.Background(), ns, prometheusCRD); err != nil {
t.Fatal(err)
}
_, err := framework.CreatePrometheusAgentAndWaitUntilReady(context.Background(), ns, prometheusAgentCRD)
require.NoError(t, err)
_, err = framework.CreatePrometheusAndWaitUntilReady(context.Background(), ns, prometheusCRD)
require.NoError(t, err)
if err := framework.DeletePrometheusAgentAndWaitUntilGone(context.Background(), ns, name); err != nil {
t.Fatal(err)
}
if err := framework.DeletePrometheusAndWaitUntilGone(context.Background(), ns, name); err != nil {
t.Fatal(err)
}
err = framework.DeletePrometheusAgentAndWaitUntilGone(context.Background(), ns, name)
require.NoError(t, err)
err = framework.DeletePrometheusAndWaitUntilGone(context.Background(), ns, name)
require.NoError(t, err)
}
@@ -122,9 +116,7 @@ func testAgentCheckStorageClass(t *testing.T) {
prometheusAgentCRD := framework.MakeBasicPrometheusAgent(ns, name, name, 1)
prometheusAgentCRD, err := framework.CreatePrometheusAgentAndWaitUntilReady(ctx, ns, prometheusAgentCRD)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
// Invalid storageclass e2e test
@@ -149,10 +141,7 @@ func testAgentCheckStorageClass(t *testing.T) {
},
},
)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
var loopError error
err = wait.PollUntilContextTimeout(ctx, 5*time.Second, framework.DefaultTimeout, true, func(ctx context.Context) (bool, error) {
current, err := framework.MonClientV1alpha1.PrometheusAgents(ns).Get(ctx, name, metav1.GetOptions{})
@@ -168,9 +157,7 @@ func testAgentCheckStorageClass(t *testing.T) {
return false, nil
})
if err != nil {
t.Fatalf("%v: %v", err, loopError)
}
require.NoError(t, err, "%v: %v", err, loopError)
}
func testPrometheusAgentStatusScale(t *testing.T) {
@@ -187,20 +174,12 @@ func testPrometheusAgentStatusScale(t *testing.T) {
pAgent.Spec.CommonPrometheusFields.Shards = proto.Int32(1)
pAgent, err := framework.CreatePrometheusAgentAndWaitUntilReady(ctx, ns, pAgent)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
if pAgent.Status.Shards != 1 {
t.Fatalf("expected scale of 1 shard, got %d", pAgent.Status.Shards)
}
require.Equal(t, int32(1), pAgent.Status.Shards)
pAgent, err = framework.ScalePrometheusAgentAndWaitUntilReady(ctx, name, ns, 2)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
if pAgent.Status.Shards != 2 {
t.Fatalf("expected scale of 2 shards, got %d", pAgent.Status.Shards)
}
require.Equal(t, int32(2), pAgent.Status.Shards)
}

View File

@@ -479,9 +479,8 @@ func testScrapeConfigDNSSDConfig(t *testing.T) {
require.NoError(t, err)
// Check that the targets appear in Prometheus and does proper scrapping
if err := framework.WaitForHealthyTargets(context.Background(), ns, "prometheus-operated", 1); err != nil {
t.Fatal(err)
}
err = framework.WaitForHealthyTargets(context.Background(), ns, "prometheus-operated", 1)
require.NoError(t, err)
// Remove the ScrapeConfig
err = framework.DeleteScrapeConfig(context.Background(), ns, "scrape-config")
@@ -955,19 +954,12 @@ func testScrapeConfigCRDValidations(t *testing.T) {
_, err := framework.MonClientV1alpha1.ScrapeConfigs(ns).Create(context.Background(), sc, metav1.CreateOptions{})
if test.expectedError {
if err == nil {
t.Fatal("expected error but got nil")
}
if !apierrors.IsInvalid(err) {
t.Fatalf("expected Invalid error but got %v", err)
}
require.Error(t, err)
require.True(t, apierrors.IsInvalid(err))
return
}
if err != nil {
t.Fatalf("unexpected error occurred %v", err)
}
require.NoError(t, err)
})
}
}

View File

@@ -20,6 +20,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/require"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
@@ -32,15 +33,11 @@ func testOperatorUpgrade(t *testing.T) {
// Delete cluster wide resources to make sure the environment is clean
err := framework.DeletePrometheusOperatorClusterResource(context.Background())
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
// Create Prometheus Operator with previous stable minor version
_, err = previousVersionFramework.CreateOrUpdatePrometheusOperator(context.Background(), ns, nil, nil, nil, nil, true, true, false)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
name := "operator-upgrade"
@@ -124,43 +121,29 @@ func testOperatorUpgrade(t *testing.T) {
alertmanager := previousVersionFramework.MakeBasicAlertmanager(ns, name, 1)
_, err = previousVersionFramework.CreateAlertmanagerAndWaitUntilReady(context.Background(), alertmanager)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
_, err = previousVersionFramework.CreateOrUpdateServiceAndWaitUntilReady(context.Background(), ns, &alertmanagerService)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
previousVersionFramework.SetupPrometheusRBAC(context.Background(), t, nil, ns)
prometheus := previousVersionFramework.MakeBasicPrometheus(ns, name, name, 1)
_, err = previousVersionFramework.CreatePrometheusAndWaitUntilReady(context.Background(), ns, previousVersionFramework.MakeBasicPrometheus(ns, name, name, 1))
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
_, err = previousVersionFramework.CreateOrUpdateServiceAndWaitUntilReady(context.Background(), ns, &prometheusService)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
thanosRuler := previousVersionFramework.MakeBasicThanosRuler(name, 1, "http://test.example.com")
_, err = previousVersionFramework.CreateThanosRulerAndWaitUntilReady(context.Background(), ns, thanosRuler)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
_, err = previousVersionFramework.CreateOrUpdateServiceAndWaitUntilReady(context.Background(), ns, &thanosRulerService)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
framework.SetupPrometheusRBAC(context.Background(), t, testCtx, ns)
// Update Prometheus Operator to current version
finalizers, err := framework.CreateOrUpdatePrometheusOperator(context.Background(), ns, nil, nil, nil, nil, true, true, true)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
for _, f := range finalizers {
testCtx.AddFinalizerFn(f)
}
@@ -169,29 +152,17 @@ func testOperatorUpgrade(t *testing.T) {
time.Sleep(time.Minute)
_, err = framework.WaitForAlertmanagerReady(context.Background(), alertmanager)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
err = framework.WaitForServiceReady(context.Background(), ns, alertmanagerService.Name)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
_, err = framework.WaitForPrometheusReady(context.Background(), prometheus, 5*time.Minute)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
err = framework.WaitForServiceReady(context.Background(), ns, prometheusService.Name)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
err = framework.WaitForThanosRulerReady(context.Background(), ns, thanosRuler, 5*time.Minute)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
err = framework.WaitForServiceReady(context.Background(), ns, thanosRulerService.Name)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
}