OLD | NEW |
(Empty) | |
| 1 // Copyright 2013 Canonical Ltd. |
| 2 // Licensed under the AGPLv3, see LICENCE file for details. |
| 3 |
| 4 package configstore_test |
| 5 |
| 6 import ( |
| 7 "io/ioutil" |
| 8 "os" |
| 9 "path/filepath" |
| 10 |
| 11 gc "launchpad.net/gocheck" |
| 12 |
| 13 "launchpad.net/juju-core/environs" |
| 14 "launchpad.net/juju-core/environs/configstore" |
| 15 "launchpad.net/juju-core/errors" |
| 16 jc "launchpad.net/juju-core/testing/checkers" |
| 17 ) |
| 18 |
| 19 var _ = gc.Suite(&diskStoreSuite{}) |
| 20 |
| 21 type diskStoreSuite struct{} |
| 22 |
| 23 func (*diskStoreSuite) TestNewDisk(c *gc.C) { |
| 24 dir := c.MkDir() |
| 25 store, err := configstore.NewDisk(filepath.Join(dir, "foo", "bar")) |
| 26 if false { |
| 27 c.Assert(err, jc.Satisfies, os.IsNotExist) |
| 28 } |
| 29 c.Assert(store, gc.IsNil) |
| 30 |
| 31 store, err = configstore.NewDisk(filepath.Join(dir, "foo")) |
| 32 c.Assert(err, gc.IsNil) |
| 33 c.Assert(store, gc.NotNil) |
| 34 } |
| 35 |
| 36 var sampleInfo = ` |
| 37 creds: |
| 38 user: rog |
| 39 password: guessit |
| 40 endpoint: |
| 41 apiaddresses: |
| 42 - example.com |
| 43 - kremvax.ru |
| 44 cacert: 'first line |
| 45 |
| 46 second line' |
| 47 `[1:] |
| 48 |
| 49 func (*diskStoreSuite) TestRead(c *gc.C) { |
| 50 dir := c.MkDir() |
| 51 err := ioutil.WriteFile(filepath.Join(dir, "someenv.yaml"), []byte(sampl
eInfo), 0666) |
| 52 c.Assert(err, gc.IsNil) |
| 53 store, err := configstore.NewDisk(dir) |
| 54 c.Assert(err, gc.IsNil) |
| 55 info, err := store.ReadInfo("someenv") |
| 56 c.Assert(err, gc.IsNil) |
| 57 c.Assert(info.APICredentials(), gc.DeepEquals, environs.APICredentials{ |
| 58 User: "rog", |
| 59 Password: "guessit", |
| 60 }) |
| 61 c.Assert(info.APIEndpoint(), gc.DeepEquals, environs.APIEndpoint{ |
| 62 APIAddresses: []string{"example.com", "kremvax.ru"}, |
| 63 CACert: "first line\nsecond line", |
| 64 }) |
| 65 } |
| 66 |
| 67 func (*diskStoreSuite) TestReadNotFound(c *gc.C) { |
| 68 dir := c.MkDir() |
| 69 store, err := configstore.NewDisk(dir) |
| 70 c.Assert(err, gc.IsNil) |
| 71 info, err := store.ReadInfo("someenv") |
| 72 c.Assert(err, jc.Satisfies, errors.IsNotFoundError) |
| 73 c.Assert(info, gc.IsNil) |
| 74 } |
OLD | NEW |