Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(2028)

Unified Diff: environs/configstore/disk_test.go

Issue 13489044: environs/configstore: memory-based store
Patch Set: environs/configstore: memory-based store Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « [revision details] ('k') | environs/configstore/interface_test.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: environs/configstore/disk_test.go
=== modified file 'environs/configstore/disk_test.go'
--- environs/configstore/disk_test.go 2013-09-19 16:32:43 +0000
+++ environs/configstore/disk_test.go 2013-09-19 20:21:16 +0000
@@ -7,6 +7,7 @@
"io/ioutil"
"os"
"path/filepath"
+ "strings"
gc "launchpad.net/gocheck"
@@ -16,6 +17,34 @@
jc "launchpad.net/juju-core/testing/checkers"
)
+var _ = gc.Suite(&diskInterfaceSuite{})
+
+type diskInterfaceSuite struct {
+ interfaceSuite
+ dir string
+}
+
+func (s *diskInterfaceSuite) SetUpTest(c *gc.C) {
+ s.dir = c.MkDir()
+ s.NewStore = func(c *gc.C) environs.ConfigStorage {
+ store, err := configstore.NewDisk(s.dir)
+ c.Assert(err, gc.IsNil)
+ return store
+ }
+}
+
+func (s *diskInterfaceSuite) TearDownTest(c *gc.C) {
+ s.NewStore = nil
+ // Check that no stray temp files have been left behind
+ entries, err := ioutil.ReadDir(s.dir)
+ c.Assert(err, gc.IsNil)
+ for _, entry := range entries {
+ if !strings.HasSuffix(entry.Name(), ".yaml") {
+ c.Errorf("found possible stray temp file %q", entry.Name())
+ }
+ }
+}
+
var _ = gc.Suite(&diskStoreSuite{})
type diskStoreSuite struct{}
@@ -92,85 +121,12 @@
c.Assert(err, gc.Equals, environs.ErrEnvironInfoAlreadyExists)
c.Assert(info, gc.IsNil)
- // Check that it can't be read (pending a Write)
+ // Check that we can read it again.
info, err = store.ReadInfo("someenv")
c.Assert(err, gc.IsNil)
c.Assert(info.Initialized(), jc.IsFalse)
}
-func (*diskStoreSuite) TestSetAPIEndpointAndCredentials(c *gc.C) {
- dir := c.MkDir()
- store, err := configstore.NewDisk(dir)
- c.Assert(err, gc.IsNil)
-
- info, err := store.CreateInfo("someenv")
- c.Assert(err, gc.IsNil)
-
- expectEndpoint := environs.APIEndpoint{
- Addresses: []string{"example.com"},
- CACert: "a cert",
- }
- info.SetAPIEndpoint(expectEndpoint)
- c.Assert(info.APIEndpoint(), gc.DeepEquals, expectEndpoint)
-
- expectCreds := environs.APICredentials{
- User: "foobie",
- Password: "bletch",
- }
- info.SetAPICredentials(expectCreds)
- c.Assert(info.APICredentials(), gc.DeepEquals, expectCreds)
-}
-
-func (*diskStoreSuite) TestWrite(c *gc.C) {
- dir := c.MkDir()
- store, err := configstore.NewDisk(dir)
- c.Assert(err, gc.IsNil)
-
- // Create the info.
- info, err := store.CreateInfo("someenv")
- c.Assert(err, gc.IsNil)
-
- // Set it up with some actual data and write it out.
- expectCreds := environs.APICredentials{
- User: "foobie",
- Password: "bletch",
- }
- info.SetAPICredentials(expectCreds)
-
- expectEndpoint := environs.APIEndpoint{
- Addresses: []string{"example.com"},
- CACert: "a cert",
- }
- info.SetAPIEndpoint(expectEndpoint)
-
- err = info.Write()
- c.Assert(err, gc.IsNil)
- c.Assert(info.Initialized(), jc.IsTrue)
-
- // Make sure there are no stray files left in the directory.
- infos, err := ioutil.ReadDir(dir)
- c.Assert(err, gc.IsNil)
- c.Assert(infos, gc.HasLen, 1)
- c.Assert(infos[0].Name(), gc.Equals, "someenv.yaml")
-
- // Check we can read the information back
- info, err = store.ReadInfo("someenv")
- c.Assert(err, gc.IsNil)
- c.Assert(info.APICredentials(), gc.DeepEquals, expectCreds)
- c.Assert(info.APIEndpoint(), gc.DeepEquals, expectEndpoint)
-
- // Change the information and write it again.
- expectCreds.User = "arble"
- info.SetAPICredentials(expectCreds)
- err = info.Write()
- c.Assert(err, gc.IsNil)
-
- // Check we can read the information back
- info, err = store.ReadInfo("someenv")
- c.Assert(err, gc.IsNil)
- c.Assert(info.APICredentials(), gc.DeepEquals, expectCreds)
-}
-
func (*diskStoreSuite) TestWriteTempFileFails(c *gc.C) {
dir := c.MkDir()
store, err := configstore.NewDisk(dir)
@@ -210,7 +166,7 @@
c.Assert(err, gc.ErrorMatches, "cannot rename new environment info file: .*")
}
-func (*diskStoreSuite) TestDestroy(c *gc.C) {
+func (*diskStoreSuite) TestDestroyRemovesFiles(c *gc.C) {
dir := c.MkDir()
store, err := configstore.NewDisk(dir)
c.Assert(err, gc.IsNil)
« no previous file with comments | « [revision details] ('k') | environs/configstore/interface_test.go » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b