mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-01 09:10:27 +00:00
229 lines
6.3 KiB
Go
229 lines
6.3 KiB
Go
package detailed_test
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
|
|
"github.com/weaveworks/common/test"
|
|
"github.com/weaveworks/scope/render/detailed"
|
|
"github.com/weaveworks/scope/report"
|
|
)
|
|
|
|
func TestCensorNode(t *testing.T) {
|
|
node := detailed.Node{
|
|
NodeSummary: detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "cmdline", Label: "Command", Value: "prog -a --b=c"},
|
|
},
|
|
Tables: []report.Table{
|
|
{ID: "blibli", Rows: []report.Row{{ID: "bli"}}},
|
|
{ID: "docker_env_", Rows: []report.Row{{ID: "env_var"}}},
|
|
},
|
|
},
|
|
}
|
|
|
|
for _, c := range []struct {
|
|
label string
|
|
have, want detailed.Node
|
|
}{
|
|
{
|
|
label: "no censoring",
|
|
have: detailed.CensorNode(node, report.CensorConfig{
|
|
HideCommandLineArguments: false,
|
|
HideEnvironmentVariables: false,
|
|
}),
|
|
want: detailed.Node{
|
|
NodeSummary: detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "cmdline", Label: "Command", Value: "prog -a --b=c"},
|
|
},
|
|
Tables: []report.Table{
|
|
{ID: "blibli", Rows: []report.Row{{ID: "bli"}}},
|
|
{ID: "docker_env_", Rows: []report.Row{{ID: "env_var"}}},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
label: "censor only command line args",
|
|
have: detailed.CensorNode(node, report.CensorConfig{
|
|
HideCommandLineArguments: true,
|
|
HideEnvironmentVariables: false,
|
|
}),
|
|
want: detailed.Node{
|
|
NodeSummary: detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "cmdline", Label: "Command", Value: "prog"},
|
|
},
|
|
Tables: []report.Table{
|
|
{ID: "blibli", Rows: []report.Row{{ID: "bli"}}},
|
|
{ID: "docker_env_", Rows: []report.Row{{ID: "env_var"}}},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
label: "censor only env variables",
|
|
have: detailed.CensorNode(node, report.CensorConfig{
|
|
HideCommandLineArguments: false,
|
|
HideEnvironmentVariables: true,
|
|
}),
|
|
want: detailed.Node{
|
|
NodeSummary: detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "cmdline", Label: "Command", Value: "prog -a --b=c"},
|
|
},
|
|
Tables: []report.Table{
|
|
{ID: "blibli", Rows: []report.Row{{ID: "bli"}}},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
label: "censor both command line args and env vars",
|
|
have: detailed.CensorNode(node, report.CensorConfig{
|
|
HideCommandLineArguments: true,
|
|
HideEnvironmentVariables: true,
|
|
}),
|
|
want: detailed.Node{
|
|
NodeSummary: detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "cmdline", Label: "Command", Value: "prog"},
|
|
},
|
|
Tables: []report.Table{
|
|
{ID: "blibli", Rows: []report.Row{{ID: "bli"}}},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
} {
|
|
if !reflect.DeepEqual(c.want, c.have) {
|
|
t.Errorf("%s - %s", c.label, test.Diff(c.want, c.have))
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestCensorNodeSummaries(t *testing.T) {
|
|
summaries := detailed.NodeSummaries{
|
|
"a": detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "blublu", Label: "blabla", Value: "blu blu"},
|
|
{ID: "docker_container_command", Label: "Command", Value: "scope --token=blibli"},
|
|
},
|
|
},
|
|
"b": detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "cmdline", Label: "Command", Value: "prog -a --b=c"},
|
|
},
|
|
Tables: []report.Table{
|
|
{ID: "blibli", Rows: []report.Row{{ID: "bli"}}},
|
|
{ID: "docker_env_", Rows: []report.Row{{ID: "env_var"}}},
|
|
},
|
|
},
|
|
}
|
|
|
|
for _, c := range []struct {
|
|
label string
|
|
have, want detailed.NodeSummaries
|
|
}{
|
|
{
|
|
label: "no censoring",
|
|
have: detailed.CensorNodeSummaries(summaries, report.CensorConfig{
|
|
HideCommandLineArguments: false,
|
|
HideEnvironmentVariables: false,
|
|
}),
|
|
want: detailed.NodeSummaries{
|
|
"a": detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "blublu", Label: "blabla", Value: "blu blu"},
|
|
{ID: "docker_container_command", Label: "Command", Value: "scope --token=blibli"},
|
|
},
|
|
},
|
|
"b": detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "cmdline", Label: "Command", Value: "prog -a --b=c"},
|
|
},
|
|
Tables: []report.Table{
|
|
{ID: "blibli", Rows: []report.Row{{ID: "bli"}}},
|
|
{ID: "docker_env_", Rows: []report.Row{{ID: "env_var"}}},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
label: "censor only command line args",
|
|
have: detailed.CensorNodeSummaries(summaries, report.CensorConfig{
|
|
HideCommandLineArguments: true,
|
|
HideEnvironmentVariables: false,
|
|
}),
|
|
want: detailed.NodeSummaries{
|
|
"a": detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "blublu", Label: "blabla", Value: "blu blu"},
|
|
{ID: "docker_container_command", Label: "Command", Value: "scope"},
|
|
},
|
|
},
|
|
"b": detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "cmdline", Label: "Command", Value: "prog"},
|
|
},
|
|
Tables: []report.Table{
|
|
{ID: "blibli", Rows: []report.Row{{ID: "bli"}}},
|
|
{ID: "docker_env_", Rows: []report.Row{{ID: "env_var"}}},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
label: "censor only env variables",
|
|
have: detailed.CensorNodeSummaries(summaries, report.CensorConfig{
|
|
HideCommandLineArguments: false,
|
|
HideEnvironmentVariables: true,
|
|
}),
|
|
want: detailed.NodeSummaries{
|
|
"a": detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "blublu", Label: "blabla", Value: "blu blu"},
|
|
{ID: "docker_container_command", Label: "Command", Value: "scope --token=blibli"},
|
|
},
|
|
},
|
|
"b": detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "cmdline", Label: "Command", Value: "prog -a --b=c"},
|
|
},
|
|
Tables: []report.Table{
|
|
{ID: "blibli", Rows: []report.Row{{ID: "bli"}}},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
label: "censor both command line args and env vars",
|
|
have: detailed.CensorNodeSummaries(summaries, report.CensorConfig{
|
|
HideCommandLineArguments: true,
|
|
HideEnvironmentVariables: true,
|
|
}),
|
|
want: detailed.NodeSummaries{
|
|
"a": detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "blublu", Label: "blabla", Value: "blu blu"},
|
|
{ID: "docker_container_command", Label: "Command", Value: "scope"},
|
|
},
|
|
},
|
|
"b": detailed.NodeSummary{
|
|
Metadata: []report.MetadataRow{
|
|
{ID: "cmdline", Label: "Command", Value: "prog"},
|
|
},
|
|
Tables: []report.Table{
|
|
{ID: "blibli", Rows: []report.Row{{ID: "bli"}}},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
} {
|
|
if !reflect.DeepEqual(c.want, c.have) {
|
|
t.Errorf("%s - %s", c.label, test.Diff(c.want, c.have))
|
|
}
|
|
}
|
|
}
|