github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/mongo/service_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package mongo_test 5 6 import ( 7 "fmt" 8 "os" 9 "path/filepath" 10 "time" 11 12 "github.com/juju/clock/testclock" 13 jc "github.com/juju/testing/checkers" 14 gc "gopkg.in/check.v1" 15 16 "github.com/juju/juju/mongo" 17 coretesting "github.com/juju/juju/testing" 18 ) 19 20 type serviceSuite struct { 21 coretesting.BaseSuite 22 } 23 24 var _ = gc.Suite(&serviceSuite{}) 25 26 func (s *serviceSuite) TestNewConfSnap(c *gc.C) { 27 dataDir := "/var/lib/juju" 28 dbDir := dataDir + "/db" 29 logPath := dataDir + "/logs/mongodb.log" 30 confArgs := mongo.ConfigArgs{ 31 Clock: testclock.NewClock(time.Now()), 32 DataDir: dataDir, 33 DBDir: dbDir, 34 Port: 12345, 35 OplogSizeMB: 10, 36 IPv6: true, 37 LogPath: logPath, 38 ReplicaSet: "juju", 39 MemoryProfile: mongo.MemoryProfileLow, 40 PEMKeyFile: "/var/lib/juju/server.pem", 41 PEMKeyPassword: "ignored", 42 AuthKeyFile: "/var/lib/juju/shared-secret", 43 Syslog: true, 44 Quiet: true, 45 TLSMode: "requireTLS", 46 WiredTigerCacheSizeGB: 0.25, 47 BindToAllIP: true, 48 } 49 confFile := filepath.Join(c.MkDir(), "conf") 50 err := mongo.WriteConfig(confArgs, confFile) 51 c.Assert(err, jc.ErrorIsNil) 52 53 contents, err := os.ReadFile(confFile) 54 c.Assert(err, jc.ErrorIsNil) 55 expected := fmt.Sprintf(` 56 # WARNING 57 # autogenerated by juju on %s 58 # manual changes to this file are likely to be overwritten 59 auth = true 60 bind_ip_all = true 61 dbpath = %s/db 62 ipv6 = true 63 journal = true 64 keyFile = %s/shared-secret 65 logpath = %s/logs/mongodb.log 66 oplogSize = 10 67 port = 12345 68 quiet = true 69 replSet = juju 70 storageEngine = wiredTiger 71 syslog = true 72 tlsCertificateKeyFile = %s/server.pem 73 tlsCertificateKeyFilePassword=ignored 74 tlsMode = requireTLS 75 wiredTigerCacheSizeGB = 0.25`[1:], confArgs.Clock.Now().UTC().Format(time.RFC822), dataDir, dataDir, dataDir, dataDir) 76 77 c.Assert(string(contents), jc.DeepEquals, expected) 78 79 }