MCPcopy Create free account
hub / github.com/AdRoll/baker / TestS3ListChoosePathComponents

Function TestS3ListChoosePathComponents

input/inpututils/s3_test.go:11–54  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9const DefaultS3Scheme = "s3"
10
11func TestS3ListChoosePathComponents(t *testing.T) {
12 var testCases = []struct {
13 // Input test path
14 path string
15 // Expected values
16 scheme string
17 bucket string
18 key string
19 isSuccessful bool
20 }{
21 {"s3://bucket1/dir1/file1", DefaultS3Scheme, "bucket1", "dir1/file1", true},
22 {"s3://bucket2/dir2/subdir2/file2", DefaultS3Scheme, "bucket2", "dir2/subdir2/file2", true},
23 {"s3://bucket3/dir3/subdir3/subsubdir3/file3", DefaultS3Scheme, "bucket3", "dir3/subdir3/subsubdir3/file3", true},
24 {"s3://bucket5/dir / 5", DefaultS3Scheme, "bucket5", "dir / 5", true},
25 {"s3a://bucket5/dir / 5", DefaultS3Scheme + "a", "bucket5", "dir / 5", true},
26 {"s3n://bucket5/dir / 5", DefaultS3Scheme + "n", "bucket5", "dir / 5", true},
27 {"s3://bucket4", "", "", "", false},
28 {"s3://buck e t 5/dir / 5", "", "", "", false},
29 {"s:3://bucket6/dir/6", "", "", "", false},
30 {"s://:3://bucket7/dir/7", "", "", "", false},
31 {"dadwdwdwq :dqw//Dwqdwqdwq ", "", "", "", false},
32 }
33 s3Input, err := NewS3Input("some-region", "some-bucket")
34 if err != nil {
35 t.Fatal(err)
36 }
37 for _, testCase := range testCases {
38 path := testCase.path
39 expectedBucket := testCase.bucket
40 expectedKey := testCase.key
41 expectedScheme := testCase.scheme
42 expectedIsSuccessful := testCase.isSuccessful
43 t.Run(path, func(t *testing.T) {
44 scheme, bucket, key, err := s3Input.choosePathComponents(path)
45 isSuccessful := true
46 if err != nil {
47 isSuccessful = false
48 }
49 if expectedBucket != bucket || expectedKey != key || expectedIsSuccessful != isSuccessful || expectedScheme != scheme {
50 t.Errorf("For path '%s' scheme '%s' bucket '%s' key '%s' success '%t' were expected, got '%s', '%s', '%s','%t'", path, expectedScheme, expectedBucket, expectedKey, expectedIsSuccessful, scheme, bucket, key, isSuccessful)
51 }
52 })
53 }
54}
55
56func TestS3ListChoosePathComponentsErrType(t *testing.T) {
57 tests := []struct {

Callers

nothing calls this directly

Calls 3

choosePathComponentsMethod · 0.95
NewS3InputFunction · 0.85
RunMethod · 0.65

Tested by

no test coverage detected