func testCompute(v *Validator, input *data.Data, t *testing.T) *config.VirtualContainerHostConfigSpec { tests := []struct { path string vc bool hasErr bool }{ {"DC0_C0/Resources/validator", true, false}, {"DC0_C0/validator", true, false}, {"validator", true, true}, {"DC0_C0/test", true, true}, {"/DC0_C1/test", true, true}, {"/DC0_C1/test", true, true}, {"/DC0/host/DC0_C1/Resources/validator", true, true}, {"/DC1/host/DC0_C1/Resources/validator", true, true}, {"DC0_H0/Resources", true, false}, {"DC0_H0", true, false}, {"/DC0/host/DC0_C0/Resources/validator", true, false}, {"localhost.localdomain/Resources/validator", false, false}, {"validator", false, false}, {"test", false, true}, {"/ha-datacenter/host/localhost.localdomain/Resources/validator", false, false}, } conf := &config.VirtualContainerHostConfigSpec{} for _, test := range tests { if v.isVC && !test.vc { continue } if !v.isVC && test.vc { continue } t.Logf("%+v", test) input.ComputeResourcePath = test.path v.compute(v.Context, input, conf) v.ListIssues() if !test.hasErr { assert.Equal(t, 0, len(v.issues)) } else { assert.True(t, len(v.issues) > 0, "Should have errors") } v.issues = nil } return conf }