(t *testing.T)
| 1175 | } |
| 1176 | |
| 1177 | func TestOffsetStash(t *testing.T) { |
| 1178 | const topic = "topic" |
| 1179 | |
| 1180 | newMessage := func(partition int, offset int64) Message { |
| 1181 | return Message{ |
| 1182 | Topic: topic, |
| 1183 | Partition: partition, |
| 1184 | Offset: offset, |
| 1185 | } |
| 1186 | } |
| 1187 | |
| 1188 | tests := map[string]struct { |
| 1189 | Given offsetStash |
| 1190 | Messages []Message |
| 1191 | Expected offsetStash |
| 1192 | }{ |
| 1193 | "nil": {}, |
| 1194 | "empty given, single message": { |
| 1195 | Given: offsetStash{}, |
| 1196 | Messages: []Message{newMessage(0, 0)}, |
| 1197 | Expected: offsetStash{ |
| 1198 | topic: {0: 1}, |
| 1199 | }, |
| 1200 | }, |
| 1201 | "ignores earlier offsets": { |
| 1202 | Given: offsetStash{ |
| 1203 | topic: {0: 2}, |
| 1204 | }, |
| 1205 | Messages: []Message{newMessage(0, 0)}, |
| 1206 | Expected: offsetStash{ |
| 1207 | topic: {0: 2}, |
| 1208 | }, |
| 1209 | }, |
| 1210 | "uses latest offset": { |
| 1211 | Given: offsetStash{}, |
| 1212 | Messages: []Message{ |
| 1213 | newMessage(0, 2), |
| 1214 | newMessage(0, 3), |
| 1215 | newMessage(0, 1), |
| 1216 | }, |
| 1217 | Expected: offsetStash{ |
| 1218 | topic: {0: 4}, |
| 1219 | }, |
| 1220 | }, |
| 1221 | "uses latest offset, across multiple topics": { |
| 1222 | Given: offsetStash{}, |
| 1223 | Messages: []Message{ |
| 1224 | newMessage(0, 2), |
| 1225 | newMessage(0, 3), |
| 1226 | newMessage(0, 1), |
| 1227 | newMessage(1, 5), |
| 1228 | newMessage(1, 6), |
| 1229 | }, |
| 1230 | Expected: offsetStash{ |
| 1231 | topic: { |
| 1232 | 0: 4, |
| 1233 | 1: 7, |
| 1234 | }, |
nothing calls this directly
no test coverage detected