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") }
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") }
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}, }}) }