kuma

Форк
0
72 строки · 2.3 Кб
1
package jobs
2

3
import (
4
	. "github.com/onsi/ginkgo/v2"
5
	. "github.com/onsi/gomega"
6

7
	. "github.com/kumahq/kuma/test/framework"
8
	"github.com/kumahq/kuma/test/framework/deployments/testserver"
9
	"github.com/kumahq/kuma/test/framework/envs/kubernetes"
10
)
11

12
func Jobs() {
13
	It("should terminate jobs without mTLS", func() {
14
		const namespace = "jobs"
15
		const mesh = "jobs"
16

17
		E2EDeferCleanup(func() {
18
			Expect(kubernetes.Cluster.TriggerDeleteNamespace(namespace)).To(Succeed())
19
			Expect(kubernetes.Cluster.DeleteMesh(mesh)).To(Succeed())
20
		})
21

22
		err := NewClusterSetup().
23
			Install(NamespaceWithSidecarInjection(namespace)).
24
			Install(MeshKubernetes(mesh)).
25
			Install(testserver.Install(
26
				testserver.WithNamespace(namespace),
27
				testserver.WithMesh(mesh),
28
			)).
29
			Setup(kubernetes.Cluster)
30
		Expect(err).ToNot(HaveOccurred())
31

32
		// when
33
		err = kubernetes.Cluster.Install(DemoClientJobK8s(namespace, mesh, "test-server_jobs_svc_80.mesh"))
34

35
		// then CP terminates the job by sending /quitquitquit to Envoy Admin and verifies connection using self-signed certs
36
		Expect(err).ToNot(HaveOccurred())
37

38
		// and Dataplane object is deleted
39
		Eventually(func(g Gomega) {
40
			out, err := kubernetes.Cluster.GetKumactlOptions().RunKumactlAndGetOutput("get", "dataplanes", "--mesh", mesh)
41
			g.Expect(err).ToNot(HaveOccurred())
42
			g.Expect(out).ToNot(ContainSubstring("demo-job-client"))
43
		}, "30s", "1s").Should(Succeed())
44
	})
45

46
	It("should terminate jobs with mTLS", func() {
47
		const namespace = "jobs-mtls"
48
		const mesh = "jobs-mtls"
49

50
		E2EDeferCleanup(func() {
51
			Expect(kubernetes.Cluster.TriggerDeleteNamespace(namespace)).To(Succeed())
52
			Expect(kubernetes.Cluster.DeleteMesh(mesh)).To(Succeed())
53
		})
54

55
		err := NewClusterSetup().
56
			Install(NamespaceWithSidecarInjection(namespace)).
57
			Install(MTLSMeshKubernetes(mesh)).
58
			Install(MeshTrafficPermissionAllowAllKubernetes(mesh)).
59
			Install(testserver.Install(
60
				testserver.WithNamespace(namespace),
61
				testserver.WithMesh(mesh),
62
			)).
63
			Setup(kubernetes.Cluster)
64
		Expect(err).ToNot(HaveOccurred())
65

66
		// when
67
		err = kubernetes.Cluster.Install(DemoClientJobK8s(namespace, mesh, "test-server_jobs-mtls_svc_80.mesh"))
68

69
		// then CP terminates the job by sending /quitquitquit to Envoy Admin and verifies connection using mTLS certs
70
		Expect(err).ToNot(HaveOccurred())
71
	})
72
}
73

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.