...
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package chaosdaemon
15
16 import (
17 . "github.com/onsi/ginkgo"
18 . "github.com/onsi/gomega"
19 "github.com/prometheus/client_golang/prometheus"
20
21 "github.com/chaos-mesh/chaos-mesh/pkg/chaosdaemon/crclients"
22 "github.com/chaos-mesh/chaos-mesh/pkg/chaosdaemon/crclients/test"
23 "github.com/chaos-mesh/chaos-mesh/pkg/mock"
24 )
25
26 var _ = Describe("netem server", func() {
27 Context("newDaemonServer", func() {
28 It("should work", func() {
29 defer mock.With("MockContainerdClient", &test.MockClient{})()
30 _, err := newDaemonServer(crclients.ContainerRuntimeContainerd)
31 Expect(err).To(BeNil())
32 })
33
34 It("should fail on CreateContainerRuntimeInfoClient", func() {
35 _, err := newDaemonServer("invalid-runtime")
36 Expect(err).ToNot(BeNil())
37 })
38 })
39
40 Context("newGRPCServer", func() {
41 It("should work", func() {
42 defer mock.With("MockContainerdClient", &test.MockClient{})()
43 _, err := newGRPCServer(crclients.ContainerRuntimeContainerd, &MockRegisterer{}, tlsConfig{})
44 Expect(err).To(BeNil())
45 })
46
47 It("should panic", func() {
48 Ω(func() {
49 defer mock.With("MockContainerdClient", &test.MockClient{})()
50 defer mock.With("PanicOnMustRegister", "mock panic")()
51 newGRPCServer(crclients.ContainerRuntimeContainerd, &MockRegisterer{}, tlsConfig{})
52 }).Should(Panic())
53 })
54 })
55 })
56
57 type MockRegisterer struct {
58 RegisterGatherer
59 }
60
61 func (*MockRegisterer) MustRegister(...prometheus.Collector) {
62 if err := mock.On("PanicOnMustRegister"); err != nil {
63 panic(err)
64 }
65 }
66