メール受信のテストをMailTrapでやってみた。
Photo by Brett Jordan on Unsplash
gmailとMailSlurpについては、メールSubjectや本文について自動テストに取り入れることで、WebUIの自動テストに、会員情報ページの検証等でも適用できることが判ったので、今回、MailTrapという擬SMTPも使ってみました。
MailSlurpについては専用clientが利用できるのでテストコードは比較的容易に記述できたのですが、MailTrapについてはAPIが公開されているのみで、httpsでGETして返信を処理するといったことを自前でやる必要がありました。
実は組込みのAPI検証で、JavaでcURLを送信して返信を受け取るということをやっていたので、Node.jsのhttpsモジュールは、便利に思えました。Javaの場合はノン・ブロックモードにするための手法があったのですが、Node.jsは基本的にノン・ブロックモードな点も新鮮ですね。
ノン・ブロックが基本だと、それなりの工夫(Promise化)も新たなスキルとして習得する必要があるのですが、今回、カットシステム「詳細 Node.js APIリファレンスと用例」という書籍に出会って、非常に助かりました。比較的新しい書籍ですので、用例で使われているNode.jsのモジュールも新しいもので紹介されていました。MailTrapのAPIでは request というモジュールを使った用例が紹介されていたのですが、この書籍で扱われていた http を使って旨くできました。
当たり前かもしれませんが、何か新しいことに取り組もうとすれば、どうしても壁にぶつかり、スキルアップの機会になるのだと思います。