func (s *MongoSuite) SetUpTest(c *gc.C) { s.BaseSuite.SetUpTest(c) s.mongodVersion = mongo.Mongo24 testing.PatchExecutable(c, s, "mongod", "#!/bin/bash\n\nprintf %s 'db version v2.4.9'\n") jujuMongodPath, err := exec.LookPath("mongod") c.Assert(err, jc.ErrorIsNil) s.PatchValue(&mongo.JujuMongod24Path, jujuMongodPath) s.mongodPath = jujuMongodPath // Patch "df" such that it always reports there's 1MB free. s.PatchValue(mongo.AvailSpace, func(dir string) (float64, error) { info, err := os.Stat(dir) if err != nil { return 0, err } if info.IsDir() { return 1, nil } return 0, fmt.Errorf("not a directory") }) s.PatchValue(mongo.MinOplogSizeMB, 1) testPath := c.MkDir() s.mongodConfigPath = filepath.Join(testPath, "mongodConfig") s.PatchValue(mongo.MongoConfigPath, s.mongodConfigPath) s.data = svctesting.NewFakeServiceData() mongo.PatchService(s.PatchValue, s.data) }
func (s *MongoSuite) SetUpTest(c *gc.C) { s.BaseSuite.SetUpTest(c) // Try to make sure we don't execute any commands accidentally. s.PatchEnvironment("PATH", "") s.mongodPath = filepath.Join(c.MkDir(), "mongod") err := ioutil.WriteFile(s.mongodPath, []byte("#!/bin/bash\n\nprintf %s 'db version v2.4.9'\n"), 0755) c.Assert(err, jc.ErrorIsNil) s.PatchValue(&mongo.JujuMongodPath, s.mongodPath) // Patch "df" such that it always reports there's 1MB free. s.PatchValue(mongo.AvailSpace, func(dir string) (float64, error) { info, err := os.Stat(dir) if err != nil { return 0, err } if info.IsDir() { return 1, nil } return 0, fmt.Errorf("not a directory") }) s.PatchValue(mongo.MinOplogSizeMB, 1) testPath := c.MkDir() s.mongodConfigPath = filepath.Join(testPath, "mongodConfig") s.PatchValue(mongo.MongoConfigPath, s.mongodConfigPath) s.data = svctesting.NewFakeServiceData() mongo.PatchService(s.PatchValue, s.data) }
func (s *serviceSuite) TestIsServiceInstalledWhenNotInstalled(c *gc.C) { mongo.PatchService(s.PatchValue, svctesting.NewFakeServiceData()) isInstalled, err := mongo.IsServiceInstalled("some-namespace") c.Assert(err, jc.ErrorIsNil) c.Assert(isInstalled, jc.IsFalse) }
func (s *serviceSuite) TestIsServiceInstalledWhenInstalled(c *gc.C) { svcName := mongo.ServiceName svcData := svctesting.NewFakeServiceData(svcName) mongo.PatchService(s.PatchValue, svcData) isInstalled, err := mongo.IsServiceInstalled() c.Assert(err, jc.ErrorIsNil) c.Assert(isInstalled, jc.IsTrue) }
func (s *adminSuite) SetUpTest(c *gc.C) { s.BaseSuite.SetUpTest(c) s.data = svctesting.NewFakeServiceData() mongo.PatchService(s.PatchValue, s.data) }