diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-09-18 16:40:40 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-09-18 16:40:40 +0200 |
commit | 608ca56971e61216b53c1184f82d5974debef431 (patch) | |
tree | 6ea004712f718b05fdb972986808f61c769b3db1 | |
parent | 7e814691df005b6992b4c0e8352ff95e8775bf8d (diff) |
Add unit test to document inaccurate reply merging on TAS failed
-rw-r--r-- | documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/ReplyMergerTestCase.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/ReplyMergerTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/ReplyMergerTestCase.java index 9172752760d..157b4a6585b 100644 --- a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/ReplyMergerTestCase.java +++ b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/ReplyMergerTestCase.java @@ -182,6 +182,26 @@ public class ReplyMergerTestCase { } @Test + // TODO: This seems wrong, and is probably a consequence of TAS being added later than this logic was written. + public void returnErrorDocumentReplyWhereDocWasFoundWhichIsProbablyWrong() { + Error e1 = new Error(DocumentProtocol.ERROR_TEST_AND_SET_CONDITION_FAILED, "fail"); + UpdateDocumentReply r1 = new UpdateDocumentReply(); + UpdateDocumentReply r2 = new UpdateDocumentReply(); + UpdateDocumentReply r3 = new UpdateDocumentReply(); + r1.addError(e1); // return error + r2.setWasFound(true); + r3.setWasFound(true); + + merger.merge(0, r1); + merger.merge(1, r2); + merger.merge(2, r3); + Tuple2<Integer, Reply> ret = merger.mergedReply(); + assertNull(ret.first); + assertNotSame(r1, ret.second); + assertThatErrorsMatch(new Error[] { e1 }, ret); + } + + @Test public void returnUpdateDocumentReplyWhereDocWasFound() { UpdateDocumentReply r1 = new UpdateDocumentReply(); UpdateDocumentReply r2 = new UpdateDocumentReply(); |