blob: 20d8076c80443162b17c2903acd17af77ba9654e [file] [log] [blame]
// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.gerrit.mail.data;
import com.google.gerrit.entities.Address;
import com.google.gerrit.mail.MailMessage;
import java.time.LocalDateTime;
import java.time.Month;
import java.time.ZoneOffset;
import org.junit.Ignore;
/** Tests parsing a simple text message with different headers. */
@Ignore
public class SimpleTextMessage extends RawMailMessage {
private static String textContent =
""
+ "Jonathan Nieder has posted comments on this change. ( \n"
+ "https://gerrit-review.googlesource.com/90018 )\n"
+ "\n"
+ "Change subject: (Re)enable voting buttons for merged changes\n"
+ "...........................................................\n"
+ "\n"
+ "\n"
+ "Patch Set 2:\n"
+ "\n"
+ "This is producing NPEs server-side and 500s for the client. \n"
+ "when I try to load this change:\n"
+ "\n"
+ " Error in GET /changes/90018/detail?O=10004\n"
+ " com.google.gerrit.exceptions.StorageException: java.lang.NullPointerException\n"
+ "\tat com.google.gerrit.change.ChangeJson.format(ChangeJson.java:303)\n"
+ "\tat com.google.gerrit.change.ChangeJson.format(ChangeJson.java:285)\n"
+ "\tat com.google.gerrit.change.ChangeJson.format(ChangeJson.java:263)\n"
+ "\tat com.google.gerrit.change.GetChange.apply(GetChange.java:50)\n"
+ "\tat com.google.gerrit.change.GetDetail.apply(GetDetail.java:51)\n"
+ "\tat com.google.gerrit.change.GetDetail.apply(GetDetail.java:26)\n"
+ "\tat \n"
+ "com.google.gerrit.RestApiServlet.service(RestApiServlet.java:367)\n"
+ "\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:717)\n"
+ "[...]\n"
+ " Caused by: java.lang.NullPointerException\n"
+ "\tat \n"
+ "com.google.gerrit.ChangeJson.setLabelScores(ChangeJson.java:670)\n"
+ "\tat \n"
+ "com.google.gerrit.ChangeJson.labelsFor(ChangeJson.java:845)\n"
+ "\tat \n"
+ "com.google.gerrit.change.ChangeJson.labelsFor(ChangeJson.java:598)\n"
+ "\tat \n"
+ "com.google.gerrit.change.ChangeJson.toChange(ChangeJson.java:499)\n"
+ "\tat com.google.gerrit.change.ChangeJson.format(ChangeJson.java:294)\n"
+ "\t... 105 more\n"
+ "-- \n"
+ "To view, visit https://gerrit-review.googlesource.com/90018\n"
+ "To unsubscribe, visit https://gerrit-review.googlesource.com\n"
+ "\n"
+ "Gerrit-MessageType: comment\n"
+ "Gerrit-Change-Id: Iba501e00bee77be3bd0ced72f88fd04ba0accaed\n"
+ "Gerrit-PatchSet: 2\n"
+ "Gerrit-Project: gerrit\n"
+ "Gerrit-Branch: master\n"
+ "Gerrit-Owner: ekempin <ekempin@google.com>\n"
+ "Gerrit-Reviewer: Dave Borowitz <dborowitz@google.com>\n"
+ "Gerrit-Reviewer: Edwin Kempin <ekempin@google.com>\n"
+ "Gerrit-Reviewer: GerritForge CI <gerritforge@gmail.com>\n"
+ "Gerrit-Reviewer: Jonathan Nieder <jrn@google.com>\n"
+ "Gerrit-Reviewer: Patrick Hiesel <hiesel@google.com>\n"
+ "Gerrit-Reviewer: ekempin <ekempin@google.com>\n"
+ "Gerrit-HasComments: No";
private static String raw =
""
+ "Authentication-Results: mx.google.com; dkim=pass header.i="
+ "@google.com;\n"
+ "Date: Tue, 25 Oct 2016 02:11:35 -0700\n"
+ "In-Reply-To: <gerrit.1477487889000.Iba501e00bee77be3bd0ced"
+ "72f88fd04ba0accaed@gerrit-review.googlesource.com>\n"
+ "References: <gerrit.1477487889000.Iba501e00bee77be3bd0ced72f8"
+ "8fd04ba0accaed@gerrit-review.googlesource.com>\n"
+ "Message-ID: <001a114da7ae26e2eb053fe0c29c@google.com>\n"
+ "Subject: Change in gerrit[master]: (Re)enable voting buttons for "
+ "merged changes\n"
+ "From: \"Jonathan Nieder (Gerrit)\" <noreply-gerritcodereview-CtTy0"
+ "igsBrnvL7dKoWEIEg@google.com>\n"
+ "To: ekempin <ekempin@google.com>\n"
+ "Cc: Dave Borowitz <dborowitz@google.com>, Jonathan Nieder "
+ "<jrn@google.com>, Patrick Hiesel <hiesel@google.com>\n"
+ "Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes\n"
+ "\n"
+ textContent;
@Override
public String raw() {
return raw;
}
@Override
public int[] rawChars() {
return null;
}
@Override
public MailMessage expectedMailMessage() {
MailMessage.Builder expect = MailMessage.builder();
expect
.id("<001a114da7ae26e2eb053fe0c29c@google.com>")
.from(
Address.create(
"Jonathan Nieder (Gerrit)",
"noreply-gerritcodereview-CtTy0igsBrnvL7dKoWEIEg@google.com"))
.addTo(Address.create("ekempin", "ekempin@google.com"))
.addCc(Address.create("Dave Borowitz", "dborowitz@google.com"))
.addCc(Address.create("Jonathan Nieder", "jrn@google.com"))
.addCc(Address.create("Patrick Hiesel", "hiesel@google.com"))
.textContent(textContent)
.subject("Change in gerrit[master]: (Re)enable voting buttons for merged changes")
.dateReceived(
LocalDateTime.of(2016, Month.OCTOBER, 25, 9, 11, 35)
.atOffset(ZoneOffset.UTC)
.toInstant())
.addAdditionalHeader(
"Authentication-Results: mx.google.com; dkim=pass header.i=@google.com;")
.addAdditionalHeader(
"In-Reply-To: <gerrit.1477487889000.Iba501e00bee"
+ "77be3bd0ced72f88fd04ba0accaed@gerrit-review.googlesource.com>")
.addAdditionalHeader(
"References: <gerrit.1477487889000.Iba501e00bee"
+ "77be3bd0ced72f88fd04ba0accaed@gerrit-review.googlesource.com>");
return expect.build();
}
}