chore: added tests (#1800)

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
This commit is contained in:
Jan-Otto Kröpke
2024-12-01 21:50:49 +01:00
committed by GitHub
parent 0ad8e01e0e
commit 109c34f572
34 changed files with 196 additions and 11 deletions

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, ad.Name, ad.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, ad.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, adcs.Name, adcs.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, adcs.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, adfs.Name, adfs.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, adfs.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, cache.Name, cache.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, cache.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, container.Name, container.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, container.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, cs.Name, cs.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, cs.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, dfsr.Name, dfsr.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, dfsr.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, dhcp.Name, dhcp.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, dhcp.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, diskdrive.Name, diskdrive.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, diskdrive.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, dns.Name, dns.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, dns.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, exchange.Name, exchange.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, exchange.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, fsrmquota.Name, fsrmquota.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, fsrmquota.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, hyperv.Name, hyperv.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, hyperv.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, iis.Name, iis.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, iis.New, nil)
}

View File

@@ -0,0 +1,31 @@
// Copyright 2024 The Prometheus Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//go:build windows
package mscluster_test
import (
"testing"
"github.com/prometheus-community/windows_exporter/internal/collector/mscluster"
"github.com/prometheus-community/windows_exporter/internal/utils/testutils"
)
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, mscluster.Name, mscluster.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, mscluster.New, nil)
}

View File

@@ -26,3 +26,7 @@ func BenchmarkCollector(b *testing.B) {
// No context name required as Collector source is WMI
testutils.FuncBenchmarkCollector(b, msmq.Name, msmq.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, msmq.New, nil)
}

View File

@@ -272,6 +272,10 @@ func (c *Collector) Build(logger *slog.Logger, _ *mi.Session) error {
// Collect sends the metric values for each metric
// to the provided prometheus Metric channel.
func (c *Collector) Collect(ch chan<- prometheus.Metric) error {
if len(c.mssqlInstances) == 0 {
return fmt.Errorf("no SQL instances found: %w", perfdata.ErrNoData)
}
errCh := make(chan error, len(c.collectorFns))
errs := make([]error, 0, len(c.collectorFns))

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, mssql.Name, mssql.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, mssql.New, nil)
}

View File

@@ -26,3 +26,7 @@ func BenchmarkCollector(b *testing.B) {
// No context name required as Collector source is WMI
testutils.FuncBenchmarkCollector(b, netframework.Name, netframework.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, netframework.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, nps.Name, nps.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, nps.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, remote_fx.Name, remote_fx.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, remote_fx.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, scheduled_task.Name, scheduled_task.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, scheduled_task.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, smb.Name, smb.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, smb.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, smbclient.Name, smbclient.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, smbclient.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, smtp.Name, smtp.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, smtp.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, system.Name, system.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, system.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, terminal_services.Name, terminal_services.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, terminal_services.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, thermalzone.Name, thermalzone.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, thermalzone.New, nil)
}

View File

@@ -47,7 +47,10 @@ var ConfigDefaults = Config{
scrapeInterval: 6 * time.Hour,
}
var ErrNoUpdates = errors.New("pending gather update metrics")
var (
ErrNoUpdates = errors.New("pending gather update metrics")
ErrUpdateServiceDisabled = errors.New("windows updates service is disabled")
)
type Collector struct {
config Config
@@ -234,7 +237,7 @@ func (c *Collector) scheduleUpdateStatus(ctx context.Context, logger *slog.Logge
}(hc)
if err != nil {
initErrCh <- fmt.Errorf("windows updates service is disabled: %w", err)
initErrCh <- ErrUpdateServiceDisabled
return
}

View File

@@ -23,5 +23,9 @@ import (
)
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, "printer", update.NewWithFlags)
testutils.FuncBenchmarkCollector(b, update.Name, update.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, update.New, nil)
}

View File

@@ -25,3 +25,7 @@ import (
func BenchmarkCollector(b *testing.B) {
testutils.FuncBenchmarkCollector(b, vmware.Name, vmware.NewWithFlags)
}
func TestCollector(t *testing.T) {
testutils.TestCollector(t, vmware.New, nil)
}