blob: b39e3bed7bbad72291710e1394dd935f7bc6d05f [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;
/**
* Provides a raw message payload and a parsed {@code MailMessage} to check that mime parts that are
* neither text/plain, nor * text/html are dropped.
*/
@Ignore
public class AttachmentMessage extends RawMailMessage {
private static String raw =
"MIME-Version: 1.0\n"
+ "Date: Tue, 25 Oct 2016 02:11:35 -0700\n"
+ "Message-ID: <CAM7sg=3meaAVUxW3KXeJEVs8sv_ADw1BnvpcHHiYVR2TQQi__w"
+ "@mail.gmail.com>\n"
+ "Subject: Test Subject\n"
+ "From: Patrick Hiesel <hiesel@google.com>\n"
+ "To: Patrick Hiesel <hiesel@google.com>\n"
+ "Content-Type: multipart/mixed; boundary=001a114e019a56962d054062708f\n"
+ "\n"
+ "--001a114e019a56962d054062708f\n"
+ "Content-Type: multipart/alternative; boundary=001a114e019a5696250540"
+ "62708d\n"
+ "\n"
+ "--001a114e019a569625054062708d\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "\n"
+ "Contains unwanted attachment"
+ "\n"
+ "--001a114e019a569625054062708d\n"
+ "Content-Type: text/html; charset=UTF-8\n"
+ "\n"
+ "<div dir=\"ltr\">Contains unwanted attachment</div>"
+ "\n"
+ "--001a114e019a569625054062708d--\n"
+ "--001a114e019a56962d054062708f\n"
+ "Content-Type: text/plain; charset=US-ASCII; name=\"test.txt\"\n"
+ "Content-Disposition: attachment; filename=\"test.txt\"\n"
+ "Content-Transfer-Encoding: base64\n"
+ "X-Attachment-Id: f_iv264bt50\n"
+ "\n"
+ "VEVTVAo=\n"
+ "--001a114e019a56962d054062708f--";
@Override
public String raw() {
return raw;
}
@Override
public int[] rawChars() {
return null;
}
@Override
public MailMessage expectedMailMessage() {
System.out.println("\uD83D\uDE1B test");
MailMessage.Builder expect = MailMessage.builder();
expect
.id("<CAM7sg=3meaAVUxW3KXeJEVs8sv_ADw1BnvpcHHiYVR2TQQi__w@mail.gmail.com>")
.from(Address.create("Patrick Hiesel", "hiesel@google.com"))
.addTo(Address.create("Patrick Hiesel", "hiesel@google.com"))
.textContent("Contains unwanted attachment")
.htmlContent("<div dir=\"ltr\">Contains unwanted attachment</div>")
.subject("Test Subject")
.addAdditionalHeader("MIME-Version: 1.0")
.dateReceived(
LocalDateTime.of(2016, Month.OCTOBER, 25, 9, 11, 35)
.atOffset(ZoneOffset.UTC)
.toInstant());
return expect.build();
}
}