diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-26 08:15:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-26 08:15:20 +0000 |
commit | 87d772a7d708fec12f48cd8adc0dedff6e1025da (patch) | |
tree | 1fee344c64cc3f43074a01981e21126c8482a522 /src/go/collectors/go.d.plugin/modules/vsphere/discover/discover_test.go | |
parent | Adding upstream version 1.46.3. (diff) | |
download | netdata-87d772a7d708fec12f48cd8adc0dedff6e1025da.tar.xz netdata-87d772a7d708fec12f48cd8adc0dedff6e1025da.zip |
Adding upstream version 1.47.0.upstream/1.47.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/go/collectors/go.d.plugin/modules/vsphere/discover/discover_test.go')
-rw-r--r-- | src/go/collectors/go.d.plugin/modules/vsphere/discover/discover_test.go | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/vsphere/discover/discover_test.go b/src/go/collectors/go.d.plugin/modules/vsphere/discover/discover_test.go deleted file mode 100644 index 01f83fd38..000000000 --- a/src/go/collectors/go.d.plugin/modules/vsphere/discover/discover_test.go +++ /dev/null @@ -1,179 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -package discover - -import ( - "crypto/tls" - "net/url" - "testing" - "time" - - "github.com/netdata/netdata/go/go.d.plugin/modules/vsphere/client" - rs "github.com/netdata/netdata/go/go.d.plugin/modules/vsphere/resources" - "github.com/netdata/netdata/go/go.d.plugin/pkg/tlscfg" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "github.com/vmware/govmomi/simulator" -) - -func TestDiscoverer_Discover(t *testing.T) { - d, _, teardown := prepareDiscovererSim(t) - defer teardown() - - res, err := d.Discover() - - require.NoError(t, err) - assert.True(t, len(res.DataCenters) > 0) - assert.True(t, len(res.Folders) > 0) - assert.True(t, len(res.Clusters) > 0) - assert.True(t, len(res.Hosts) > 0) - assert.True(t, len(res.VMs) > 0) - assert.True(t, isHierarchySet(res)) - assert.True(t, isMetricListsCollected(res)) -} - -func TestDiscoverer_discover(t *testing.T) { - d, model, teardown := prepareDiscovererSim(t) - defer teardown() - - raw, err := d.discover() - - require.NoError(t, err) - count := model.Count() - assert.Lenf(t, raw.dcs, count.Datacenter, "datacenters") - assert.Lenf(t, raw.folders, count.Folder-1, "folders") // minus root folder - dummyClusters := model.Host * count.Datacenter - assert.Lenf(t, raw.clusters, count.Cluster+dummyClusters, "clusters") - assert.Lenf(t, raw.hosts, count.Host, "hosts") - assert.Lenf(t, raw.vms, count.Machine, "hosts") -} - -func TestDiscoverer_build(t *testing.T) { - d, _, teardown := prepareDiscovererSim(t) - defer teardown() - - raw, err := d.discover() - require.NoError(t, err) - - res := d.build(raw) - - assert.Lenf(t, res.DataCenters, len(raw.dcs), "datacenters") - assert.Lenf(t, res.Folders, len(raw.folders), "folders") - assert.Lenf(t, res.Clusters, len(raw.clusters), "clusters") - assert.Lenf(t, res.Hosts, len(raw.hosts), "hosts") - assert.Lenf(t, res.VMs, len(raw.vms), "hosts") -} - -func TestDiscoverer_setHierarchy(t *testing.T) { - d, _, teardown := prepareDiscovererSim(t) - defer teardown() - - raw, err := d.discover() - require.NoError(t, err) - res := d.build(raw) - - err = d.setHierarchy(res) - - require.NoError(t, err) - assert.True(t, isHierarchySet(res)) -} - -func TestDiscoverer_removeUnmatched(t *testing.T) { - d, _, teardown := prepareDiscovererSim(t) - defer teardown() - - d.HostMatcher = falseHostMatcher{} - d.VMMatcher = falseVMMatcher{} - raw, err := d.discover() - require.NoError(t, err) - res := d.build(raw) - - numVMs, numHosts := len(res.VMs), len(res.Hosts) - assert.Equal(t, numVMs+numHosts, d.removeUnmatched(res)) - assert.Lenf(t, res.Hosts, 0, "hosts") - assert.Lenf(t, res.VMs, 0, "vms") -} - -func TestDiscoverer_collectMetricLists(t *testing.T) { - d, _, teardown := prepareDiscovererSim(t) - defer teardown() - - raw, err := d.discover() - require.NoError(t, err) - - res := d.build(raw) - err = d.collectMetricLists(res) - - require.NoError(t, err) - assert.True(t, isMetricListsCollected(res)) -} - -func prepareDiscovererSim(t *testing.T) (d *Discoverer, model *simulator.Model, teardown func()) { - model, srv := createSim(t) - teardown = func() { model.Remove(); srv.Close() } - c := newClient(t, srv.URL) - - return New(c), model, teardown -} - -func newClient(t *testing.T, vCenterURL *url.URL) *client.Client { - c, err := client.New(client.Config{ - URL: vCenterURL.String(), - User: "admin", - Password: "password", - Timeout: time.Second * 3, - TLSConfig: tlscfg.TLSConfig{InsecureSkipVerify: true}, - }) - require.NoError(t, err) - return c -} - -func createSim(t *testing.T) (*simulator.Model, *simulator.Server) { - model := simulator.VPX() - err := model.Create() - require.NoError(t, err) - model.Service.TLS = new(tls.Config) - return model, model.Service.NewServer() -} - -func isHierarchySet(res *rs.Resources) bool { - for _, c := range res.Clusters { - if !c.Hier.IsSet() { - return false - } - } - for _, h := range res.Hosts { - if !h.Hier.IsSet() { - return false - } - } - for _, v := range res.VMs { - if !v.Hier.IsSet() { - return false - } - } - return true -} - -func isMetricListsCollected(res *rs.Resources) bool { - for _, h := range res.Hosts { - if h.MetricList == nil { - return false - } - } - for _, v := range res.VMs { - if v.MetricList == nil { - return false - } - } - return true -} - -type falseHostMatcher struct{} - -func (falseHostMatcher) Match(*rs.Host) bool { return false } - -type falseVMMatcher struct{} - -func (falseVMMatcher) Match(*rs.VM) bool { return false } |