(t *testing.T)
| 91 | } |
| 92 | |
| 93 | func TestMiddleware(t *testing.T) { |
| 94 | a := assertions.New(t) |
| 95 | |
| 96 | rec := newRecorder() |
| 97 | logger := &Logger{ |
| 98 | Level: InfoLevel, |
| 99 | Handler: rec, |
| 100 | } |
| 101 | |
| 102 | before := []int{} |
| 103 | after := []int{} |
| 104 | |
| 105 | logger.Use(MiddlewareFunc(func(next Handler) Handler { |
| 106 | return HandlerFunc(func(entry Entry) error { |
| 107 | before = append(before, 1) |
| 108 | err := next.HandleLog(entry) |
| 109 | after = append(after, 1) |
| 110 | |
| 111 | return err |
| 112 | }) |
| 113 | })) |
| 114 | |
| 115 | logger.Info("Hey!") |
| 116 | |
| 117 | a.So(before, should.Resemble, []int{1}) |
| 118 | a.So(after, should.Resemble, []int{1}) |
| 119 | |
| 120 | a.So(rec.entries, should.HaveLength, 1) |
| 121 | |
| 122 | // reset |
| 123 | before = []int{} |
| 124 | after = []int{} |
| 125 | |
| 126 | logger.Use(MiddlewareFunc(func(next Handler) Handler { |
| 127 | return HandlerFunc(func(entry Entry) error { |
| 128 | before = append(before, 2) |
| 129 | err := next.HandleLog(entry) |
| 130 | after = append(after, 2) |
| 131 | |
| 132 | return err |
| 133 | }) |
| 134 | })) |
| 135 | |
| 136 | logger.Info("Hey!") |
| 137 | |
| 138 | a.So(before, should.Resemble, []int{1, 2}) |
| 139 | a.So(after, should.Resemble, []int{2, 1}) |
| 140 | |
| 141 | a.So(rec.entries, should.HaveLength, 2) |
| 142 | } |
nothing calls this directly
no test coverage detected