github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/featuretests/api_logger_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package featuretests 5 6 import ( 7 jc "github.com/juju/testing/checkers" 8 gc "gopkg.in/check.v1" 9 10 "github.com/juju/juju/api/agent/logger" 11 "github.com/juju/juju/core/watcher/watchertest" 12 jujutesting "github.com/juju/juju/juju/testing" 13 "github.com/juju/juju/state" 14 ) 15 16 type apiLoggerSuite struct { 17 jujutesting.JujuConnSuite 18 } 19 20 func (s *apiLoggerSuite) TestLoggingConfig(c *gc.C) { 21 root, machine := s.OpenAPIAsNewMachine(c, state.JobHostUnits) 22 logging := logger.NewState(root) 23 24 obtained, err := logging.LoggingConfig(machine.Tag()) 25 c.Assert(err, jc.ErrorIsNil) 26 c.Assert(obtained, gc.Equals, "<root>=INFO") 27 } 28 29 func (s *apiLoggerSuite) TestWatchLoggingConfig(c *gc.C) { 30 root, machine := s.OpenAPIAsNewMachine(c, state.JobHostUnits) 31 logging := logger.NewState(root) 32 33 watcher, err := logging.WatchLoggingConfig(machine.Tag()) 34 c.Assert(err, jc.ErrorIsNil) 35 _ = watcher 36 37 wc := watchertest.NewNotifyWatcherC(c, watcher) 38 // Initial event. 39 wc.AssertOneChange() 40 41 model, err := s.State.Model() 42 c.Assert(err, jc.ErrorIsNil) 43 err = model.UpdateModelConfig( 44 map[string]interface{}{ 45 "logging-config": "juju=INFO;test=TRACE", 46 }, nil) 47 c.Assert(err, jc.ErrorIsNil) 48 49 wc.AssertOneChange() 50 wc.AssertStops() 51 }