Fix up tests to match new WithLatests()

This commit is contained in:
Bryan Boreham
2018-04-11 09:33:17 +00:00
parent 650b1781a3
commit a1bc35437d
21 changed files with 334 additions and 336 deletions

View File

@@ -115,9 +115,9 @@ func TestRendererForTopologyWithFiltering(t *testing.T) {
}
input := fixture.Report.Copy()
input.Container.Nodes[fixture.ClientContainerNodeID] = input.Container.Nodes[fixture.ClientContainerNodeID].WithLatests(map[string]string{
docker.LabelPrefix + "works.weave.role": "system",
})
input.Container.Nodes[fixture.ClientContainerNodeID] = input.Container.Nodes[fixture.ClientContainerNodeID].WithLatests(
docker.LabelPrefix+"works.weave.role", "system",
)
have := utils.Prune(render.Render(input, renderer, filter).Nodes)
want := utils.Prune(expected.RenderedContainers.Copy())
delete(want, fixture.ClientContainerNodeID)
@@ -146,9 +146,9 @@ func TestRendererForTopologyNoFiltering(t *testing.T) {
}
input := fixture.Report.Copy()
input.Container.Nodes[fixture.ClientContainerNodeID] = input.Container.Nodes[fixture.ClientContainerNodeID].WithLatests(map[string]string{
docker.LabelPrefix + "works.weave.role": "system",
})
input.Container.Nodes[fixture.ClientContainerNodeID] = input.Container.Nodes[fixture.ClientContainerNodeID].WithLatests(
docker.LabelPrefix+"works.weave.role", "system",
)
have := utils.Prune(render.Render(input, renderer, filter).Nodes)
want := utils.Prune(expected.RenderedContainers.Copy())
delete(want, render.MakePseudoNodeID(render.UncontainedID, fixture.ServerHostID))

View File

