Fix some nits in file_store_test.go and s3_store_test.go

1) Members of the 'suite' struct can be private
2) file is not a reserved word, so no need for fyle
3) no 'new'
This commit is contained in:
Chris Masone
2015-07-10 11:35:13 -07:00
parent 6c3047cf03
commit 3dcc16dd4c
3 changed files with 44 additions and 44 deletions

View File

@@ -75,13 +75,13 @@ func (f FileStore) Get(ref ref.Ref) (io.ReadCloser, error) {
}
func (f FileStore) Put() ChunkWriter {
fyle, err := ioutil.TempFile(os.TempDir(), "")
file, err := ioutil.TempFile(os.TempDir(), "")
Chk.NoError(err)
h := ref.NewHash()
return &fileChunkWriter{
root: f.dir,
file: fyle,
writer: io.MultiWriter(fyle, h),
file: file,
writer: io.MultiWriter(file, h),
hash: h,
rename: f.rename,
}

View File

@@ -11,29 +11,29 @@ import (
)
func TestFileStoreTestSuite(t *testing.T) {
suite.Run(t, new(FileStoreTestSuite))
suite.Run(t, &FileStoreTestSuite{})
}
type FileStoreTestSuite struct {
suite.Suite
Dir string
Store FileStore
dir string
store FileStore
}
func (suite *FileStoreTestSuite) SetupTest() {
var err error
suite.Dir, err = ioutil.TempDir(os.TempDir(), "")
suite.dir, err = ioutil.TempDir(os.TempDir(), "")
suite.NoError(err)
suite.Store = NewFileStore(suite.Dir, "root")
suite.store = NewFileStore(suite.dir, "root")
}
func (suite *FileStoreTestSuite) TearDownTest() {
os.Remove(suite.Dir)
os.Remove(suite.dir)
}
func (suite *FileStoreTestSuite) TestFileStorePut() {
input := "abc"
w := suite.Store.Put()
w := suite.store.Put()
_, err := w.Write([]byte(input))
suite.NoError(err)
ref, err := w.Ref()
@@ -43,7 +43,7 @@ func (suite *FileStoreTestSuite) TestFileStorePut() {
suite.Equal("sha1-a9993e364706816aba3e25717850c26c9cd0d89d", ref.String())
// There should also be a file there now...
p := path.Join(suite.Dir, "sha1", "a9", "99", ref.String())
p := path.Join(suite.dir, "sha1", "a9", "99", ref.String())
f, err := os.Open(p)
suite.NoError(err)
data, err := ioutil.ReadAll(f)
@@ -51,12 +51,12 @@ func (suite *FileStoreTestSuite) TestFileStorePut() {
suite.Equal(input, string(data))
// And reading it via the API should work...
assertInputInStore(input, ref, suite.Store, suite.Assert())
assertInputInStore(input, ref, suite.store, suite.Assert())
}
func (suite *FileStoreTestSuite) TestFileStoreWriteAfterCloseFails() {
input := "abc"
w := suite.Store.Put()
w := suite.store.Put()
_, err := w.Write([]byte(input))
suite.NoError(err)
@@ -66,7 +66,7 @@ func (suite *FileStoreTestSuite) TestFileStoreWriteAfterCloseFails() {
func (suite *FileStoreTestSuite) TestFileStoreWriteAfterRefFails() {
input := "abc"
w := suite.Store.Put()
w := suite.store.Put()
_, err := w.Write([]byte(input))
suite.NoError(err)
@@ -77,7 +77,7 @@ func (suite *FileStoreTestSuite) TestFileStoreWriteAfterRefFails() {
func (suite *FileStoreTestSuite) TestFileStorePutWithRefAfterClose() {
input := "abc"
w := suite.Store.Put()
w := suite.store.Put()
_, err := w.Write([]byte(input))
suite.NoError(err)
@@ -86,12 +86,12 @@ func (suite *FileStoreTestSuite) TestFileStorePutWithRefAfterClose() {
suite.NoError(err)
// And reading the data via the API should work...
assertInputInStore(input, ref, suite.Store, suite.Assert())
assertInputInStore(input, ref, suite.store, suite.Assert())
}
func (suite *FileStoreTestSuite) TestFileStorePutWithMultipleRef() {
input := "abc"
w := suite.Store.Put()
w := suite.store.Put()
_, err := w.Write([]byte(input))
suite.NoError(err)
@@ -101,15 +101,15 @@ func (suite *FileStoreTestSuite) TestFileStorePutWithMultipleRef() {
suite.NoError(err)
// And reading the data via the API should work...
assertInputInStore(input, ref, suite.Store, suite.Assert())
assertInputInStore(input, ref, suite.store, suite.Assert())
}
func (suite *FileStoreTestSuite) TestFileStoreRoot() {
oldRoot := suite.Store.Root()
oldRoot := suite.store.Root()
suite.Equal(oldRoot, ref.Ref{})
// Root file should be absent
f, err := os.Open(path.Join(suite.Dir, "root"))
f, err := os.Open(path.Join(suite.dir, "root"))
suite.True(os.IsNotExist(err))
bogusRoot, err := ref.Parse("sha1-81c870618113ba29b6f2b396ea3a69c6f1d626c5") // sha1("Bogus, Dude")
@@ -118,21 +118,21 @@ func (suite *FileStoreTestSuite) TestFileStoreRoot() {
suite.NoError(err)
// Try to update root with bogus oldRoot
result := suite.Store.UpdateRoot(newRoot, bogusRoot)
result := suite.store.UpdateRoot(newRoot, bogusRoot)
suite.False(result)
// Root file should now be there, but should be empty
f, err = os.Open(path.Join(suite.Dir, "root"))
f, err = os.Open(path.Join(suite.dir, "root"))
suite.NoError(err)
input, err := ioutil.ReadAll(f)
suite.Equal(len(input), 0)
// Now do a valid root update
result = suite.Store.UpdateRoot(newRoot, oldRoot)
result = suite.store.UpdateRoot(newRoot, oldRoot)
suite.True(result)
// Root file should now contain "Hello, World" sha1
f, err = os.Open(path.Join(suite.Dir, "root"))
f, err = os.Open(path.Join(suite.dir, "root"))
suite.NoError(err)
input, err = ioutil.ReadAll(f)
suite.NoError(err)
@@ -143,13 +143,13 @@ func (suite *FileStoreTestSuite) TestFileStorePutExisting() {
input := "abc"
renameCount := 0
suite.Store.rename = func(oldPath, newPath string) error {
suite.store.rename = func(oldPath, newPath string) error {
renameCount++
return os.Rename(oldPath, newPath)
}
write := func() {
w := suite.Store.Put()
w := suite.store.Put()
_, err := w.Write([]byte(input))
suite.NoError(err)
_, err = w.Ref()

View File

@@ -14,16 +14,16 @@ import (
)
func TestS3StoreTestSuite(t *testing.T) {
suite.Run(t, new(S3StoreTestSuite))
suite.Run(t, &S3StoreTestSuite{})
}
type S3StoreTestSuite struct {
suite.Suite
Store S3Store
store S3Store
}
func (suite *S3StoreTestSuite) SetupTest() {
suite.Store = S3Store{
suite.store = S3Store{
"bucket",
"table",
&mockS3{},
@@ -53,7 +53,7 @@ func (m *mockS3) PutObject(input *s3.PutObjectInput) (*s3.PutObjectOutput, error
func (suite *S3StoreTestSuite) TestS3StorePut() {
input := "abc"
w := suite.Store.Put()
w := suite.store.Put()
_, err := w.Write([]byte(input))
suite.NoError(err)
@@ -64,19 +64,19 @@ func (suite *S3StoreTestSuite) TestS3StorePut() {
suite.Equal("sha1-a9993e364706816aba3e25717850c26c9cd0d89d", r1.String())
// And reading it via the API should work...
assertInputInStore(input, r1, suite.Store, suite.Assert())
assertInputInStore(input, r1, suite.store, suite.Assert())
// Reading a non-existing ref fails
hash := ref.NewHash()
hash.Write([]byte("Non-existent"))
_, err = suite.Store.Get(ref.FromHash(hash))
_, err = suite.store.Get(ref.FromHash(hash))
suite.Error(err)
}
func (suite *S3StoreTestSuite) TestS3StorePutRefAfterClose() {
input := "abc"
w := suite.Store.Put()
w := suite.store.Put()
_, err := w.Write([]byte(input))
suite.NoError(err)
@@ -88,13 +88,13 @@ func (suite *S3StoreTestSuite) TestS3StorePutRefAfterClose() {
suite.Equal("sha1-a9993e364706816aba3e25717850c26c9cd0d89d", r1.String())
// And reading it via the API should work...
assertInputInStore(input, r1, suite.Store, suite.Assert())
assertInputInStore(input, r1, suite.store, suite.Assert())
}
func (suite *S3StoreTestSuite) TestS3StorePutMultiRef() {
input := "abc"
w := suite.Store.Put()
w := suite.store.Put()
_, err := w.Write([]byte(input))
suite.NoError(err)
@@ -106,7 +106,7 @@ func (suite *S3StoreTestSuite) TestS3StorePutMultiRef() {
suite.Equal("sha1-a9993e364706816aba3e25717850c26c9cd0d89d", r1.String())
// And reading it via the API should work...
assertInputInStore(input, r1, suite.Store, suite.Assert())
assertInputInStore(input, r1, suite.store, suite.Assert())
}
type mockAWSError string
@@ -147,14 +147,14 @@ func (m *mockDDB) PutItem(input *dynamodb.PutItemInput) (*dynamodb.PutItemOutput
func (suite *S3StoreTestSuite) TestS3StoreRoot() {
m := mockDDB("")
suite.Store = S3Store{
suite.store = S3Store{
"bucket",
"table",
nil,
&m,
}
oldRoot := suite.Store.Root()
oldRoot := suite.store.Root()
suite.Equal(oldRoot, ref.Ref{})
bogusRoot, err := ref.Parse("sha1-81c870618113ba29b6f2b396ea3a69c6f1d626c5") // sha1("Bogus, Dude")
@@ -163,17 +163,17 @@ func (suite *S3StoreTestSuite) TestS3StoreRoot() {
suite.NoError(err)
// Try to update root with bogus oldRoot
result := suite.Store.UpdateRoot(newRoot, bogusRoot)
result := suite.store.UpdateRoot(newRoot, bogusRoot)
suite.False(result)
suite.Equal(ref.Ref{}, suite.Store.Root())
suite.Equal(ref.Ref{}, suite.store.Root())
// No do a valid update
result = suite.Store.UpdateRoot(newRoot, oldRoot)
result = suite.store.UpdateRoot(newRoot, oldRoot)
suite.True(result)
suite.Equal(suite.Store.Root(), newRoot)
suite.Equal(suite.store.Root(), newRoot)
// Now that there is a valid root, try to start a new lineage
result = suite.Store.UpdateRoot(bogusRoot, ref.Ref{})
result = suite.store.UpdateRoot(bogusRoot, ref.Ref{})
suite.False(result)
suite.Equal(suite.Store.Root(), newRoot)
suite.Equal(suite.store.Root(), newRoot)
}