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 }