@@ -22,17 +22,17 @@ var (
testServiceName = "test-service"
testServiceCount = 1
testContainer = "test-container"
testContainerData = map[string]string{
docker.LabelPrefix + "com.amazonaws.ecs.task-arn": testTaskARN,
docker.LabelPrefix + "com.amazonaws.ecs.cluster": testCluster,
docker.LabelPrefix + "com.amazonaws.ecs.task-definition-family": testFamily,
testContainerData = []string{
docker.LabelPrefix + "com.amazonaws.ecs.task-arn", testTaskARN,
docker.LabelPrefix + "com.amazonaws.ecs.cluster", testCluster,
docker.LabelPrefix + "com.amazonaws.ecs.task-definition-family", testFamily,
}
)
func getTestContainerNode() report.Node {
return report.MakeNodeWith(
report.MakeContainerNodeID(testContainer),
testContainerData,
testContainerData...,
)
}

View File

@@ -70,19 +70,19 @@ func TestContainer(t *testing.T) {
docker.StartContainer: {Dead: true},
docker.RemoveContainer: {Dead: true},
}
want := report.MakeNodeWith("ping;<container>", map[string]string{
"docker_container_command": "ping foo.bar.local",
"docker_container_created": "0001-01-01T00:00:00Z",
"docker_container_id": "ping",
"docker_container_name": "pong",
"docker_image_id": "baz",
"docker_label_foo1": "bar1",
"docker_label_foo2": "bar2",
"docker_container_state": "running",
"docker_container_state_human": c.Container().State.String(),
"docker_container_uptime": strconv.Itoa(uptimeSeconds),
"docker_env_FOO": "secret-bar",
}).WithLatestControls(
want := report.MakeNodeWith("ping;<container>",
"docker_container_command", "ping foo.bar.local",
"docker_container_created", "0001-01-01T00:00:00Z",
"docker_container_id", "ping",
"docker_container_name", "pong",
"docker_image_id", "baz",
"docker_label_foo1", "bar1",
"docker_label_foo2", "bar2",
"docker_container_state", "running",
"docker_container_state_human", c.Container().State.String(),
"docker_container_uptime", strconv.Itoa(uptimeSeconds),
"docker_env_FOO", "secret-bar",
).WithLatestControls(
controls,
).WithMetrics(report.Metrics{
"docker_cpu_total_usage": report.MakeMetric(nil),

View File

@@ -67,11 +67,11 @@ func (c *mockContainer) StartGatheringStats(docker.StatsGatherer) error {
func (c *mockContainer) StopGatheringStats() {}
func (c *mockContainer) GetNode() report.Node {
return report.MakeNodeWith(report.MakeContainerNodeID(c.c.ID), map[string]string{
docker.ContainerID: c.c.ID,
docker.ContainerName: c.c.Name,
docker.ImageID: c.c.Image,
}).WithParents(report.MakeSets().
return report.MakeNodeWith(report.MakeContainerNodeID(c.c.ID),
docker.ContainerID, c.c.ID,
docker.ContainerName, c.c.Name,
docker.ImageID, c.c.Image,
).WithParents(report.MakeSets().
Add(report.ContainerImage, report.MakeStringSet(report.MakeContainerImageNodeID(c.c.Image))),
)
}
@@ -502,10 +502,10 @@ func TestRegistryDelete(t *testing.T) {
mtx.Lock()
want := []report.Node{
report.MakeNodeWith(report.MakeContainerNodeID("ping"), map[string]string{
docker.ContainerID: "ping",
docker.ContainerState: "deleted",
}),
report.MakeNodeWith(report.MakeContainerNodeID("ping"),
docker.ContainerID, "ping",
docker.ContainerState, "deleted",
),
}
if !reflect.DeepEqual(want, nodes) {
t.Errorf("Didn't get right container updates: %v", commonTest.Diff(want, nodes))

View File

@@ -40,8 +40,8 @@ func TestTagger(t *testing.T) {
)
input := report.MakeReport()
input.Process.AddNode(report.MakeNodeWith(pid1NodeID, map[string]string{process.PID: "2"}))
input.Process.AddNode(report.MakeNodeWith(pid2NodeID, map[string]string{process.PID: "3"}))
input.Process.AddNode(report.MakeNodeWith(pid1NodeID, process.PID, "2"))
input.Process.AddNode(report.MakeNodeWith(pid2NodeID, process.PID, "3"))
have, err := docker.NewTagger(mockRegistryInstance, nil).Tag(input)
if err != nil {

View File

@@ -69,16 +69,16 @@ func TestNat(t *testing.T) {
have := report.MakeReport()
originalID := report.MakeEndpointNodeID("host1", "", "10.0.47.1", "80")
have.Endpoint.AddNode(report.MakeNodeWith(originalID, map[string]string{
"foo": "bar",
}))
have.Endpoint.AddNode(report.MakeNodeWith(originalID,
"foo", "bar",
))
want := have.Copy()
wantID := report.MakeEndpointNodeID("host1", "", "1.2.3.4", "80")
want.Endpoint.AddNode(report.MakeNodeWith(wantID, map[string]string{
CopyOf: originalID,
"foo": "bar",
}))
want.Endpoint.AddNode(report.MakeNodeWith(wantID,
CopyOf, originalID,
"foo", "bar",
))
makeNATMapper(ct).applyNAT(have, "host1")
if !reflect.DeepEqual(want, have) {
@@ -122,15 +122,15 @@ func TestNat(t *testing.T) {
have := report.MakeReport()
originalID := report.MakeEndpointNodeID("host2", "", "10.0.47.2", "22222")
have.Endpoint.AddNode(report.MakeNodeWith(originalID, map[string]string{
"foo": "baz",
}))
have.Endpoint.AddNode(report.MakeNodeWith(originalID,
"foo", "baz",
))
want := have.Copy()
want.Endpoint.AddNode(report.MakeNodeWith(report.MakeEndpointNodeID("host2", "", "2.3.4.5", "22223"), map[string]string{
CopyOf: originalID,
"foo": "baz",
}))
want.Endpoint.AddNode(report.MakeNodeWith(report.MakeEndpointNodeID("host2", "", "2.3.4.5", "22223"),
CopyOf, originalID,
"foo", "baz",
))
makeNATMapper(ct).applyNAT(have, "host1")
if !reflect.DeepEqual(want, have) {

View File

@@ -11,7 +11,7 @@ func TestTagger(t *testing.T) {
var (
hostID = "foo"
endpointNodeID = report.MakeEndpointNodeID(hostID, "", "1.2.3.4", "56789") // hostID ignored
node = report.MakeNodeWith(endpointNodeID, map[string]string{"foo": "bar"})
node = report.MakeNodeWith(endpointNodeID, "foo", "bar")
)
r := report.MakeReport()

View File

@@ -284,9 +284,9 @@ func TestReporter(t *testing.T) {
func TestTagger(t *testing.T) {
rpt := report.MakeReport()
rpt.Container.AddNode(report.MakeNodeWith("container1", map[string]string{
docker.LabelPrefix + "io.kubernetes.pod.uid": "123456",
}))
rpt.Container.AddNode(report.MakeNodeWith("container1",
docker.LabelPrefix+"io.kubernetes.pod.uid", "123456",
))
hr := controls.NewDefaultHandlerRegistry()
rpt, err := kubernetes.NewReporter(newMockClient(), nil, "", "", nil, hr, "", 0).Tag(rpt)

View File

@@ -41,9 +41,9 @@ func TestContainerTopologyTagging(t *testing.T) {
// Container nodes should be tagged with their overlay info
nodeID := report.MakeContainerNodeID(weave.MockContainerID)
topology := report.MakeTopology()
topology.AddNode(report.MakeNodeWith(nodeID, map[string]string{
docker.ContainerID: weave.MockContainerID,
}))
topology.AddNode(report.MakeNodeWith(nodeID,
docker.ContainerID, weave.MockContainerID,
))
have, err := w.Tag(report.Report{Container: topology})
if err != nil {
t.Fatal(err)

View File

@@ -13,7 +13,7 @@ import (
func TestApply(t *testing.T) {
var (
endpointNodeID = "c"
endpointNode = report.MakeNodeWith(endpointNodeID, map[string]string{"5": "6"})
endpointNode = report.MakeNodeWith(endpointNodeID, "5", "6")
)
p := New(0, 0, nil, false)
@@ -66,7 +66,7 @@ func TestProbe(t *testing.T) {
defer mtime.NowReset()
want := report.MakeReport()
node := report.MakeNodeWith("a", map[string]string{"b": "c"})
node := report.MakeNodeWith("a", "b", "c")
// marshalling->unmarshaling is not idempotent due to `json:"omitempty"`
// tags, transforming empty slices into nils. So, we make DeepEqual

View File

@@ -29,8 +29,8 @@ var (
func TestMapProcess2Container(t *testing.T) {
for _, input := range []testcase{
{"empty", report.MakeNode("empty"), true},
{"basic process", report.MakeNodeWith("basic", map[string]string{process.PID: "201", docker.ContainerID: "a1b2c3"}), true},
{"uncontained", report.MakeNodeWith("uncontained", map[string]string{process.PID: "201", report.HostNodeID: report.MakeHostNodeID("foo")}), true},
{"basic process", report.MakeNodeWith("basic", process.PID, "201", docker.ContainerID, "a1b2c3"), true},
{"uncontained", report.MakeNodeWith("uncontained", process.PID, "201", report.HostNodeID, report.MakeHostNodeID("foo")), true},
} {
testMap(t, render.MapProcess2Container, input)
}
@@ -64,9 +64,9 @@ func TestContainerFilterRenderer(t *testing.T) {
// tag on of the containers in the topology and ensure
// it is filtered out correctly.
input := fixture.Report.Copy()
input.Container.Nodes[fixture.ClientContainerNodeID] = input.Container.Nodes[fixture.ClientContainerNodeID].WithLatests(map[string]string{
docker.LabelPrefix + "works.weave.role": "system",
})
input.Container.Nodes[fixture.ClientContainerNodeID] = input.Container.Nodes[fixture.ClientContainerNodeID].WithLatests(
docker.LabelPrefix+"works.weave.role", "system",
)
have := utils.Prune(render.Render(input, render.ContainerWithImageNameRenderer, filterApplication).Nodes)
want := utils.Prune(expected.RenderedContainers.Copy())
delete(want, fixture.ClientContainerNodeID)

View File

@@ -21,10 +21,10 @@ var (
sampleUnknownNode = report.MakeNode("???").WithTopology("foo")
samplePodNode = report.MakeNode("noo").
WithTopology(report.Pod).
WithLatests(map[string]string{kubernetes.Namespace: "noospace"})
WithLatests(kubernetes.Namespace, "noospace")
sampleContainerNode = report.MakeNode("coo").
WithTopology(report.Container).
WithLatests(map[string]string{docker.ContainerName: "cooname"})
WithLatests(docker.ContainerName, "cooname")
sampleMetrics = []report.MetricRow{
{ID: docker.MemoryUsage},
{ID: docker.CPUTotalUsage},

View File

@@ -244,11 +244,11 @@ func TestNodeMetadata(t *testing.T) {
}{
{
name: "container",
node: report.MakeNodeWith(fixture.ClientContainerNodeID, map[string]string{
docker.ContainerID: fixture.ClientContainerID,
docker.LabelPrefix + "label1": "label1value",
docker.ContainerStateHuman: docker.StateRunning,
}).WithTopology(report.Container).WithSets(report.MakeSets().
node: report.MakeNodeWith(fixture.ClientContainerNodeID,
docker.ContainerID, fixture.ClientContainerID,
docker.LabelPrefix+"label1", "label1value",
docker.ContainerStateHuman, docker.StateRunning,
).WithTopology(report.Container).WithSets(report.MakeSets().
Add(docker.ContainerIPs, report.MakeStringSet("10.10.10.0/24", "10.10.10.1/24")),
),
want: []report.MetadataRow{
@@ -259,9 +259,9 @@ func TestNodeMetadata(t *testing.T) {
},
{
name: "unknown topology",
node: report.MakeNodeWith(fixture.ClientContainerNodeID, map[string]string{
docker.ContainerID: fixture.ClientContainerID,
}).WithTopology("foobar"),
node: report.MakeNodeWith(fixture.ClientContainerNodeID,
docker.ContainerID, fixture.ClientContainerID,
).WithTopology("foobar"),
want: nil,
},
}
@@ -418,11 +418,11 @@ func TestNodeTables(t *testing.T) {
Container: report.MakeTopology().
WithTableTemplates(docker.ContainerTableTemplates),
},
node: report.MakeNodeWith(fixture.ClientContainerNodeID, map[string]string{
docker.ContainerID: fixture.ClientContainerID,
docker.LabelPrefix + "label1": "label1value",
docker.ContainerState: docker.StateRunning,
}).WithTopology(report.Container).WithSets(report.MakeSets().
node: report.MakeNodeWith(fixture.ClientContainerNodeID,
docker.ContainerID, fixture.ClientContainerID,
docker.LabelPrefix+"label1", "label1value",
docker.ContainerState, docker.StateRunning,
).WithTopology(report.Container).WithSets(report.MakeSets().
Add(docker.ContainerIPs, report.MakeStringSet("10.10.10.0/24", "10.10.10.1/24")),
),
want: []report.Table{
@@ -457,9 +457,9 @@ func TestNodeTables(t *testing.T) {
{
name: "unknown topology",
rpt: report.MakeReport(),
node: report.MakeNodeWith(fixture.ClientContainerNodeID, map[string]string{
docker.ContainerID: fixture.ClientContainerID,
}).WithTopology("foobar"),
node: report.MakeNodeWith(fixture.ClientContainerNodeID,
docker.ContainerID, fixture.ClientContainerID,
).WithTopology("foobar"),
want: nil,
},
}

View File

@@ -87,11 +87,11 @@ var (
RenderedProcesses = report.Nodes{
fixture.ClientProcess1NodeID: processNode(fixture.ClientProcess1NodeID, fixture.ServerProcessNodeID).
WithLatests(map[string]string{
report.HostNodeID: fixture.ClientHostNodeID,
process.PID: fixture.Client1PID,
process.Name: fixture.Client1Name,
}).
WithLatests(
report.HostNodeID, fixture.ClientHostNodeID,
process.PID, fixture.Client1PID,
process.Name, fixture.Client1Name,
).
WithChildren(report.MakeNodeSet(
RenderedEndpoints[fixture.Client54001NodeID],
)),
@@ -121,7 +121,7 @@ var (
RenderedProcessNames = report.Nodes{
fixture.Client1Name: processNameNode(fixture.Client1Name, fixture.ServerName).
WithLatests(map[string]string{process.Name: fixture.Client1Name}).
WithLatests(process.Name, fixture.Client1Name).
WithCounters(map[string]int{report.Process: 2}).
WithChildren(report.MakeNodeSet(
RenderedEndpoints[fixture.Client54001NodeID],
@@ -131,7 +131,7 @@ var (
)),
fixture.ServerName: processNameNode(fixture.ServerName).
WithLatests(map[string]string{process.Name: fixture.ServerName}).
WithLatests(process.Name, fixture.ServerName).
WithCounters(map[string]int{report.Process: 1}).
WithChildren(report.MakeNodeSet(
RenderedEndpoints[fixture.Server80NodeID],
@@ -160,12 +160,12 @@ var (
RenderedContainers = report.Nodes{
fixture.ClientContainerNodeID: container(fixture.ClientContainerNodeID, fixture.ServerContainerNodeID).
WithLatests(map[string]string{
report.HostNodeID: fixture.ClientHostNodeID,
docker.ContainerID: fixture.ClientContainerID,
docker.ContainerName: fixture.ClientContainerName,
docker.ImageName: fixture.ClientContainerImageName,
}).
WithLatests(
report.HostNodeID, fixture.ClientHostNodeID,
docker.ContainerID, fixture.ClientContainerID,
docker.ContainerName, fixture.ClientContainerName,
docker.ImageName, fixture.ClientContainerImageName,
).
WithChildren(report.MakeNodeSet(
RenderedEndpoints[fixture.Client54001NodeID],
RenderedEndpoints[fixture.Client54002NodeID],
@@ -186,9 +186,9 @@ var (
RenderedContainerHostnames = report.Nodes{
fixture.ClientContainerHostname: containerHostnameNode(fixture.ClientContainerHostname, fixture.ServerContainerHostname).
WithLatests(map[string]string{
docker.ContainerHostname: fixture.ClientContainerHostname,
}).
WithLatests(
docker.ContainerHostname, fixture.ClientContainerHostname,
).
WithCounters(map[string]int{
report.Container: 1,
}).
@@ -201,9 +201,9 @@ var (
)),
fixture.ServerContainerHostname: containerHostnameNode(fixture.ServerContainerHostname).
WithLatests(map[string]string{
docker.ContainerHostname: fixture.ServerContainerHostname,
}).
WithLatests(
docker.ContainerHostname, fixture.ServerContainerHostname,
).
WithChildren(report.MakeNodeSet(
RenderedEndpoints[fixture.Server80NodeID],
RenderedProcesses[fixture.ServerProcessNodeID],
@@ -220,11 +220,11 @@ var (
RenderedContainerImages = report.Nodes{
ClientContainerImageNodeID: containerImage(ClientContainerImageNodeID, ServerContainerImageNodeID).
WithLatests(map[string]string{
report.HostNodeID: fixture.ClientHostNodeID,
docker.ImageID: fixture.ClientContainerImageID,
docker.ImageName: fixture.ClientContainerImageName,
}).
WithLatests(
report.HostNodeID, fixture.ClientHostNodeID,
docker.ImageID, fixture.ClientContainerImageID,
docker.ImageName, fixture.ClientContainerImageName,
).
WithCounters(map[string]int{
report.Container: 1,
}).
@@ -325,9 +325,9 @@ var (
RenderedHosts = report.Nodes{
fixture.ClientHostNodeID: hostNode(fixture.ClientHostNodeID, fixture.ServerHostNodeID).
WithLatests(map[string]string{
host.HostName: fixture.ClientHostName,
}).
WithLatests(
host.HostName, fixture.ClientHostName,
).
WithChildren(report.MakeNodeSet(
RenderedEndpoints[fixture.Client54001NodeID],
RenderedEndpoints[fixture.Client54002NodeID],

View File

@@ -29,9 +29,8 @@ func TestPodFilterRenderer(t *testing.T) {
// tag on containers or pod namespace in the topology and ensure
// it is filtered out correctly.
input := fixture.Report.Copy()
input.Pod.Nodes[fixture.ClientPodNodeID] = input.Pod.Nodes[fixture.ClientPodNodeID].WithLatests(map[string]string{
kubernetes.Namespace: "kube-system",
})
input.Pod.Nodes[fixture.ClientPodNodeID] = input.Pod.Nodes[fixture.ClientPodNodeID].
WithLatests(kubernetes.Namespace, "kube-system")
have := utils.Prune(render.Render(input, render.PodRenderer, filterNonKubeSystem).Nodes)
want := utils.Prune(expected.RenderedPods.Copy())
@@ -53,9 +52,8 @@ func TestPodServiceFilterRenderer(t *testing.T) {
// tag on containers or pod namespace in the topology and ensure
// it is filtered out correctly.
input := fixture.Report.Copy()
input.Service.Nodes[fixture.ServiceNodeID] = input.Service.Nodes[fixture.ServiceNodeID].WithLatests(map[string]string{
kubernetes.Namespace: "kube-system",
})
input.Service.Nodes[fixture.ServiceNodeID] = input.Service.Nodes[fixture.ServiceNodeID].
WithLatests(kubernetes.Namespace, "kube-system")
have := utils.Prune(render.Render(input, render.PodServiceRenderer, filterNonKubeSystem).Nodes)
want := utils.Prune(expected.RenderedPodServices.Copy())

View File

@@ -65,30 +65,30 @@ var (
},
Container: report.Topology{
Nodes: report.Nodes{
container1NodeID: report.MakeNodeWith(container1NodeID, map[string]string{
docker.ContainerID: container1ID,
docker.ContainerName: container1Name,
report.HostNodeID: serverHostNodeID,
}).
container1NodeID: report.MakeNodeWith(container1NodeID,
docker.ContainerID, container1ID,
docker.ContainerName, container1Name,
report.HostNodeID, serverHostNodeID,
).
WithSets(report.MakeSets().
Add(docker.ContainerIPs, report.MakeStringSet(container1IP)).
Add(docker.ContainerIPsWithScopes, report.MakeStringSet(report.MakeAddressNodeID("", container1IP))).
Add(docker.ContainerPorts, report.MakeStringSet(fmt.Sprintf("%s:%s->%s/tcp", serverIP, serverPort, serverPort))),
).WithTopology(report.Container),
container2NodeID: report.MakeNodeWith(container2NodeID, map[string]string{
docker.ContainerID: container2ID,
docker.ContainerName: container2Name,
report.HostNodeID: serverHostNodeID,
}).
container2NodeID: report.MakeNodeWith(container2NodeID,
docker.ContainerID, container2ID,
docker.ContainerName, container2Name,
report.HostNodeID, serverHostNodeID,
).
WithSets(report.MakeSets().
Add(docker.ContainerIPs, report.MakeStringSet(container2IP)).
Add(docker.ContainerIPsWithScopes, report.MakeStringSet(report.MakeAddressNodeID("", container2IP))),
).WithTopology(report.Container),
pauseContainerNodeID: report.MakeNodeWith(pauseContainerNodeID, map[string]string{
docker.ContainerID: pauseContainerID,
docker.ContainerName: pauseContainerName,
report.HostNodeID: serverHostNodeID,
}).
pauseContainerNodeID: report.MakeNodeWith(pauseContainerNodeID,
docker.ContainerID, pauseContainerID,
docker.ContainerName, pauseContainerName,
report.HostNodeID, serverHostNodeID,
).
WithSets(report.MakeSets().
Add(docker.ContainerIPs, report.MakeStringSet(pauseContainerIP)).
Add(docker.ContainerIPsWithScopes, report.MakeStringSet(report.MakeAddressNodeID("", pauseContainerIP))),
@@ -97,9 +97,9 @@ var (
},
Host: report.Topology{
Nodes: report.Nodes{
serverHostNodeID: report.MakeNodeWith(serverHostNodeID, map[string]string{
report.HostNodeID: serverHostNodeID,
}).
serverHostNodeID: report.MakeNodeWith(serverHostNodeID,
report.HostNodeID, serverHostNodeID,
).
WithSets(report.MakeSets().
Add(host.LocalNetworks, report.MakeStringSet("192.168.0.0/16")),
).WithTopology(report.Host),

View File

@@ -51,10 +51,10 @@ func TestMakeNodeSet(t *testing.T) {
func BenchmarkMakeNodeSet(b *testing.B) {
nodes := []report.Node{}
for i := 1000; i >= 0; i-- {
nodes = append(nodes, report.MakeNodeWith(fmt.Sprint(i), map[string]string{
"a": "1",
"b": "2",
}))
nodes = append(nodes, report.MakeNodeWith(fmt.Sprint(i),
"a", "1",
"b", "2",
))
}
b.ResetTimer()
@@ -149,17 +149,17 @@ func BenchmarkNodeSetAdd(b *testing.B) {
n := report.MakeNodeSet()
for i := 0; i < 600; i++ {
n = n.Add(
report.MakeNodeWith(fmt.Sprint(i), map[string]string{
"a": "1",
"b": "2",
}),
report.MakeNodeWith(fmt.Sprint(i),
"a", "1",
"b", "2",
),
)
}
node := report.MakeNodeWith("401.5", map[string]string{
"a": "1",
"b": "2",
})
node := report.MakeNodeWith("401.5",
"a", "1",
"b", "2",
)
b.ResetTimer()
@@ -283,19 +283,19 @@ func BenchmarkNodeSetMerge(b *testing.B) {
n, other := report.NodeSet{}, report.NodeSet{}
for i := 0; i < 600; i++ {
n = n.Add(
report.MakeNodeWith(fmt.Sprint(i), map[string]string{
"a": "1",
"b": "2",
}),
report.MakeNodeWith(fmt.Sprint(i),
"a", "1",
"b", "2",
),
)
}
for i := 400; i < 1000; i++ {
other = other.Add(
report.MakeNodeWith(fmt.Sprint(i), map[string]string{
"c": "1",
"d": "2",
}),
report.MakeNodeWith(fmt.Sprint(i),
"c", "1",
"d", "2",
),
)
}

View File

@@ -26,107 +26,107 @@ func TestMergeNodes(t *testing.T) {
"Empty a": {
a: report.Nodes{},
b: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{
PID: "23128",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345",
PID, "23128",
Name, "curl",
Domain, "node-a.local",
),
},
want: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{
PID: "23128",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345",
PID, "23128",
Name, "curl",
Domain, "node-a.local",
),
},
},
"Empty b": {
a: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{
PID: "23128",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345",
PID, "23128",
Name, "curl",
Domain, "node-a.local",
),
},
b: report.Nodes{},
want: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{
PID: "23128",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345",
PID, "23128",
Name, "curl",
Domain, "node-a.local",
),
},
},
"Simple merge": {
a: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{
PID: "23128",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345",
PID, "23128",
Name, "curl",
Domain, "node-a.local",
),
},
b: report.Nodes{
":192.168.1.2:12345": report.MakeNodeWith(":192.168.1.2:12345", map[string]string{
PID: "42",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.2:12345": report.MakeNodeWith(":192.168.1.2:12345",
PID, "42",
Name, "curl",
Domain, "node-a.local",
),
},
want: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{
PID: "23128",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.2:12345": report.MakeNodeWith(":192.168.1.2:12345", map[string]string{
PID: "42",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345",
PID, "23128",
Name, "curl",
Domain, "node-a.local",
),
":192.168.1.2:12345": report.MakeNodeWith(":192.168.1.2:12345",
PID, "42",
Name, "curl",
Domain, "node-a.local",
),
},
},
"Merge conflict with rank difference": {
a: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{
PID: "23128",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345",
PID, "23128",
Name, "curl",
Domain, "node-a.local",
),
},
b: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{ // <-- same ID
Name: "curl",
Domain: "node-a.local",
}).WithLatest(PID, time.Now().Add(-1*time.Minute), "0"),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", // <-- same ID
Name, "curl",
Domain, "node-a.local",
).WithLatest(PID, time.Now().Add(-1*time.Minute), "0"),
},
want: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{
PID: "23128",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345",
PID, "23128",
Name, "curl",
Domain, "node-a.local",
),
},
},
"Merge conflict with no rank difference": {
a: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{
PID: "23128",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345",
PID, "23128",
Name, "curl",
Domain, "node-a.local",
),
},
b: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{ // <-- same ID
Name: "curl",
Domain: "node-a.local",
}).WithLatest(PID, time.Now().Add(-1*time.Minute), "0"),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", // <-- same ID
Name, "curl",
Domain, "node-a.local",
).WithLatest(PID, time.Now().Add(-1*time.Minute), "0"),
},
want: report.Nodes{
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345", map[string]string{
PID: "23128",
Name: "curl",
Domain: "node-a.local",
}),
":192.168.1.1:12345": report.MakeNodeWith(":192.168.1.1:12345",
PID, "23128",
Name, "curl",
Domain, "node-a.local",
),
},
},
"Counters": {

View File

@@ -48,9 +48,9 @@ func TestReportTopology(t *testing.T) {
func TestNode(t *testing.T) {
{
node := report.MakeNodeWith("foo", map[string]string{
"foo": "bar",
})
node := report.MakeNodeWith("foo",
"foo", "bar",
)
if v, _ := node.Latest.Lookup("foo"); v != "bar" {
t.Errorf("want foo, have %s", v)
@@ -81,7 +81,7 @@ func TestReportUpgrade(t *testing.T) {
namespaceName := "ns"
namespaceID := report.MakeNamespaceNodeID(namespaceName)
podNode := report.MakeNode("foo").
WithLatests(map[string]string{report.KubernetesNamespace: namespaceName}).
WithLatests(report.KubernetesNamespace, namespaceName).
WithControls("alive").
WithParents(report.MakeSets().Add(report.ReplicaSet, report.MakeStringSet("bar")))
controls := map[string]report.NodeControlData{
@@ -94,7 +94,7 @@ func TestReportUpgrade(t *testing.T) {
rpt.ReplicaSet.AddNode(rsNode)
rpt.Pod.AddNode(podNode)
namespaceNode := report.MakeNode(namespaceID).
WithLatests(map[string]string{report.KubernetesName: namespaceName})
WithLatests(report.KubernetesName, namespaceName)
expected := report.MakeReport()
expected.ReplicaSet.AddNode(rsNode)
expected.Pod.AddNode(expectedPodNode)

View File

@@ -107,10 +107,10 @@ func TestFixedPropertyLists(t *testing.T) {
},
}
nmd := report.MakeNodeWith("foo1", map[string]string{
"foo2key": "bar2",
"foo1key": "bar1",
})
nmd := report.MakeNodeWith("foo1",
"foo2key", "bar2",
"foo1key", "bar1",
)
template := report.TableTemplate{
Type: report.PropertyListType,
@@ -192,10 +192,10 @@ func TestTables(t *testing.T) {
},
}
nmd := report.MakeNodeWith("foo1", map[string]string{
"foo3key": "bar3",
"foo1key": "bar1",
})
nmd := report.MakeNodeWith("foo1",
"foo3key", "bar3",
"foo1key", "bar1",
)
nmd = nmd.AddPrefixMulticolumnTable("bbb_", []report.Row{
{ID: "row1", Entries: map[string]string{"col1": "r1c1"}},
{ID: "row2", Entries: map[string]string{"col3": "r2c3"}},

View File

@@ -132,25 +132,25 @@ var (
// Node is arbitrary. We're free to put only precisely what we
// care to test into the fixture. Just be sure to include the bits
// that the mapping funcs extract :)
Client54001NodeID: report.MakeNode(Client54001NodeID).WithTopology(report.Endpoint).WithLatests(map[string]string{
process.PID: Client1PID,
report.HostNodeID: ClientHostNodeID,
}).WithAdjacent(Server80NodeID),
Client54001NodeID: report.MakeNode(Client54001NodeID).WithTopology(report.Endpoint).WithLatests(
process.PID, Client1PID,
report.HostNodeID, ClientHostNodeID,
).WithAdjacent(Server80NodeID),
Client54002NodeID: report.MakeNode(Client54002NodeID).WithTopology(report.Endpoint).WithLatests(map[string]string{
process.PID: Client2PID,
report.HostNodeID: ClientHostNodeID,
}).WithAdjacent(Server80NodeID),
Client54002NodeID: report.MakeNode(Client54002NodeID).WithTopology(report.Endpoint).WithLatests(
process.PID, Client2PID,
report.HostNodeID, ClientHostNodeID,
).WithAdjacent(Server80NodeID),
Server80NodeID: report.MakeNode(Server80NodeID).WithTopology(report.Endpoint).WithLatests(map[string]string{
process.PID: ServerPID,
report.HostNodeID: ServerHostNodeID,
}),
Server80NodeID: report.MakeNode(Server80NodeID).WithTopology(report.Endpoint).WithLatests(
process.PID, ServerPID,
report.HostNodeID, ServerHostNodeID,
),
NonContainerNodeID: report.MakeNode(NonContainerNodeID).WithTopology(report.Endpoint).WithLatests(map[string]string{
process.PID: NonContainerPID,
report.HostNodeID: ServerHostNodeID,
}).WithAdjacent(GoogleEndpointNodeID),
NonContainerNodeID: report.MakeNode(NonContainerNodeID).WithTopology(report.Endpoint).WithLatests(
process.PID, NonContainerPID,
report.HostNodeID, ServerHostNodeID,
).WithAdjacent(GoogleEndpointNodeID),
// Probe pseudo nodes
UnknownClient1NodeID: report.MakeNode(UnknownClient1NodeID).WithTopology(report.Endpoint).WithAdjacent(Server80NodeID),
@@ -162,12 +162,12 @@ var (
},
Process: report.Topology{
Nodes: report.Nodes{
ClientProcess1NodeID: report.MakeNodeWith(ClientProcess1NodeID, map[string]string{
process.PID: Client1PID,
process.Name: Client1Name,
docker.ContainerID: ClientContainerID,
report.HostNodeID: ClientHostNodeID,
}).
ClientProcess1NodeID: report.MakeNodeWith(ClientProcess1NodeID,
process.PID, Client1PID,
process.Name, Client1Name,
docker.ContainerID, ClientContainerID,
report.HostNodeID, ClientHostNodeID,
).
WithTopology(report.Process).WithParents(report.MakeSets().
Add("host", report.MakeStringSet(ClientHostNodeID)).
Add("container", report.MakeStringSet(ClientContainerNodeID)),
@@ -175,31 +175,31 @@ var (
process.CPUUsage: ClientProcess1CPUMetric,
process.MemoryUsage: ClientProcess1MemoryMetric,
}),
ClientProcess2NodeID: report.MakeNodeWith(ClientProcess2NodeID, map[string]string{
process.PID: Client2PID,
process.Name: Client2Name,
docker.ContainerID: ClientContainerID,
report.HostNodeID: ClientHostNodeID,
}).
ClientProcess2NodeID: report.MakeNodeWith(ClientProcess2NodeID,
process.PID, Client2PID,
process.Name, Client2Name,
docker.ContainerID, ClientContainerID,
report.HostNodeID, ClientHostNodeID,
).
WithTopology(report.Process).WithParents(report.MakeSets().
Add("host", report.MakeStringSet(ClientHostNodeID)).
Add("container", report.MakeStringSet(ClientContainerNodeID)),
),
ServerProcessNodeID: report.MakeNodeWith(ServerProcessNodeID, map[string]string{
process.PID: ServerPID,
process.Name: ServerName,
docker.ContainerID: ServerContainerID,
report.HostNodeID: ServerHostNodeID,
}).
ServerProcessNodeID: report.MakeNodeWith(ServerProcessNodeID,
process.PID, ServerPID,
process.Name, ServerName,
docker.ContainerID, ServerContainerID,
report.HostNodeID, ServerHostNodeID,
).
WithTopology(report.Process).WithParents(report.MakeSets().
Add("host", report.MakeStringSet(ServerHostNodeID)).
Add("container", report.MakeStringSet(ServerContainerNodeID)),
),
NonContainerProcessNodeID: report.MakeNodeWith(NonContainerProcessNodeID, map[string]string{
process.PID: NonContainerPID,
process.Name: NonContainerName,
report.HostNodeID: ServerHostNodeID,
}).
NonContainerProcessNodeID: report.MakeNodeWith(NonContainerProcessNodeID,
process.PID, NonContainerPID,
process.Name, NonContainerName,
report.HostNodeID, ServerHostNodeID,
).
WithTopology(report.Process).WithParents(report.MakeSets().
Add("host", report.MakeStringSet(ServerHostNodeID)),
),
@@ -211,18 +211,18 @@ var (
Nodes: report.Nodes{
ClientContainerNodeID: report.MakeNodeWith(
ClientContainerNodeID, map[string]string{
docker.ContainerID: ClientContainerID,
docker.ContainerName: ClientContainerName,
docker.ContainerHostname: ClientContainerHostname,
docker.ImageID: ClientContainerImageID,
report.HostNodeID: ClientHostNodeID,
docker.LabelPrefix + "io.kubernetes.pod.uid": ClientPodUID,
docker.LabelPrefix + TestLabelKey1: ApplicationLabelValue1,
kubernetes.Namespace: KubernetesNamespace,
docker.ContainerState: docker.StateRunning,
docker.ContainerStateHuman: docker.StateRunning,
}).
ClientContainerNodeID,
docker.ContainerID, ClientContainerID,
docker.ContainerName, ClientContainerName,
docker.ContainerHostname, ClientContainerHostname,
docker.ImageID, ClientContainerImageID,
report.HostNodeID, ClientHostNodeID,
docker.LabelPrefix+"io.kubernetes.pod.uid", ClientPodUID,
docker.LabelPrefix+TestLabelKey1, ApplicationLabelValue1,
kubernetes.Namespace, KubernetesNamespace,
docker.ContainerState, docker.StateRunning,
docker.ContainerStateHuman, docker.StateRunning,
).
WithTopology(report.Container).WithParents(report.MakeSets().
Add("host", report.MakeStringSet(ClientHostNodeID)).
Add("container_image", report.MakeStringSet(ClientContainerImageNodeID)).
@@ -233,21 +233,21 @@ var (
}),
ServerContainerNodeID: report.MakeNodeWith(
ServerContainerNodeID, map[string]string{
docker.ContainerID: ServerContainerID,
docker.ContainerName: ServerContainerName,
docker.ContainerHostname: ServerContainerHostname,
docker.ContainerState: docker.StateRunning,
docker.ContainerStateHuman: docker.StateRunning,
docker.ImageID: ServerContainerImageID,
report.HostNodeID: ServerHostNodeID,
docker.LabelPrefix + detailed.AmazonECSContainerNameLabel: "server",
docker.LabelPrefix + "foo1": "bar1",
docker.LabelPrefix + "foo2": "bar2",
docker.LabelPrefix + "io.kubernetes.pod.uid": ServerPodUID,
docker.LabelPrefix + TestLabelKey2: ApplicationLabelValue2,
kubernetes.Namespace: KubernetesNamespace,
}).
ServerContainerNodeID,
docker.ContainerID, ServerContainerID,
docker.ContainerName, ServerContainerName,
docker.ContainerHostname, ServerContainerHostname,
docker.ContainerState, docker.StateRunning,
docker.ContainerStateHuman, docker.StateRunning,
docker.ImageID, ServerContainerImageID,
report.HostNodeID, ServerHostNodeID,
docker.LabelPrefix+detailed.AmazonECSContainerNameLabel, "server",
docker.LabelPrefix+"foo1", "bar1",
docker.LabelPrefix+"foo2", "bar2",
docker.LabelPrefix+"io.kubernetes.pod.uid", ServerPodUID,
docker.LabelPrefix+TestLabelKey2, ApplicationLabelValue2,
kubernetes.Namespace, KubernetesNamespace,
).
WithTopology(report.Container).WithParents(report.MakeSets().
Add("host", report.MakeStringSet(ServerHostNodeID)).
Add("container_image", report.MakeStringSet(ServerContainerImageNodeID)).
@@ -262,21 +262,21 @@ var (
}.WithShape(report.Hexagon).WithLabel("container", "containers"),
ContainerImage: report.Topology{
Nodes: report.Nodes{
ClientContainerImageNodeID: report.MakeNodeWith(ClientContainerImageNodeID, map[string]string{
docker.ImageID: ClientContainerImageID,
docker.ImageName: ClientContainerImageName,
report.HostNodeID: ClientHostNodeID,
}).
ClientContainerImageNodeID: report.MakeNodeWith(ClientContainerImageNodeID,
docker.ImageID, ClientContainerImageID,
docker.ImageName, ClientContainerImageName,
report.HostNodeID, ClientHostNodeID,
).
WithParents(report.MakeSets().
Add("host", report.MakeStringSet(ClientHostNodeID)),
).WithTopology(report.ContainerImage),
ServerContainerImageNodeID: report.MakeNodeWith(ServerContainerImageNodeID, map[string]string{
docker.ImageID: ServerContainerImageID,
docker.ImageName: ServerContainerImageName,
report.HostNodeID: ServerHostNodeID,
docker.LabelPrefix + "foo1": "bar1",
docker.LabelPrefix + "foo2": "bar2",
}).
ServerContainerImageNodeID: report.MakeNodeWith(ServerContainerImageNodeID,
docker.ImageID, ServerContainerImageID,
docker.ImageName, ServerContainerImageName,
report.HostNodeID, ServerHostNodeID,
docker.LabelPrefix+"foo1", "bar1",
docker.LabelPrefix+"foo2", "bar2",
).
WithParents(report.MakeSets().
Add("host", report.MakeStringSet(ServerHostNodeID)),
).WithTopology(report.ContainerImage),
@@ -287,11 +287,11 @@ var (
Nodes: report.Nodes{
ClientHostNodeID: report.MakeNodeWith(
ClientHostNodeID, map[string]string{
"host_name": ClientHostName,
"os": "Linux",
report.HostNodeID: ClientHostNodeID,
}).
ClientHostNodeID,
"host_name", ClientHostName,
"os", "Linux",
report.HostNodeID, ClientHostNodeID,
).
WithTopology(report.Host).WithSets(report.MakeSets().
Add(host.LocalNetworks, report.MakeStringSet("10.10.10.0/24")),
).WithMetrics(report.Metrics{
@@ -301,11 +301,11 @@ var (
}),
ServerHostNodeID: report.MakeNodeWith(
ServerHostNodeID, map[string]string{
"host_name": ServerHostName,
"os": "Linux",
report.HostNodeID: ServerHostNodeID,
}).
ServerHostNodeID,
"host_name", ServerHostName,
"os", "Linux",
report.HostNodeID, ServerHostNodeID,
).
WithTopology(report.Host).WithSets(report.MakeSets().
Add(host.LocalNetworks, report.MakeStringSet("10.10.10.0/24")),
).WithMetrics(report.Metrics{
@@ -320,22 +320,22 @@ var (
Pod: report.Topology{
Nodes: report.Nodes{
ClientPodNodeID: report.MakeNodeWith(
ClientPodNodeID, map[string]string{
kubernetes.Name: "pong-a",
kubernetes.Namespace: KubernetesNamespace,
report.HostNodeID: ClientHostNodeID,
}).
ClientPodNodeID,
kubernetes.Name, "pong-a",
kubernetes.Namespace, KubernetesNamespace,
report.HostNodeID, ClientHostNodeID,
).
WithTopology(report.Pod).WithParents(report.MakeSets().
Add("host", report.MakeStringSet(ClientHostNodeID)).
Add("service", report.MakeStringSet(ServiceNodeID)),
),
ServerPodNodeID: report.MakeNodeWith(
ServerPodNodeID, map[string]string{
kubernetes.Name: "pong-b",
kubernetes.Namespace: KubernetesNamespace,
kubernetes.State: "running",
report.HostNodeID: ServerHostNodeID,
}).
ServerPodNodeID,
kubernetes.Name, "pong-b",
kubernetes.Namespace, KubernetesNamespace,
kubernetes.State, "running",
report.HostNodeID, ServerHostNodeID,
).
WithTopology(report.Pod).WithParents(report.MakeSets().
Add("host", report.MakeStringSet(ServerHostNodeID)).
Add("service", report.MakeStringSet(ServiceNodeID)),
@@ -347,10 +347,10 @@ var (
Nodes: report.Nodes{
ServiceNodeID: report.MakeNodeWith(
ServiceNodeID, map[string]string{
kubernetes.Name: "pongservice",
kubernetes.Namespace: "ping",
}).
ServiceNodeID,
kubernetes.Name, "pongservice",
kubernetes.Namespace, "ping",
).
WithTopology(report.Service),
},
}.WithShape(report.Heptagon).WithLabel("service", "services"),