github.com/djmaze/goofys@v0.24.2/internal/parse_bucket_test.go (about)

     1  package internal
     2  
     3  import (
     4  	. "gopkg.in/check.v1"
     5  )
     6  
     7  type ParseBucketTest struct{}
     8  
     9  var _ = Suite(&ParseBucketTest{})
    10  
    11  func (s *ParseBucketTest) TestParseBucketSpec(t *C) {
    12  	testCases := []struct {
    13  		input    string
    14  		expected BucketSpec
    15  	}{
    16  		{
    17  			input: "s3://bucketName/hello/everyone",
    18  			expected: BucketSpec{
    19  				Scheme: "s3",
    20  				Bucket: "bucketName",
    21  				Prefix: "hello/everyone/",
    22  			},
    23  		},
    24  		{
    25  			input: "gs://bucketName/hello/everyone",
    26  			expected: BucketSpec{
    27  				Scheme: "gs",
    28  				Bucket: "bucketName",
    29  				Prefix: "hello/everyone/",
    30  			},
    31  		},
    32  		{
    33  			input: "bucketName/hello/everyone",
    34  			expected: BucketSpec{
    35  				Scheme: "s3",
    36  				Bucket: "bucketName/hello/everyone",
    37  				Prefix: "",
    38  			},
    39  		},
    40  	}
    41  
    42  	for _, tc := range testCases {
    43  		spec, err := ParseBucketSpec(tc.input)
    44  		if err != nil {
    45  			log.Fatal(err)
    46  		}
    47  		t.Assert(tc.expected, DeepEquals, spec)
    48  	}
    49  }