Skip to content

Commit

Permalink
shorten code in bucket-handle unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
gargnitingoogle committed Oct 2, 2024
1 parent c563cf6 commit 28c8bfe
Showing 1 changed file with 19 additions and 40 deletions.
59 changes: 19 additions & 40 deletions internal/storage/bucket_handle_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,16 @@ var ContentDisposition string = "ContentDisposition"
// Hence, we are not writing tests for these flows.
// https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/vendor/github.com/fsouza/fake-gcs-server/fakestorage/object.go#L515

func objectsToObjectNames(objects []*gcs.Object) (objectNames []string) {
objectNames = make([]string, len(objects))
for i, object := range objects {
if object != nil {
objectNames[i] = object.Name
}
}
return
}

type BucketHandleTest struct {
suite.Suite
bucketHandle *bucketHandle
Expand Down Expand Up @@ -447,13 +457,9 @@ func (testSuite *BucketHandleTest) TestListObjectMethodWithPrefixObjectExist() {
})

assert.Nil(testSuite.T(), err)
assert.Equal(testSuite.T(), 4, len(obj.Objects))
assert.Equal(testSuite.T(), 1, len(obj.CollapsedRuns))
assert.Equal(testSuite.T(), TestObjectRootFolderName, obj.Objects[0].Name)
assert.Equal(testSuite.T(), TestObjectSubRootFolderName, obj.Objects[1].Name)
assert.Equal(testSuite.T(), TestObjectName, obj.Objects[2].Name)
assert.Equal(testSuite.T(), []string{TestObjectRootFolderName, TestObjectSubRootFolderName, TestObjectName, TestGzipObjectName}, objectsToObjectNames(obj.Objects))
assert.Equal(testSuite.T(), TestObjectGeneration, obj.Objects[0].Generation)
assert.Equal(testSuite.T(), TestObjectSubRootFolderName, obj.CollapsedRuns[0])
assert.Equal(testSuite.T(), []string{TestObjectSubRootFolderName}, obj.CollapsedRuns)
}

func (testSuite *BucketHandleTest) TestListObjectMethodWithPrefixObjectDoesNotExist() {
Expand Down Expand Up @@ -484,12 +490,8 @@ func (testSuite *BucketHandleTest) TestListObjectMethodWithIncludeTrailingDelimi
})

assert.Nil(testSuite.T(), err)
assert.Equal(testSuite.T(), 3, len(obj.Objects))
assert.Equal(testSuite.T(), 1, len(obj.CollapsedRuns))
assert.Equal(testSuite.T(), TestObjectRootFolderName, obj.Objects[0].Name)
assert.Equal(testSuite.T(), TestObjectName, obj.Objects[1].Name)
assert.Equal(testSuite.T(), TestGzipObjectName, obj.Objects[2].Name)
assert.Equal(testSuite.T(), TestObjectSubRootFolderName, obj.CollapsedRuns[0])
assert.Equal(testSuite.T(), []string{TestObjectRootFolderName, TestObjectName, TestGzipObjectName}, objectsToObjectNames(obj.Objects))
assert.Equal(testSuite.T(), []string{TestObjectSubRootFolderName}, obj.CollapsedRuns)
}

// If Delimiter is empty, all the objects will appear with same prefix.
Expand All @@ -505,12 +507,7 @@ func (testSuite *BucketHandleTest) TestListObjectMethodWithEmptyDelimiter() {
})

