(t *testing.T)
| 27 | } |
| 28 | |
| 29 | func TestLogs(t *testing.T) { |
| 30 | var buf bytes.Buffer |
| 31 | log.AddHook(&writer.Hook{ // Send logs with level higher than warning to stderr |
| 32 | Writer: &buf, |
| 33 | LogLevels: []log.Level{ |
| 34 | log.PanicLevel, |
| 35 | log.FatalLevel, |
| 36 | log.ErrorLevel, |
| 37 | log.WarnLevel, |
| 38 | log.InfoLevel, |
| 39 | }, |
| 40 | }) |
| 41 | |
| 42 | tests := []struct { |
| 43 | name string |
| 44 | b bucket.Bucket |
| 45 | enum bool |
| 46 | expected string |
| 47 | }{ |
| 48 | {name: "enumerated, public-read, empty", b: bucket.Bucket{ |
| 49 | Name: "test-logging", |
| 50 | Exists: bucket.BucketExists, |
| 51 | ObjectsEnumerated: true, |
| 52 | NumObjects: 0, |
| 53 | BucketSize: 0, |
| 54 | PermAllUsersRead: bucket.PermissionAllowed, |
| 55 | }, enum: true, expected: "exists | test-logging | | AuthUsers: [] | AllUsers: [READ] | 0 objects (0 B)"}, |
| 56 | {name: "enumerated, closed", b: bucket.Bucket{ |
| 57 | Name: "enumerated-closed", |
| 58 | Exists: bucket.BucketExists, |
| 59 | ObjectsEnumerated: true, |
| 60 | NumObjects: 0, |
| 61 | BucketSize: 0, |
| 62 | PermAllUsersRead: bucket.PermissionDenied, |
| 63 | }, enum: true, expected: "exists | enumerated-closed | | AuthUsers: [] | AllUsers: [] | 0 objects (0 B)"}, |
| 64 | {name: "closed", b: bucket.Bucket{ |
| 65 | Name: "no-enumerate-closed", |
| 66 | Exists: bucket.BucketExists, |
| 67 | ObjectsEnumerated: false, |
| 68 | PermAllUsersRead: bucket.PermissionDenied, |
| 69 | }, enum: true, expected: "exists | no-enumerate-closed | | AuthUsers: [] | AllUsers: []"}, |
| 70 | {name: "no-enum-not-exist", b: bucket.Bucket{ |
| 71 | Name: "no-enum-not-exist", |
| 72 | Exists: bucket.BucketNotExist, |
| 73 | }, enum: false, expected: "not_exist | no-enum-not-exist"}, |
| 74 | } |
| 75 | |
| 76 | for _, tt := range tests { |
| 77 | t.Run(tt.name, func(t2 *testing.T) { |
| 78 | PrintResult(&tt.b, false) |
| 79 | assert.Contains(t2, buf.String(), tt.expected) |
| 80 | }) |
| 81 | } |
| 82 | } |
nothing calls this directly
no test coverage detected