mirror of
https://github.com/weaveworks/scope.git
synced 2026-08-19 04:16:21 +00:00
Remove some duplicate functionality, add some basic tests.
This commit is contained in:
@@ -165,7 +165,7 @@ func (r *Reporter) addConnection(rpt *report.Report, localAddr, remoteAddr strin
|
||||
// In case we have a reverse resolution for the IP, we can use it for
|
||||
// the name...
|
||||
if revRemoteName, err := r.revResolver.Get(remoteAddr); err == nil {
|
||||
remoteNode = remoteNode.AddMetadata(map[string]string{
|
||||
remoteNode = remoteNode.WithMetadata(map[string]string{
|
||||
"name": revRemoteName,
|
||||
})
|
||||
}
|
||||
@@ -211,7 +211,7 @@ func (r *Reporter) addConnection(rpt *report.Report, localAddr, remoteAddr strin
|
||||
// In case we have a reverse resolution for the IP, we can use it for
|
||||
// the name...
|
||||
if revRemoteName, err := r.revResolver.Get(remoteAddr); err == nil {
|
||||
remoteNode = remoteNode.AddMetadata(map[string]string{
|
||||
remoteNode = remoteNode.WithMetadata(map[string]string{
|
||||
"name": revRemoteName,
|
||||
})
|
||||
}
|
||||
|
||||
+14
-14
@@ -13,12 +13,12 @@ var (
|
||||
uncontainedServerID = render.MakePseudoNodeID(render.UncontainedID, test.ServerHostName)
|
||||
unknownPseudoNode1ID = render.MakePseudoNodeID("10.10.10.10", test.ServerIP, "80")
|
||||
unknownPseudoNode2ID = render.MakePseudoNodeID("10.10.10.11", test.ServerIP, "80")
|
||||
unknownPseudoNode1 = func(adjacency report.IDList) render.RenderableNode {
|
||||
unknownPseudoNode1 = func(adjacent string) render.RenderableNode {
|
||||
return render.RenderableNode{
|
||||
ID: unknownPseudoNode1ID,
|
||||
LabelMajor: "10.10.10.10",
|
||||
Pseudo: true,
|
||||
Node: report.MakeNode().WithAdjacency(adjacency),
|
||||
Node: report.MakeNode().WithAdjacent(adjacent),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
EgressPacketCount: newu64(70),
|
||||
EgressByteCount: newu64(700),
|
||||
@@ -29,12 +29,12 @@ var (
|
||||
),
|
||||
}
|
||||
}
|
||||
unknownPseudoNode2 = func(adjacency report.IDList) render.RenderableNode {
|
||||
unknownPseudoNode2 = func(adjacent string) render.RenderableNode {
|
||||
return render.RenderableNode{
|
||||
ID: unknownPseudoNode2ID,
|
||||
LabelMajor: "10.10.10.11",
|
||||
Pseudo: true,
|
||||
Node: report.MakeNode().WithAdjacency(adjacency),
|
||||
Node: report.MakeNode().WithAdjacent(adjacent),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
EgressPacketCount: newu64(50),
|
||||
EgressByteCount: newu64(500),
|
||||
@@ -44,12 +44,12 @@ var (
|
||||
),
|
||||
}
|
||||
}
|
||||
theInternetNode = func(adjacency report.IDList) render.RenderableNode {
|
||||
theInternetNode = func(adjacent string) render.RenderableNode {
|
||||
return render.RenderableNode{
|
||||
ID: render.TheInternetID,
|
||||
LabelMajor: render.TheInternetMajor,
|
||||
Pseudo: true,
|
||||
Node: report.MakeNode().WithAdjacency(adjacency),
|
||||
Node: report.MakeNode().WithAdjacent(adjacent),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
EgressPacketCount: newu64(60),
|
||||
EgressByteCount: newu64(600),
|
||||
@@ -131,9 +131,9 @@ var (
|
||||
Node: report.MakeNode().WithAdjacent(render.TheInternetID),
|
||||
EdgeMetadata: report.EdgeMetadata{},
|
||||
},
|
||||
unknownPseudoNode1ID: unknownPseudoNode1(report.MakeIDList(ServerProcessID)),
|
||||
unknownPseudoNode2ID: unknownPseudoNode2(report.MakeIDList(ServerProcessID)),
|
||||
render.TheInternetID: theInternetNode(report.MakeIDList(ServerProcessID)),
|
||||
unknownPseudoNode1ID: unknownPseudoNode1(ServerProcessID),
|
||||
unknownPseudoNode2ID: unknownPseudoNode2(ServerProcessID),
|
||||
render.TheInternetID: theInternetNode(ServerProcessID),
|
||||
}).Prune()
|
||||
|
||||
RenderedProcessNames = (render.RenderableNodes{
|
||||
@@ -187,9 +187,9 @@ var (
|
||||
Node: report.MakeNode().WithAdjacent(render.TheInternetID),
|
||||
EdgeMetadata: report.EdgeMetadata{},
|
||||
},
|
||||
unknownPseudoNode1ID: unknownPseudoNode1(report.MakeIDList("apache")),
|
||||
unknownPseudoNode2ID: unknownPseudoNode2(report.MakeIDList("apache")),
|
||||
render.TheInternetID: theInternetNode(report.MakeIDList("apache")),
|
||||
unknownPseudoNode1ID: unknownPseudoNode1("apache"),
|
||||
unknownPseudoNode2ID: unknownPseudoNode2("apache"),
|
||||
render.TheInternetID: theInternetNode("apache"),
|
||||
}).Prune()
|
||||
|
||||
RenderedContainers = (render.RenderableNodes{
|
||||
@@ -247,7 +247,7 @@ var (
|
||||
Node: report.MakeNode().WithAdjacent(render.TheInternetID),
|
||||
EdgeMetadata: report.EdgeMetadata{},
|
||||
},
|
||||
render.TheInternetID: theInternetNode(report.MakeIDList(test.ServerContainerID)),
|
||||
render.TheInternetID: theInternetNode(test.ServerContainerID),
|
||||
}).Prune()
|
||||
|
||||
RenderedContainerImages = (render.RenderableNodes{
|
||||
@@ -304,7 +304,7 @@ var (
|
||||
Node: report.MakeNode().WithAdjacent(render.TheInternetID),
|
||||
EdgeMetadata: report.EdgeMetadata{},
|
||||
},
|
||||
render.TheInternetID: theInternetNode(report.MakeIDList(test.ServerContainerImageName)),
|
||||
render.TheInternetID: theInternetNode(test.ServerContainerImageName),
|
||||
}).Prune()
|
||||
|
||||
ServerHostRenderedID = render.MakeHostID(test.ServerHostID)
|
||||
|
||||
@@ -54,7 +54,7 @@ func TestMergeRenderableNode(t *testing.T) {
|
||||
LabelMinor: "minor",
|
||||
Rank: "rank",
|
||||
Pseudo: false,
|
||||
Node: report.MakeNode().WithAdjacency(report.MakeIDList("a1", "a2")),
|
||||
Node: report.MakeNode().WithAdjacent("a1").WithAdjacent("a2"),
|
||||
Origins: report.MakeIDList("o1", "o2"),
|
||||
EdgeMetadata: report.EdgeMetadata{},
|
||||
}
|
||||
|
||||
@@ -25,3 +25,39 @@ func TestReportTopologies(t *testing.T) {
|
||||
t.Errorf("want %d, have %d", want, have)
|
||||
}
|
||||
}
|
||||
|
||||
func TestNode(t *testing.T) {
|
||||
{
|
||||
node := report.MakeNode().WithMetadata(report.Metadata{
|
||||
"foo": "bar",
|
||||
})
|
||||
if node.Metadata["foo"] != "bar" {
|
||||
t.Errorf("want foo, have %s", node.Metadata["foo"])
|
||||
}
|
||||
}
|
||||
{
|
||||
node := report.MakeNode().WithCounters(report.Counters{
|
||||
"foo": 1,
|
||||
})
|
||||
if node.Counters["foo"] != 1 {
|
||||
t.Errorf("want foo, have %d", node.Counters["foo"])
|
||||
}
|
||||
}
|
||||
{
|
||||
node := report.MakeNode().WithAdjacent("foo")
|
||||
if node.Adjacency[0] != "foo" {
|
||||
t.Errorf("want foo, have %v", node.Adjacency)
|
||||
}
|
||||
}
|
||||
{
|
||||
node := report.MakeNode().WithEdge("foo", report.EdgeMetadata{
|
||||
EgressPacketCount: newu64(13),
|
||||
})
|
||||
if node.Adjacency[0] != "foo" {
|
||||
t.Errorf("want foo, have %v", node.Adjacency)
|
||||
}
|
||||
if *node.Edges["foo"].EgressPacketCount != 13 {
|
||||
t.Errorf("want 13, have %v", node.Edges)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-16
@@ -106,24 +106,10 @@ func (n Node) WithMetadata(m map[string]string) Node {
|
||||
return result
|
||||
}
|
||||
|
||||
// AddMetadata returns a fresh copy of n, with Metadata set to the merge of n
|
||||
// and the metadata provided.
|
||||
func (n Node) AddMetadata(m map[string]string) Node {
|
||||
additional := MakeNodeWith(m)
|
||||
return n.Merge(additional)
|
||||
}
|
||||
|
||||
// WithCounters returns a fresh copy of n, with Counters set to c.
|
||||
// WithCounters returns a fresh copy of n, with Counters c merged in.
|
||||
func (n Node) WithCounters(c map[string]int) Node {
|
||||
result := n.Copy()
|
||||
result.Counters = c
|
||||
return result
|
||||
}
|
||||
|
||||
// WithAdjacency returns a fresh copy of n, with Adjacency set to a.
|
||||
func (n Node) WithAdjacency(a IDList) Node {
|
||||
result := n.Copy()
|
||||
result.Adjacency = a
|
||||
result.Counters = result.Counters.Merge(c)
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
@@ -253,19 +253,19 @@ var (
|
||||
|
||||
UnknownAddress1NodeID: report.MakeNode().WithMetadata(map[string]string{
|
||||
endpoint.Addr: UnknownClient1IP,
|
||||
}).WithAdjacency(report.MakeIDList(ServerAddressNodeID)),
|
||||
}).WithAdjacent(ServerAddressNodeID),
|
||||
|
||||
UnknownAddress2NodeID: report.MakeNode().WithMetadata(map[string]string{
|
||||
endpoint.Addr: UnknownClient2IP,
|
||||
}).WithAdjacency(report.MakeIDList(ServerAddressNodeID)),
|
||||
}).WithAdjacent(ServerAddressNodeID),
|
||||
|
||||
UnknownAddress3NodeID: report.MakeNode().WithMetadata(map[string]string{
|
||||
endpoint.Addr: UnknownClient3IP,
|
||||
}).WithAdjacency(report.MakeIDList(ServerAddressNodeID)),
|
||||
}).WithAdjacent(ServerAddressNodeID),
|
||||
|
||||
RandomAddressNodeID: report.MakeNode().WithMetadata(map[string]string{
|
||||
endpoint.Addr: RandomClientIP,
|
||||
}).WithAdjacency(report.MakeIDList(ServerAddressNodeID)),
|
||||
}).WithAdjacent(ServerAddressNodeID),
|
||||
},
|
||||
},
|
||||
Host: report.Topology{
|
||||
|
||||
Reference in New Issue
Block a user