Microsoft Graph コネクタ SDK テスト アプリケーション

GraphConnectorAgentTest 実行可能ファイルは、カスタム コネクタのテスト ユーティリティです。 接続を作成したり、Microsoft インデックスにデータを追加したりすることはありません。 テスト ユーティリティは、エージェントをインストールしたコンピューターで実行され、テストの一部であるデータ ソースを除き、外部リソースには接続されません。 テスト アプリケーションは、Microsoft Graph コネクタ エージェントのインストール フォルダーの TestApp フォルダーにあります。

このテスト ユーティリティを使用するように、次の構成ファイルを更新します。

  • ConnectionInfo.json: このファイルには、接続に関するすべての情報 (この接続が作成されるカスタム コネクタを識別するコネクタ ID、データ ソース URL、データ ソースにアクセスするための資格情報、接続に関連付けられているスキーマ、接続の追加パラメーター) が含まれています。 この構成ファイルは、テスト アプリケーションの Config フォルダーにあります。

  • CustomConnectorPortMap.json: カスタム コネクタを作成したら、コネクタ ID と実行されているポートのマッピングをこのファイルに追加します。 このファイルは、Microsoft Graph コネクタ エージェントのインストール フォルダーにあります。

    CustomConnectorPortMap.json ファイルのポート マッピングのスクリーンショット。

    注:

    コネクタ ID>:<ポート>形式を使用して、複数のコネクタ ID とそれに対応するポート情報をこのファイルに<追加できます。 各一意のコネクタは、異なるポートで実行されている必要があります。

  • Manifest.json: Microsoft 365 管理 センターを介して接続を発行するときにコネクタとその構成を識別するには、マニフェスト ファイルが必要です。 このマニフェスト ファイルを更新して、このテスト アプリケーションの検証に使用します。 このファイルは、テスト アプリケーションの Config フォルダーにあります。

    マニフェストの詳細を次の形式で指定します。

    {
      // This is the unique connector ID/provider ID.
      "connectorId": "<ConnectorGuid>",
    
      // This is a list of all supported auth types. Remove the ones that the connector does not support.
      "authTypes": [ "Windows", "Basic", "Anonymous", "OAuth2ClientCredentials" ],
    
      // The list of additional crawl types that the connector supports in addition to full and periodic full crawl. This is an optional field.
      "additionalCrawlsSupported": [ "Incremental" ]
    }
    
    
    • connectorId は GUID である必要があります。 このフィールドは、コネクタ情報サービスの実装ファイルまたは定義した GUID の ConnectorUniqueId と同じです。
    • AuthTypes は、1 つ以上の型を持つ空でない配列である必要があります。 AnonymousBasicWindowsOAuth2ClientCredentials
    • additionalCrawlsSupported は省略可能です。実装とデータ ソースのサポートに応じて、フル クロールと定期的なフル クロールに加えてクロールの種類を定義できます。 現在、オプションとして使用できるのはクロールのみです Incremental

テスト シナリオ

テスト ユーティリティには、次の 5 つのオプションがあります。

  • コネクタ サービスへの接続をテストする: テスト ユーティリティが、CustomConnectorPortMap.jsonでそのコネクタ ID に指定されたポート経由で、ConnectionInfo.jsonで指定されたコネクタに接続できることを確認します。

最初のテスト シナリオが完了したことを示すテスト ユーティリティの出力のスクリーンショット

  • テスト接続作成フロー (ValidateAuthentication、ValidateCustomConfiguration、GetDataSourceSchema API): ConnectionManagementService で指定されたメソッドを検証します。 各メソッドを呼び出し、コンソールに結果を表示します。

2 番目のテスト シナリオが完了したことを示すテスト ユーティリティの出力のスクリーンショット

  • マニフェストの検証: manifest.jsonの内容を検証します。 マニフェストで提供される情報に関連する API が実装されているかどうかを確認します。 テスト アプリケーションは、検証後に更新されたマニフェストを返します。 この検証済みマニフェストを使用して、さらなるテストと使用を行います。

3 番目のテスト シナリオが完了したことを示すテスト ユーティリティの出力のスクリーンショット

  • シミュレートされた接続を使用してデータ ソース クロールをテストする: ConnectorCrawlerService のメソッドをテストします。 ConnectionInfo.jsonで指定されたスケジュールでクロールを呼び出し、進行中または最後に完了したクロールの状態を 1 分ごとに出力します。 最初のクロールが正常に完了すると、クロールが完了したことを示すメッセージが表示され、プラットフォームは、ConnectionInfo.jsonで指定された間隔で追加のクロールをトリガーするために実行を続けます。 ConnectionInfo.json ファイルで増分クロール頻度を指定すると、最初のフル クロールの後に増分クロールがトリガーされます。

4 番目のテスト シナリオが完了したことを示すテスト ユーティリティの出力のスクリーンショット

  • エンドツーエンド接続発行フローのテスト: カスタム接続の作成からデータソースのクロールまでのフロー全体を検証します。 Microsoft 365 管理 Center 接続発行フローと同じシーケンスで入力を指定するように求められます。 検証は、入力に基づいてすべてのステップで行われます。

5 番目のテスト シナリオが完了したことを示すテスト ユーティリティの出力のスクリーンショット

ユーティリティによるデータ ソースのクロールを停止するには、GraphConnectorAgentTest 実行可能ファイルを閉じて再起動します。 その後、別のテスト オプションを選択するか、コネクタ コードまたは構成ファイルを更新した後にオプションを再テストできます。

GraphConnectorAgentTest 実行可能ファイルのしくみ

GraphConnectorAgentTest 実行可能ファイルを開くと、ConnectionInfo.json構成ファイルが読み取られます。 いずれかのテスト オプションを選択すると、CustomConnectorPortMap 構成ファイルに示されているポート経由で指定されたコネクタへの接続が試行されます。 接続後、プラットフォームは関連するメソッドを呼び出します。

接続作成フローまたはデータ ソース クロールをテストする場合は、ConnectionInfo.json構成ファイル内のデータ ソースにアクセスする資格情報を指定します。 プラットフォームは資格情報を読み取り、コネクタに渡してデータ ソースにアクセスします。 ConnectionInfo.json構成ファイルに他のユーザーがアクセスできない限り、資格情報はセキュリティで保護されます。