Merge branch 'master' into feature/http_client

Original commit: elastic/x-pack-elasticsearch@cb39e935d5
This commit is contained in:
javanna 2016-06-22 09:50:28 +02:00 committed by Luca Cavanna
commit 1ea3397956
1 changed files with 46 additions and 47 deletions

View File

@ -10,13 +10,14 @@ import org.elasticsearch.cli.Terminal;
import org.elasticsearch.common.settings.ClusterSettings; import org.elasticsearch.common.settings.ClusterSettings;
import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.xcontent.ToXContent; import org.elasticsearch.common.xcontent.ToXContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.xpack.common.secret.SecretService; import org.elasticsearch.xpack.common.secret.SecretService;
import java.io.IOException; import java.io.InputStream;
import java.util.Collections; import java.util.Collections;
import java.util.Locale; import java.util.Locale;
import static com.google.common.base.Preconditions.checkNotNull;
@AwaitsFix(bugUrl = "https://github.com/elastic/x-plugins/issues/379") @AwaitsFix(bugUrl = "https://github.com/elastic/x-plugins/issues/379")
public class ManualPublicSmtpServersTester { public class ManualPublicSmtpServersTester {
@ -26,13 +27,13 @@ public class ManualPublicSmtpServersTester {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
test(Profile.GMAIL, Settings.builder() test(Profile.GMAIL, Settings.builder()
.put("xpack.notification.email.service.account.gmail.smtp.auth", true) .put("xpack.notification.email.account.gmail.smtp.auth", true)
.put("xpack.notification.email.service.account.gmail.smtp.starttls.enable", true) .put("xpack.notification.email.account.gmail.smtp.starttls.enable", true)
.put("xpack.notification.email.service.account.gmail.smtp.host", "smtp.gmail.com") .put("xpack.notification.email.account.gmail.smtp.host", "smtp.gmail.com")
.put("xpack.notification.email.service.account.gmail.smtp.port", 587) .put("xpack.notification.email.account.gmail.smtp.port", 587)
.put("xpack.notification.email.service.account.gmail.smtp.user", terminal.readText("username: ")) .put("xpack.notification.email.account.gmail.smtp.user", terminal.readText("username: "))
.put("xpack.notification.email.service.account.gmail.smtp.password", new String(terminal.readSecret("password: "))) .put("xpack.notification.email.account.gmail.smtp.password", new String(terminal.readSecret("password: ")))
.put("xpack.notification.email.service.account.gmail.email_defaults.to", terminal.readText("to: ")) .put("xpack.notification.email.account.gmail.email_defaults.to", terminal.readText("to: "))
); );
} }
} }
@ -41,13 +42,13 @@ public class ManualPublicSmtpServersTester {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
test(Profile.STANDARD, Settings.builder() test(Profile.STANDARD, Settings.builder()
.put("xpack.notification.email.service.account.outlook.smtp.auth", true) .put("xpack.notification.email.account.outlook.smtp.auth", true)
.put("xpack.notification.email.service.account.outlook.smtp.starttls.enable", true) .put("xpack.notification.email.account.outlook.smtp.starttls.enable", true)
.put("xpack.notification.email.service.account.outlook.smtp.host", "smtp-mail.outlook.com") .put("xpack.notification.email.account.outlook.smtp.host", "smtp-mail.outlook.com")
.put("xpack.notification.email.service.account.outlook.smtp.port", 587) .put("xpack.notification.email.account.outlook.smtp.port", 587)
.put("xpack.notification.email.service.account.outlook.smtp.user", "elastic.user@outlook.com") .put("xpack.notification.email.account.outlook.smtp.user", "elastic.user@outlook.com")
.put("xpack.notification.email.service.account.outlook.smtp.password", "fantastic42") .put("xpack.notification.email.account.outlook.smtp.password", "fantastic42")
.put("xpack.notification.email.service.account.outlook.email_defaults.to", "elastic.user@outlook.com") .put("xpack.notification.email.account.outlook.email_defaults.to", "elastic.user@outlook.com")
.put() .put()
); );
} }
@ -57,15 +58,15 @@ public class ManualPublicSmtpServersTester {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
test(Profile.STANDARD, Settings.builder() test(Profile.STANDARD, Settings.builder()
.put("xpack.notification.email.service.account.yahoo.smtp.starttls.enable", true) .put("xpack.notification.email.account.yahoo.smtp.starttls.enable", true)
.put("xpack.notification.email.service.account.yahoo.smtp.auth", true) .put("xpack.notification.email.account.yahoo.smtp.auth", true)
.put("xpack.notification.email.service.account.yahoo.smtp.host", "smtp.mail.yahoo.com") .put("xpack.notification.email.account.yahoo.smtp.host", "smtp.mail.yahoo.com")
.put("xpack.notification.email.service.account.yahoo.smtp.port", 587) .put("xpack.notification.email.account.yahoo.smtp.port", 587)
.put("xpack.notification.email.service.account.yahoo.smtp.user", "elastic.user@yahoo.com") .put("xpack.notification.email.account.yahoo.smtp.user", "elastic.user@yahoo.com")
.put("xpack.notification.email.service.account.yahoo.smtp.password", "fantastic42") .put("xpack.notification.email.account.yahoo.smtp.password", "fantastic42")
// note: from must be set to the same authenticated user account // note: from must be set to the same authenticated user account
.put("xpack.notification.email.service.account.yahoo.email_defaults.from", "elastic.user@yahoo.com") .put("xpack.notification.email.account.yahoo.email_defaults.from", "elastic.user@yahoo.com")
.put("xpack.notification.email.service.account.yahoo.email_defaults.to", "elastic.user@yahoo.com") .put("xpack.notification.email.account.yahoo.email_defaults.to", "elastic.user@yahoo.com")
); );
} }
} }
@ -75,42 +76,40 @@ public class ManualPublicSmtpServersTester {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
test(Profile.STANDARD, Settings.builder() test(Profile.STANDARD, Settings.builder()
.put("xpack.notification.email.service.account.ses.smtp.auth", true) .put("xpack.notification.email.account.ses.smtp.auth", true)
.put("xpack.notification.email.service.account.ses.smtp.starttls.enable", true) .put("xpack.notification.email.account.ses.smtp.starttls.enable", true)
.put("xpack.notification.email.service.account.ses.smtp.starttls.required", true) .put("xpack.notification.email.account.ses.smtp.starttls.required", true)
.put("xpack.notification.email.service.account.ses.smtp.host", "email-smtp.us-east-1.amazonaws.com") .put("xpack.notification.email.account.ses.smtp.host", "email-smtp.us-east-1.amazonaws.com")
.put("xpack.notification.email.service.account.ses.smtp.port", 587) .put("xpack.notification.email.account.ses.smtp.port", 587)
.put("xpack.notification.email.service.account.ses.smtp.user", terminal.readText("user: ")) .put("xpack.notification.email.account.ses.smtp.user", terminal.readText("user: "))
.put("xpack.notification.email.service.account.ses.email_defaults.from", "dummy.user@elasticsearch.com") .put("xpack.notification.email.account.ses.email_defaults.from", "dummy.user@elasticsearch.com")
.put("xpack.notification.email.service.account.ses.email_defaults.to", terminal.readText("to: ")) .put("xpack.notification.email.account.ses.email_defaults.to", terminal.readText("to: "))
.put("xpack.notification.email.service.account.ses.smtp.password", .put("xpack.notification.email.account.ses.smtp.password",
new String(terminal.readSecret("password: "))) new String(terminal.readSecret("password: ")))
); );
} }
} }
static void test(Profile profile, Settings.Builder builder) throws Exception { static void test(Profile profile, Settings.Builder settingsBuilder) throws Exception {
InternalEmailService service = startEmailService(builder); String path = "/org/elasticsearch/xpack/watcher/actions/email/service/logo.png";
checkNotNull(InternalEmailServiceTests.class.getResourceAsStream(path));
InternalEmailService service = startEmailService(settingsBuilder);
try { try {
ToXContent content = new ToXContent() { ToXContent content = (xContentBuilder, params) -> xContentBuilder.startObject()
@Override .field("key1", "value1")
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { .field("key2", "value2")
return builder.startObject() .field("key3", "value3")
.field("key1", "value1") .endObject();
.field("key2", "value2")
.field("key3", "value3")
.endObject();
}
};
Email email = Email.builder() Email email = Email.builder()
.id("_id") .id("_id")
.subject("_subject") .subject("_subject")
.textBody("_text_body") .textBody("_text_body")
.htmlBody("<b>html body</b><p/><p/><img src=\"cid:logo\"/>") .htmlBody("<b>html body</b><p/><p/><img src=\"cid:logo.png\"/>")
.attach(new Attachment.XContent.Yaml("test.yml", content)) .attach(new Attachment.XContent.Yaml("test.yml", content))
.inline(new Inline.Stream("logo", "logo.jpg", () -> InternalEmailServiceTests.class.getResourceAsStream("logo.png"))) .inline(new Inline.Stream("logo.png", "logo.png", () -> InternalEmailServiceTests.class.getResourceAsStream(path)))
.build(); .build();
EmailService.EmailSent sent = service.send(email, null, profile); EmailService.EmailSent sent = service.send(email, null, profile);