Create Bot for Microsoft Graph with DevOps 5: Function Test

I already added unit testing, but to complete entire test, I need function test. Function Test for Bot Framework There are several ways to achieve this, but I see many people utilizes Direct Line, so I will follow them. Direct Line is one of channels Bot Connecter supports, and you can connect to the bot… Read more

Bot Framework と Microsoft Graph で DevOps その 4 : Microsoft Fakes, AutoFac, Moq で依存サービスのモック化

前回は AuthBot と Microsoft Graph を呼べるようにしました。今回は変更したものをユニットテストしてみます。 依存サービスのモック 依存サービスはモックを作り、常に意図した動作をするようにすることで、本当にテストしたい部分のユニットテストを行います。AuthBot と GraphService それぞれモック化します。 AuthBot のモック化 コード内で AuthBot の GetAccessToken メソッドを実行して、OAuth 2.0 のアクセストークンを取得していますが、ここをモック化します。ソースコードを見ると GetAccessToken は静的な部分メソッドですので、Microsoft Fakes を使います。Fakes の詳細はこちら。 1. Fake アセンブリを作るため、ユニットテストプロジェクトにも AuthBot を追加して、各種 NuGet パッケージを最新に更新します。 2. AuthBot 参照を右クリックして、Fakes Assembly を追加します。 3. UnitTest1.cs の ShouldReturnCount メソッドを削除して、以下のように書き換えます。 [TestMethod] public async Task ShouldReturnEvents() {     // Fakes を使うためにコンテキストを作成     using (ShimsContext.Create())… Read more

Bot Framework と Microsoft Graph で DevOps その 3 : AuthBot で認証して Graph を実行

前回は C# でボットのユニットテストができる状態にしました。今回は Microsoft Graph を呼ぶ個所を実装してみます。とりあえず自分の予定でも取得してましょう。 アプリ登録などもろもろ準備 AuthBot 追加 Microsoft Graph は OAuth 2.0 をサポートしていて、ボットアプリから認証するには AuthBot というものを使うのが一番簡単です。今回のシリーズではこの AuthBot を使います。 AuthBot: https://github.com/MicrosoftDX/AuthBot 1. AuthBot NuGet パッケージをプロジェクトに追加します。Include prerelease にチェックしてください。 2. Web.config 内、appSettings 配下に以下を追加します。内容は後で埋めます。 <!– AAD Auth v1 settings –> <add key=”ActiveDirectory.Mode” value=”v1″ /> <add key=”ActiveDirectory.ResourceId” value=”https://graph.microsoft.com/” /> <add key=”ActiveDirectory.EndpointUrl” value=”https://login.microsoftonline.com” /> <add key=”ActiveDirectory.Tenant” value=”” /> <add key=”ActiveDirectory.ClientId”… Read more

Postman を使った Web API テスト: Azure AD 連携したアプリケーションの Auth 2.0 トークン取得方法

最近 Postman を使って各種 Web API を試すことが多いんですが、Azure AD 連携のアプリケーションで OAuth 2.0 トークン取得をどうするのという話を何度か聞かれたのでまとめておきます。 利用するサービスはなんでもいいんですが、最近 UCWA よく触っているので UCWA でやってみましょう。他のサービスでやる場合は適当に読み替えてください。 尚、Azure AD の認証に関する詳細は、日本マイクロソフトエバンジェリスト松崎さんのブログをご覧ください。 https://blogs.msdn.microsoft.com/tsmatsuz/2012/09/01/azure-active-directory/ Skype for Business の準備 UCWA を使うにあたり、Office 365 E3 プランの申し込みから。既に環境ある人はスキップしてください。 1. https://products.office.com/ja-jp/business/office-365-enterprise-e3-business-software にアクセス 2. 「無料試用版」リンクをクリック。 3. ウィザードに従ってセットアップを進めます。大体 10 分くらいで完了します。 4. セットアップが完了したら、https://portal.office.com よりログインし、管理者アイコンをクリックします。 5. 検証するために、ユーザーを数名追加します。ユーザー | アクティブなユーザーよりユーザーの追加ボタンをクリックします。 6. 必須項目を埋めて、ユーザーを追加します。 7. 同様の手順でユーザーを数名追加しておきます。 8. Skype for Business にログインできるか試します。左上のワッフルメニューより「メール」を選択します。 9…. Read more