|
|
@ -1,10 +1,12 @@
|
|
|
|
package jitsiexporter
|
|
|
|
// nolint: goerr113
|
|
|
|
|
|
|
|
package jitsiexporter_test
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
import (
|
|
|
|
"errors"
|
|
|
|
"errors"
|
|
|
|
"fmt"
|
|
|
|
"fmt"
|
|
|
|
"testing"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"git.xsfx.dev/prometheus/jitsiexporter"
|
|
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
|
|
"github.com/prometheus/client_golang/prometheus/testutil"
|
|
|
|
"github.com/prometheus/client_golang/prometheus/testutil"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
@ -15,14 +17,14 @@ func TestUpdate(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
|
|
s := make(map[string]interface{})
|
|
|
|
s := make(map[string]interface{})
|
|
|
|
s["foo"] = "foo"
|
|
|
|
s["foo"] = "foo"
|
|
|
|
s["bar"] = 1 // nolint:gomnd
|
|
|
|
s["bar"] = 1
|
|
|
|
s["zonk"] = float64(1) // nolint:gomnd
|
|
|
|
s["zonk"] = float64(1)
|
|
|
|
mockStater := &MockStater{}
|
|
|
|
mockStater := &jitsiexporter.MockStater{}
|
|
|
|
mockStater.On("Now", "http://foo.tld").Return(s, nil)
|
|
|
|
mockStater.On("Now", "http://foo.tld").Return(s, nil)
|
|
|
|
|
|
|
|
|
|
|
|
m := &Metrics{
|
|
|
|
m := &jitsiexporter.Metrics{
|
|
|
|
URL: "http://foo.tld",
|
|
|
|
URL: "http://foo.tld",
|
|
|
|
Metrics: make(map[string]Metric),
|
|
|
|
Metrics: make(map[string]jitsiexporter.Metric),
|
|
|
|
Stater: mockStater,
|
|
|
|
Stater: mockStater,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -30,24 +32,24 @@ func TestUpdate(t *testing.T) {
|
|
|
|
assert.Empty(err)
|
|
|
|
assert.Empty(err)
|
|
|
|
|
|
|
|
|
|
|
|
assert.Equal(float64(1), testutil.ToFloat64(m.Metrics["jitsi_zonk"].Gauge))
|
|
|
|
assert.Equal(float64(1), testutil.ToFloat64(m.Metrics["jitsi_zonk"].Gauge))
|
|
|
|
assert.Equal(Metric{Name: "", Gauge: prometheus.Gauge(nil)}, m.Metrics["jitsi_foo"])
|
|
|
|
assert.Equal(jitsiexporter.Metric{Name: "", Gauge: prometheus.Gauge(nil)}, m.Metrics["jitsi_foo"])
|
|
|
|
assert.Equal(Metric{Name: "", Gauge: prometheus.Gauge(nil)}, m.Metrics["jitsi_bar"])
|
|
|
|
assert.Equal(jitsiexporter.Metric{Name: "", Gauge: prometheus.Gauge(nil)}, m.Metrics["jitsi_bar"])
|
|
|
|
assert.Equal(len(m.Metrics), 1)
|
|
|
|
assert.Equal(len(m.Metrics), 1)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func TestUpdateOnError(t *testing.T) {
|
|
|
|
func TestUpdateOnError(t *testing.T) {
|
|
|
|
assert := assert.New(t)
|
|
|
|
assert := assert.New(t)
|
|
|
|
|
|
|
|
|
|
|
|
mockStater := &MockStater{}
|
|
|
|
mockStater := &jitsiexporter.MockStater{}
|
|
|
|
mockStater.On("Now", "http://foo.tld").Return(nil, errors.New("something went foo"))
|
|
|
|
mockStater.On("Now", "http://foo.tld").Return(nil, errors.New("something went foo"))
|
|
|
|
|
|
|
|
|
|
|
|
e := prometheus.NewCounter(prometheus.CounterOpts{Name: "jitsi_fetch_errors"})
|
|
|
|
e := prometheus.NewCounter(prometheus.CounterOpts{Name: "jitsi_fetch_errors"})
|
|
|
|
metricsMap := make(map[string]Metric)
|
|
|
|
metricsMap := make(map[string]jitsiexporter.Metric)
|
|
|
|
metricsMap["testmetric"] = Metric{
|
|
|
|
metricsMap["testmetric"] = jitsiexporter.Metric{
|
|
|
|
Name: "testmetric",
|
|
|
|
Name: "testmetric",
|
|
|
|
Gauge: prometheus.NewGauge(prometheus.GaugeOpts{Name: "jitsi_testmetric"}),
|
|
|
|
Gauge: prometheus.NewGauge(prometheus.GaugeOpts{Name: "jitsi_testmetric"}),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m := &Metrics{
|
|
|
|
m := &jitsiexporter.Metrics{
|
|
|
|
URL: "http://foo.tld",
|
|
|
|
URL: "http://foo.tld",
|
|
|
|
Metrics: metricsMap,
|
|
|
|
Metrics: metricsMap,
|
|
|
|
Stater: mockStater,
|
|
|
|
Stater: mockStater,
|
|
|
|