assert.Nil(testSuite.T(), err)
assert.Equal(testSuite.T(), 5, len(obj.Objects))
assert.Equal(testSuite.T(), TestObjectRootFolderName, obj.Objects[0].Name)
assert.Equal(testSuite.T(), TestObjectSubRootFolderName, obj.Objects[1].Name)
assert.Equal(testSuite.T(), TestSubObjectName, obj.Objects[2].Name)
assert.Equal(testSuite.T(), TestObjectName, obj.Objects[3].Name)
assert.Equal(testSuite.T(), TestGzipObjectName, obj.Objects[4].Name)
assert.Equal(testSuite.T(), []string{TestObjectRootFolderName, TestObjectSubRootFolderName, TestSubObjectName, TestObjectName, TestGzipObjectName}, objectsToObjectNames(obj.Objects))
assert.Equal(testSuite.T(), TestObjectGeneration, obj.Objects[0].Generation)
assert.Nil(testSuite.T(), obj.CollapsedRuns)
}
Expand Down Expand Up @@ -539,12 +536,7 @@ func (testSuite *BucketHandleTest) TestListObjectMethodForMaxResult() {

// Validate that 5 objects are listed when MaxResults is passed 5.
assert.Nil(testSuite.T(), err)
assert.Equal(testSuite.T(), 5, len(fiveObj.Objects))
assert.Equal(testSuite.T(), TestObjectRootFolderName, fiveObj.Objects[0].Name)
assert.Equal(testSuite.T(), TestObjectSubRootFolderName, fiveObj.Objects[1].Name)
assert.Equal(testSuite.T(), TestSubObjectName, fiveObj.Objects[2].Name)
assert.Equal(testSuite.T(), TestObjectName, fiveObj.Objects[3].Name)
assert.Equal(testSuite.T(), TestGzipObjectName, fiveObj.Objects[4].Name)
assert.Equal(testSuite.T(), []string{TestObjectRootFolderName, TestObjectSubRootFolderName, TestSubObjectName, TestObjectName, TestGzipObjectName}, objectsToObjectNames(fiveObj.Objects))
assert.Nil(testSuite.T(), fiveObj.CollapsedRuns)

// Note: The behavior is different in real GCS storage JSON API. In real API,
Expand All @@ -554,10 +546,7 @@ func (testSuite *BucketHandleTest) TestListObjectMethodForMaxResult() {
// This is because fake storage doesn'testSuite support pagination and hence maxResults
// has no affect.
assert.Nil(testSuite.T(), err2)
assert.Equal(testSuite.T(), 3, len(threeObj.Objects))
assert.Equal(testSuite.T(), TestObjectRootFolderName, threeObj.Objects[0].Name)
assert.Equal(testSuite.T(), TestObjectName, threeObj.Objects[1].Name)
assert.Equal(testSuite.T(), TestGzipObjectName, threeObj.Objects[2].Name)
assert.Equal(testSuite.T(), []string{TestObjectRootFolderName, TestObjectName, TestGzipObjectName}, objectsToObjectNames(threeObj.Objects))
assert.Equal(testSuite.T(), 1, len(threeObj.CollapsedRuns))
}

Expand Down Expand Up @@ -586,12 +575,7 @@ func (testSuite *BucketHandleTest) TestListObjectMethodWithMissingMaxResult() {

// Validate that all objects (5) are listed when MaxResults is not passed.
assert.Nil(testSuite.T(), err2)
assert.Equal(testSuite.T(), 5, len(fiveObjWithoutMaxResults.Objects))
assert.Equal(testSuite.T(), TestObjectRootFolderName, fiveObjWithoutMaxResults.Objects[0].Name)
assert.Equal(testSuite.T(), TestObjectSubRootFolderName, fiveObjWithoutMaxResults.Objects[1].Name)
assert.Equal(testSuite.T(), TestSubObjectName, fiveObjWithoutMaxResults.Objects[2].Name)
assert.Equal(testSuite.T(), TestObjectName, fiveObjWithoutMaxResults.Objects[3].Name)
assert.Equal(testSuite.T(), TestGzipObjectName, fiveObjWithoutMaxResults.Objects[4].Name)
assert.Equal(testSuite.T(), []string{TestObjectRootFolderName, TestObjectSubRootFolderName, TestSubObjectName, TestObjectName, TestGzipObjectName}, objectsToObjectNames(fiveObjWithoutMaxResults.Objects))
assert.Nil(testSuite.T(), fiveObjWithoutMaxResults.CollapsedRuns)
}

Expand Down Expand Up @@ -622,12 +606,7 @@ func (testSuite *BucketHandleTest) TestListObjectMethodWithZeroMaxResult() {
// Validate that all objects (5) are listed when MaxResults is 0. This has
// same behavior as not passing MaxResults in request.
assert.Nil(testSuite.T(), err2)
assert.Equal(testSuite.T(), 5, len(fiveObjWithZeroMaxResults.Objects))
assert.Equal(testSuite.T(), TestObjectRootFolderName, fiveObjWithZeroMaxResults.Objects[0].Name)
assert.Equal(testSuite.T(), TestObjectSubRootFolderName, fiveObjWithZeroMaxResults.Objects[1].Name)
assert.Equal(testSuite.T(), TestSubObjectName, fiveObjWithZeroMaxResults.Objects[2].Name)
assert.Equal(testSuite.T(), TestObjectName, fiveObjWithZeroMaxResults.Objects[3].Name)
assert.Equal(testSuite.T(), TestGzipObjectName, fiveObjWithZeroMaxResults.Objects[4].Name)
assert.Equal(testSuite.T(), []string{TestObjectRootFolderName, TestObjectSubRootFolderName, TestSubObjectName, TestObjectName, TestGzipObjectName}, objectsToObjectNames(fiveObjWithZeroMaxResults.Objects))
assert.Nil(testSuite.T(), fiveObjWithZeroMaxResults.CollapsedRuns)
}

Expand Down

0 comments on commit 28c8bfe

Please sign in to comment.