github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/apiserver/auditconfig_test.go (about) 1 // Copyright 2018 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package apiserver_test 5 6 import ( 7 "github.com/juju/collections/set" 8 gc "gopkg.in/check.v1" 9 10 "github.com/juju/juju/apiserver" 11 "github.com/juju/juju/core/auditlog" 12 ) 13 14 type auditConfigSuite struct { 15 apiserverBaseSuite 16 } 17 18 var _ = gc.Suite(&auditConfigSuite{}) 19 20 func (s *auditConfigSuite) TestUsesGetAuditConfig(c *gc.C) { 21 var calls int 22 s.config.GetAuditConfig = func() auditlog.Config { 23 calls++ 24 return auditlog.Config{ 25 Enabled: true, 26 ExcludeMethods: set.NewStrings("Midlake.Bandits"), 27 } 28 } 29 30 srv := s.newServer(c, s.config) 31 32 auditConfig := srv.GetAuditConfig() 33 c.Assert(auditConfig, gc.DeepEquals, auditlog.Config{ 34 Enabled: true, 35 ExcludeMethods: set.NewStrings("Midlake.Bandits"), 36 }) 37 c.Assert(calls, gc.Equals, 1) 38 } 39 40 func (s *auditConfigSuite) TestNewServerValidatesConfig(c *gc.C) { 41 s.config.GetAuditConfig = nil 42 43 srv, err := apiserver.NewServer(s.config) 44 c.Assert(err, gc.ErrorMatches, "missing GetAuditConfig not valid") 45 c.Assert(srv, gc.IsNil) 46 }