カスタムAPIのテスト

Oracle Mobile Hubでは、モック・データを使用してカスタムAPIをデプロイする前にテストできます。RESTコネクタは、StandardテストとAdvancedテストの2つのモードをサポートするテスト・ページを使用してテストすることもできます。

Oracle Mobile HubカスタムAPIのテスト

カスタムAPIをOracle Mobile Hubから直接テストするには:

  1. Oracle Mobile Hubにサインインします。
  2. メニュー・アイコンをクリックし、「Development」を展開して「Backends」をクリックします。
  3. モバイル・バックエンドを選択して「Open」をクリックします。
  4. 左側のナビゲーション・バーの「設定」をクリックします。
  5. 「環境URL」の下にある「SSOトークン・エンドポイント」からURLをコピーします。
  6. コピーしたURLをWebブラウザ・ウィンドウに貼り付けますが、[Enter]キーを押さないでください。
  7. OAuth「コンシューマ」セクションにあるクライアントIDをコピーします。
  8. Webブラウザで貼り付けたSSOトークン・エンドポイントURLに?clientID=[YourClientID]という形式で問合せ文字列パラメータを追加し、[Enter]キーを押します。URLの例は次のとおりです:
    https://<YourSSOTokenEndpointURL>?clientID=<yourClientID>
    ブラウザにシングル・サインオンOAuthトークンが表示されます。
  9. モバイル・バックエンド・ウィンドウで、左側のナビゲーションにあるAPIページをクリックします。ブラウザが「設定」ページから「API」ページに変わります。
  10. 「APIの選択」をクリックします。
  11. テストするAPI名をクリックします。左側のナビゲーションにAPIエンドポイント、および「リクエスト」タブと「レスポンス」タブが表示される新しいページが開きます。
  12. テストするエンドポイントをクリックします。
  13. 「認証」セクションで、「認証方法」から「シングル・サインオン・トークン」を選択します。
  14. SSO OAuthトークンをコピーし、「シングル・サインオン・トークン」フィールドに貼り付けます。
  15. 「エンドポイントのテスト」をクリックします。すべてが正しい場合、サーバーはステータス200で応答し、応答にJSONデータが表示されます。

モック・データを使用したAPIエンドポイントのテスト

API構成の設計フェーズでは、リクエストおよびレスポンス・メッセージ本文にモック・データを入力できます。これにより、リアルタイム・データを使用したりリアルタイム・サービスと相互作用することなく、各呼出しのコンテキストを調査できます。たとえば、コードが無効なIDを正しく処理するかどうかテストするために、無効なIDを含むモック・データを使用した例をリクエスト本体に追加できます。テストが終了したら、例を別のコードに置き換えて、メソッドの他の側面をテストできます。

FixItFastの例では、レスポンス本文のモック・データにより、正しい顧客情報が返されるかどうかを確認できます。次に、サービス開発者がFixItFast例でcontactリソースのPOST操作のレスポンス本文に作成できるモック・データの例を示します。
{
 "id": 20934,
 "title": "Lynn's Leaking Water Heater",
       "contact": {
       "name": "Lynn Adams",
       "street": "45 O'Connor Street",
       "city": "Ottawa",
       "postalcode": "ala1a1"
       "username":"johneta"
       }
 "status": "new",
 "driveTime": 30,
 "priority": "high",
 "createdon": "2015-04-23 18:12:03 EDT"
}

カスタムAPIを作成すると、モック実装が自動的に作成されます。モック実装により、カスタム・コードを実装する前にモバイル・アプリケーションからAPIを呼び出すことができます。これにより、モバイル・アプリケーションおよびカスタム・コードを同時に開発およびテストできます。構成に満足したら、実際の実装を追加できます。

最初の実装を作成するまでは、デフォルト実装がモック実装です。実際の実装を作成した後は、それがAPIのデフォルトの実装になります。

「インプリメンテーション」ナビゲーション・リンクをクリックして、実装をアップロードするか、既存の実装があるかどうかを確認します。デフォルト実装は、Implementationsページで変更できます。実装をアップロードすると、モック実装を含む既存の実装のリストが表示されます。

RESTコネクタAPIのテスト

RESTコネクタAPIが定義され、構成が保存されたので、リクエストを送信してWebサービスから必要な結果を受信できることを確認します。接続のテストはオプション・ステップですが、コネクタAPIをファイナライズする前に問題を識別して修正することで、時間を節約できます。「テスト」ページでは、一度に1つのエンドポイントをテストできます。

