~juju-qa/ubuntu/xenial/juju/2.0-rc2

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/state/backups/files_test.go

  • Committer: Nicholas Skaggs
  • Date: 2016-09-30 14:39:30 UTC
  • mfrom: (1.8.1)
  • Revision ID: nicholas.skaggs@canonical.com-20160930143930-vwwhrefh6ftckccy
import upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
        "github.com/juju/utils/set"
17
17
        gc "gopkg.in/check.v1"
18
18
 
 
19
        "github.com/juju/juju/mongo"
19
20
        "github.com/juju/juju/state/backups"
20
21
        "github.com/juju/juju/testing"
21
22
)
142
143
        c.Assert(err, jc.ErrorIsNil)
143
144
        defer fhr.Close()
144
145
 
145
 
        s.PatchValue(backups.ReplaceableFolders, func() (map[string]os.FileMode, error) {
 
146
        s.PatchValue(backups.ReplaceableFolders, func(_ string, _ mongo.Version) (map[string]os.FileMode, error) {
146
147
                replaceables := map[string]os.FileMode{}
147
148
                for _, replaceable := range []string{
148
149
                        recreatableFolder,
157
158
                return replaceables, nil
158
159
        })
159
160
 
160
 
        err = backups.PrepareMachineForRestore()
 
161
        err = backups.PrepareMachineForRestore(mongo.Version{})
161
162
        c.Assert(err, jc.ErrorIsNil)
162
163
 
163
164
        _, err = os.Stat(deletableFolder)
175
176
        c.Assert(recreatableFolder1Info.Sys().(*syscall.Stat_t).Ino, gc.Not(gc.Equals), recreatedFolder1Info.Sys().(*syscall.Stat_t).Ino)
176
177
}
177
178
 
 
179
func (s *filesSuite) setupReplaceableFolders(c *gc.C) string {
 
180
        dataDir := c.MkDir()
 
181
        c.Assert(os.Mkdir(filepath.Join(dataDir, "init"), 0640), jc.ErrorIsNil)
 
182
        c.Assert(os.Mkdir(filepath.Join(dataDir, "tools"), 0660), jc.ErrorIsNil)
 
183
        c.Assert(os.Mkdir(filepath.Join(dataDir, "agents"), 0600), jc.ErrorIsNil)
 
184
        c.Assert(os.Mkdir(filepath.Join(dataDir, "db"), 0600), jc.ErrorIsNil)
 
185
        return dataDir
 
186
}
 
187
 
 
188
func (s *filesSuite) TestReplaceableFoldersMongo2(c *gc.C) {
 
189
        dataDir := s.setupReplaceableFolders(c)
 
190
 
 
191
        result, err := (*backups.ReplaceableFolders)(dataDir, mongo.Version{Major: 2, Minor: 4})
 
192
        c.Assert(err, jc.ErrorIsNil)
 
193
        c.Assert(result, jc.DeepEquals, map[string]os.FileMode{
 
194
                filepath.Join(dataDir, "init"):   0640 | os.ModeDir,
 
195
                filepath.Join(dataDir, "tools"):  0660 | os.ModeDir,
 
196
                filepath.Join(dataDir, "agents"): 0600 | os.ModeDir,
 
197
                filepath.Join(dataDir, "db"):     0600 | os.ModeDir,
 
198
        })
 
199
}
 
200
 
 
201
func (s *filesSuite) TestReplaceableFoldersMongo3(c *gc.C) {
 
202
        dataDir := s.setupReplaceableFolders(c)
 
203
 
 
204
        result, err := (*backups.ReplaceableFolders)(dataDir, mongo.Version{Major: 3, Minor: 2})
 
205
        c.Assert(err, jc.ErrorIsNil)
 
206
        c.Assert(result, jc.DeepEquals, map[string]os.FileMode{
 
207
                filepath.Join(dataDir, "init"):   0640 | os.ModeDir,
 
208
                filepath.Join(dataDir, "tools"):  0660 | os.ModeDir,
 
209
                filepath.Join(dataDir, "agents"): 0600 | os.ModeDir,
 
210
        })
 
211
}
 
212
 
178
213
func (s *filesSuite) TestGetFilesToBackUpMachine10(c *gc.C) {
179
214
        paths := backups.Paths{
180
215
                DataDir: "/var/lib/juju",