mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 10:11:03 +00:00
50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
package render_test
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
|
|
"github.com/weaveworks/scope/render"
|
|
"github.com/weaveworks/scope/report"
|
|
)
|
|
|
|
type mockRenderer struct {
|
|
report.RenderableNodes
|
|
aggregateMetadata report.AggregateMetadata
|
|
}
|
|
|
|
func (m mockRenderer) Render(rpt report.Report) report.RenderableNodes {
|
|
return m.RenderableNodes
|
|
}
|
|
func (m mockRenderer) AggregateMetadata(rpt report.Report, localID, remoteID string) report.AggregateMetadata {
|
|
return m.aggregateMetadata
|
|
}
|
|
|
|
func TestReduceRender(t *testing.T) {
|
|
renderer := render.Reduce([]render.Renderer{
|
|
mockRenderer{RenderableNodes: report.RenderableNodes{"foo": {ID: "foo"}}},
|
|
mockRenderer{RenderableNodes: report.RenderableNodes{"bar": {ID: "bar"}}},
|
|
})
|
|
|
|
want := report.RenderableNodes{"foo": {ID: "foo"}, "bar": {ID: "bar"}}
|
|
have := renderer.Render(report.MakeReport())
|
|
|
|
if !reflect.DeepEqual(want, have) {
|
|
t.Errorf("want %+v, have %+v", want, have)
|
|
}
|
|
}
|
|
|
|
func TestReduceEdge(t *testing.T) {
|
|
renderer := render.Reduce([]render.Renderer{
|
|
mockRenderer{aggregateMetadata: report.AggregateMetadata{"foo": 1}},
|
|
mockRenderer{aggregateMetadata: report.AggregateMetadata{"bar": 2}},
|
|
})
|
|
|
|
want := report.AggregateMetadata{"foo": 1, "bar": 2}
|
|
have := renderer.AggregateMetadata(report.MakeReport(), "", "")
|
|
|
|
if !reflect.DeepEqual(want, have) {
|
|
t.Errorf("want %+v, have %+v", want, have)
|
|
}
|
|
}
|