記述子を指定した場合は、次の2つのテスト・モードから選択できます。

  • Standardテスト

    記述子メタデータを指定した場合、標準テスト・モードが表示され、リクエストおよびレスポンス本文が記述メタデータから生成され、「リクエスト」および「レスポンス」タブに表示されます。GETメソッドでテストするパラメータを選択し、テストするHTTPヘッダーを含めるだけで済みます。

  • 拡張テスト

    「拡張モードでのテスト」(リモート・サービスURLを指定した場合に入力するテスト・モード)を選択して、テストを絞り込むことができます。記述メタデータがない場合は、テストするメソッドとリソースを選択し、含めるHTTPヘッダーを含めて、JSON本文を手動で作成します。

拡張モードでテスト

拡張テスト・ページでは、パス・パラメータの手動設定、ヘッダーの追加、およびリクエスト・ペイロードとレスポンス・ペイロードの追加を行うことができます。

手動でコネクタ・テストを構成するには:

  1. Click the Test navigation link.
  2. 記述子を指定した場合は、「拡張モードでテスト」Onにします。

    リモート・サービスURLを指定した場合は、拡張テスト・ページが自動的に表示されます。

  3. ドロップダウン・リストからテストするHTTPメソッドを選択します。
  4. 「Local URI」フィールドで、テストに必要なリソース・パスのパラメータを指定します。例:
    directions/json?origin=los+angeles&destination=seattle

    フィールドには、API名の入力時に定義したローカルURIが自動的に接頭辞として付けられます。この例では、フィールドのフル・コンテンツは次のようになります。

    myMapAPI /directions/json?origin=los+angeles&destination=seattle

    いずれかのルールを定義した場合は、「Rules Applied」フィールド(「Body」フィールドの下)に、選択した操作に適用可能なルールの数が表示されます。「リモートURL」フィールドには、テストのためにサービスに渡される正確な文字列が表示されます。

  5. 必要に応じて、1つ以上のリクエストまたはレスポンスHTTPヘッダーを追加します。

    これらのヘッダーはテスト目的のみで使用され、RESTコネクタAPI構成には追加されません。

  6. 「HTTP Body」フィールドをクリックして、ソース・エディタでメッセージ本文(ペイロード)を作成します。
    たとえば次のようにします。
    {
      "status":"ZERO_RESULTS",
      "routes":[ ]
    }

    メッセージ本文の内容はコネクタの目的に関係のあるものにし、無関係なデータを追加してメッセージを肥大化しないでください。関連データのみをメッセージ本文に含めることで、リクエストまたはレスポンスの送信が迅速化されます。

  7. 接続するサービスに認証が必要な場合は、「Authentication」セクションを開き、テストするメソッドごとにモバイル・ユーザー資格証明を入力します。デフォルトのテスト資格証明を使用している場合は、このステップをスキップできます。

    SAMLベースのセキュリティ・ポリシーでは、呼出しを行っているユーザーのアイデンティティが外部サービスに伝播されます。HTTP Basic認証やユーザー名トークンなどその他のセキュリティ・ポリシーでは、外部サービスの認証に使用する資格証明は、CSFキーとしてポリシーのオーバーライドで提供されます。定義した操作に応じて、操作ごとに特定の資格証明を入力する必要があるか、またはすべてのメソッドに1つの資格証明セットを使用してサービスに対するコネクタを認証できます。

  8. 「保存」をクリックして、デフォルトとして指定したユーザー名とパスワードを保存します。
  9. コネクタ作成の設計段階にあり、エンドポイントが有効かどうかのみを確認する場合は、「Default API Designer Test Credentials」をクリックして、登録されているモバイル・バックエンドおよびそのバージョン番号を選択します。
    オプションで、モバイル・ユーザー資格証明を入力できます(ユーザー名とパスワード)。

    これらのデフォルトのテスト資格証明は、テストするすべてのメソッドにわたって持続します。これらは、現在のモバイル・ハブ・セッション中も有効です。

  10. 「エンドポイントのテスト」をクリックします。

    「Test Endpoint」をクリックすると「Cancel Test」に切り替わります。何らかの理由でテストを停止する場合は、「Cancel Test」をクリックします。

    「Reset」をクリックしてフィールドをクリアして、テスト・パラメータを変更します。

  11. エンドポイントのテストが終了したら、「Done」をクリックします。