Example #1
0
func (s *FlushContextSuite) TestRecorderIsClosedAfterBuiltIn(c *gc.C) {
	uuid := utils.MustNewUUID()
	paths := NewRealPaths(c)
	ctx := s.getMeteredHookContext(c, uuid.String(), -1, "", noProxies, true, s.metricsDefinition("juju-units"), paths)
	runner.PatchMetricsRecorder(ctx, &StubMetricsRecorder{&s.stub})

	err := ctx.Flush("some badge", nil)
	c.Assert(err, jc.ErrorIsNil)
	s.stub.CheckCallNames(c, "IsDeclaredMetric", "AddMetric", "Close")
}
Example #2
0
func (s *FlushContextSuite) TestFlushClosesMetricsRecorder(c *gc.C) {
	uuid := utils.MustNewUUID()
	ctx := s.getMeteredHookContext(c, uuid.String(), -1, "", noProxies, true, s.metricsDefinition("key"), NewRealPaths(c))

	runner.PatchMetricsRecorder(ctx, &StubMetricsRecorder{&s.stub})

	err := ctx.AddMetric("key", "value", time.Now())

	// Flush the context with a success.
	err = ctx.Flush("success", nil)
	c.Assert(err, jc.ErrorIsNil)

	s.stub.CheckCallNames(c, "IsDeclaredMetric", "AddMetric", "Close")
}
Example #3
0
func (s *InterfaceSuite) TestAddingMetrics(c *gc.C) {
	uuid := utils.MustNewUUID()
	ctx := s.getMeteredHookContext(c, uuid.String(), -1, "", noProxies, true, s.metricsDefinition("key"), NewRealPaths(c))
	cleanup := runner.PatchMetricsRecorder(ctx, &StubMetricsRecorder{&s.stub})
	defer cleanup()

	now := time.Now()
	err := ctx.AddMetric("key", "123", now)
	c.Assert(err, jc.ErrorIsNil)

	s.stub.CheckCalls(c,
		[]testing.StubCall{{
			FuncName: "AddMetric",
			Args:     []interface{}{"key", "123", now},
		}})
}