...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package netem
17
18 import (
19 "testing"
20
21 . "github.com/onsi/gomega"
22
23 chaosdaemonpb "github.com/chaos-mesh/chaos-mesh/pkg/chaosdaemon/pb"
24 )
25
26 func TestMergeNetem(t *testing.T) {
27 g := NewGomegaWithT(t)
28
29 cases := []struct {
30 a *chaosdaemonpb.Netem
31 b *chaosdaemonpb.Netem
32 merged *chaosdaemonpb.Netem
33 }{
34 {nil, nil, nil},
35 {
36
37 &chaosdaemonpb.Netem{Loss: 25},
38 &chaosdaemonpb.Netem{DelayCorr: 90},
39 &chaosdaemonpb.Netem{Loss: 25, DelayCorr: 90},
40 },
41 {
42
43 &chaosdaemonpb.Netem{Loss: 25, DelayCorr: 100.2},
44 &chaosdaemonpb.Netem{DelayCorr: 90},
45 &chaosdaemonpb.Netem{Loss: 25, DelayCorr: 100.2},
46 },
47 {
48 &chaosdaemonpb.Netem{Time: 100},
49 &chaosdaemonpb.Netem{Rate: "800kbit"},
50 &chaosdaemonpb.Netem{Time: 100, Rate: "800kbit"},
51 },
52 }
53
54 for _, tc := range cases {
55 m := MergeNetem(tc.a, tc.b)
56 g.Expect(tc.merged).Should(Equal(m))
57 }
58 }
59