DKIM署名を含むメールのユニットテスト
「LaravelでメールをDKIM署名」で作成したメールのDKIM署名が正しいかどうかを判断するには、Gmailアプリなら受信したメールの「メッセージのソースの表示」でDKIMがPASSあるいはFAILで判定が表示されるのでわかります。しかし、ユニットテストでそれと同様な判断するにはどうしたらよいのか、というのが今回のお話です。
「LaravelでメールをDKIM署名」で作成したメールのDKIM署名が正しいかどうかを判断するには、Gmailアプリなら受信したメールの「メッセージのソースの表示」でDKIMがPASSあるいはFAILで判定が表示されるのでわかります。しかし、ユニットテストでそれと同様な判断するにはどうしたらよいのか、というのが今回のお話です。
前回においてGoogle Cloudを通じてGoogle Analyticsへのアクセス認証のお膳立てができたとろで、今回は目的のデータ取得のコマンドの開発です。
このブログサイトのページの右側には、TRENDINGと称してGoogle Analytics(GA4)から取得した過去28日間の人気の記事のトップ10を掲載しています。これは、Google Analytics Data APIを使用して取得したデータです。その取得方をいくつかに分けて説明します。Google Cloudの認証は複雑なので今回はその設定を説明し、次回にAPIを使用してデータを取得を説明します。
ローカル環境におけるメール送信部分を確認する際に以前の記事でMailtrapやMailhogを活用した方法を紹介していますが、もっと原始的且つ手っ取り早い方法としてLogに出力して確認するというオプションもあります。今回はそちらの方法をご紹介致します。
前回の画面表示テストに続き、今回もLaravelユーザー認証のテストです。正しいEメールとパスワードでログインが成功するケースと、間違ったパスワードでログインしログインに失敗する2つのケースについて、テストを作成します。
Laravelの最新バージョンは10xでもうすぐに11xがリリースされます。しかし、Laravel 9xでartisan dbコマンドにオプションが増えていることについ最近気づいたので、忘れずにここで紹介します。
Googleのメルマガ配信に対する要求は、前回の「メルマガをワンクリックで登録解除」だけでなく、配信するすべてのメールは、「ドメインに SPF および DKIM メール認証を設定します。」とあります。SPFはDNSでの設定のみですが、DKIMメール認証のためには、それぞれの配信メールの内容を元にDKIM署名のヘッダーの追加が必要です。私のクライアントの環境では、postfix + opendkimとシステムレベルで対応としました。ところが、
従来はプログラムから特定のパスにディレクトリやファイルを追加する際、それらのパーミッションの変更にはPHPのchmod()を使用していました。しかし、最近ドキュメントを読み返してみてLaravelらしいやり方を学んだのでまとめます。
当サイトでご紹介しているユーザー認証のテストはLaravel5.4のもので、Laravel10となった今ではアサート関数やfactory関連の記述も変化しているため新しいものに書き換えることにしました。Laravelの新規インストールから、認証周りのテスト作成をご紹介します。また、認証機能にはBreezeを使用しました。
一度に大量のデータを更新する必要がある時などはArtisanコンソールコマンドでバッチを作成して実行します。その際に更新に時間が掛かって途中で何も出力が無いと処理が正常に進んでいるのか不安になってしまいます。そんな時はプログレスバーを表示すれば進捗が確認できて便利です。