オンプレミスプロビジョニングのSCIMコネクターをテストする

Oktaでは、Okta Provisioning Connector SDKで構築されたSCIMコネクター、または任意のカスタムSCIMコネクターやSCIMサーバーをテストするためのユーティリティを提供しています。コネクターをテストするためにOktaOkta Provisioning Agentに接続する必要はありません。

テストユーティリティはOkta Provisioning Connector SDKパッケージの一部で、Oktaダウンロードページで入手できます。Okta Provisioning Connector SDKパッケージを入手するには、Admin Consoleにサインインし、設定(Settings) > ダウンロード(Download)を選択します。次に、Okta Provisioning Connector SDKのダウンロード(Download)をクリックします。

テストユーティリティは、Okta Provisioning Connector SDKの「tester(テスター)」フォルダー内のscim-sdk-test.jarに含まれています。テストユーティリティのドキュメントはtester/README.TXTファイルに用意されています。テストの主な目的は、SCIMコネクターまたはSCIMサーバーからの応答を検証することです。

テストデータ

テストデータは、tester/dataディレクトリの.jsonファイルにあります。これらのファイルを使用または変更して、コネクターをテストすることができます。テストはすべて、入力データが有効であることを前提としています。サンプルデータファイルの編集や作成は慎重に行ってください。

テストの実行

scim-sdk-tests.jarファイルを使用して、テストを実行します。呼び出し、応答、すべてのオプション、サンプル結果を含む完全なテスト情報は、tester/README.TXTで提供されます。

すべての使用可能な引数を確認するには、次のように引数なしでjarを実行します。

java -jar scim-sdk-tests.jar

各呼び出しには次のパラメーターを含める必要があります。

  • url::SCIMサーバーのベースURL
  • method::テストするOktaプロビジョニングメソッド
  • file::入力データファイル

次に、最小限の引数を使用する呼び出しの例を示します。

java -jar scim-sdk-tests.jar -url http://localhost:8080 -method createNewUser -file data/createNewUser.json

渡すことのできる引数の詳細を以下の表に示します。

引数 説明
-arg <propertyName=propertyValue> メソッドが使用する任意のプロパティ名と値のペアを渡します。
-expectResults <true|false> コネクターが現在のメソッドの結果を返すかどうかに関するテストの期待値を設定します。この引数は、次の方法で使用できます:checkUserExistsdownloadUsersdownloadGroupsimportUserProfile
-file <fileName> 現在のメソッドの入力に使用するデータファイルです。サンプルファイルは、テストユーティリティパッケージのdataディレクトリから提供されています。
-header <headerName=headerValue> SCIMサーバーに送信する追加のHTTPヘッダーです。例:X-Internal-AuthHeader=secret
-method <methodName> 呼び出すメソッド。メソッド(Methods)表に使用可能なメソッドの一覧を示します。
-url <url> 使用するSCIMサーバーのURL(http://acme.com:8080など)。

メソッド

methodName

送信されるHTTPリクエスト

備考

createNewUser
GET /Users?filter=userName=myemail@domain.com&startIndex=1&count=100
POST /Users
OktaプロビジョニングコネクターSDKを使用して構築されたコネクターをテストする場合、テスターはコネクターを使用してユーザーを作成するためにUserオブジェクトを渡します。これはコネクターメソッドSCIMService.createUserをテストします。
createPendingUser
POST /Users
OktaプロビジョニングコネクターSDKを使用して構築されたコネクターをテストする場合、テスターはコネクターを使用して保留中のユーザーを作成するためにUserオブジェクトを渡します。コネクターメソッドSCIMService.createUserをテストします。
downloadUsers
GET /Users?startIndex=1&count=100
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはユーザーの全リストを返すようにコネクターに対してクエリを実行します。コネクターメソッドSCIMService.getUsers(フィルターなし)をテストします。
checkUserExists
GET /Users?filter=userName=myemail@domain.com&startIndex=1&count=100
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは、特定のユーザーがすでに存在するかどうか確認するために、コネクターに対してクエリを実行します。これにはuserIdFieldNameプロパティとuserIdFieldValueプロパティが必要です。コネクターメソッドSCIMService.getUsers(フィルターあり)をテストします。
importUserProfile
GET /Users/<Id>
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは、ユーザーのIDを渡して1人のユーザーを返すようにコネクターに対してクエリを実行します。idという追加のプロパティが必要です。コネクターメソッドSCIMService.getUserをテストします。
activateUser
PUT /Users/<id>
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは既存のユーザーをアクティブ化するためにコネクターに対してクエリを実行します。コネクターメソッドSCIMService.updateUserをテストします。
deactivateUser
PUT /Users/<id>
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは既存のユーザーをディアクティブ化するためにコネクターに対してクエリを実行します。コネクターメソッドSCIMService.updateUserをテストします。
reactivateUser
PUT /Users/<id>
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは既存のユーザーを再度有効にするためにコネクターに対してクエリを実行します。コネクターメソッドSCIMService.updateUserをテストします。
pushPasswordUpdate
PUT /Users/<id>

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは既存のユーザーのパスワードを更新するためにコネクターに対してクエリを実行します。コネクターメソッドSCIMService.updateUserをテストします。

pushProfileUpdate
PUT /Users/<id>

OktaコネクターSDKで構築されたコネクターをテストしている場合、Oktaは既存のユーザーのプロパティを更新するようコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

deleteGroup
DELETE /Groups/<id>
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはグループを削除するために、コネクターに対してクエリを実行します。コネクターメソッドSCIMService.deleteGroupをテストします。
updateGroup
PUT /Groups/<id>
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはグループを更新するために、コネクターに対してクエリを実行します。コネクターメソッドSCIMService.updateGroupをテストします。
createGroup
POST /Groups
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはグループを作成するために、コネクターに対してクエリを実行します。コネクターメソッドSCIMService.createGroupをテストします。
getGroupById
GET /Groups/<id>
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはIDに基づいてグループを返すために、コネクターに対してクエリを実行します。コネクターメソッドSCIMService.getGroupをテストします。
downloadGroups
GET  /Groups?startIndex=1&count=100
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはグループの全リストを返すようにコネクターに要求します。コネクターメソッドSCIMService.getGroupsをテストします。
getImplementedUserManagementCapabilities
GET /ServiceProviderConfigs
OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは、コネクターが実装しているUserManagementCapabilitiesのリストを返すようにコネクターに要求します。コネクターメソッドSCIMService.getImplementedUserManagementCapabilitiesをテストします。

Oktaが提供するデフォルト実装は、appnameonprem_appであることを前提としています。以下の例とデフォルト実装のdataフォルダー内の入力データファイルは、App Userカスタムスキーマのカスタムスキーマ名(urn:okta:onprem_app:1.0:user)を使用します。コネクターを実装する際は、正しいappnameを使用する必要があります。

createNewUser

createNewUserは、コネクターを使用してユーザーを作成するために、SCIM Userオブジェクトを渡します。コネクターSDKメソッドSCIMService.createUserをテストします。2つのサンプルデータファイルが用意されているので、それを使ってテストします。

以下のテストでは、createNewUser.jsonファイルで定義されたSCIMユーザーをSCIMコネクターに送信しています。コネクターから返されたユーザーに対して、基本的な検証がいくつか行われます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method createNewUser -file data/createNewUser.json

レスポンス:

[ 04-10-2013 13:23:01.258 ] [ INFO] - making POST request to http://localhost:8080/Users
            [ 04-10-2013 13:23:01.449 ] [ INFO] - Okta will use the ID 103 to identify this User in the future.
            [ 04-10-2013 13:23:01.450 ] [ INFO] - User returned from connector:
            schemas: "urn:scim:schemas:core:1.0", "urn:scim:schemas:extension:enterprise:1.0"
            phoneNumbers:
            value: "123-444-5555"
            type: "mobile"
            userName: "myemail@domain.com"
            name:
            familyName: "LastName"
            givenName: "FirstName"
            active: true
            emails:
            primary: true
            value: "myemail@domain.com"
            type: "primary"
            primary: false
            value: "mypersonalemail@domain.com"
            type: "secondary"
            password: "verySecure"
            id: "103"
            [ 04-10-2013 13:23:01.450 ] [ INFO] - OK!
        

createPendingUser

createPendingUserは、コネクターを使用して保留ユーザーを作成するために、SCIM Userオブジェクトを渡します。コネクターSDKメソッドSCIMService.createUserをテストします。2つのサンプルデータファイルが用意されているので、それを使ってテストします。

createPendingUserは、すべてのユーザーのactiveフィールドがfalseであることを除けば、createNewUserと似ています。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method createPendingUser -file data/createPendingUser-withCustomExtension.json

downloadUsers

downloadUsersは、ユーザーの全リストを返すようにコネクターに要求します。SCIMService.getUsersコネクターメソッドにフィルターを渡さずにテストします。

以下のテストでは、SCIMコネクターに対してすべてのユーザーを求めるリクエストを行います。返されるユーザーはディスクにログ記録されます。ユーザーの複数のページが存在する場合、テストはコネクターに対して複数のリクエストを行う可能性があります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method downloadUsers。レスポンス:

[ 04-10-2013 14:14:18.888 ] [ INFO] - making GET request to http://localhost:8080/Users?startIndex=1&count=100
            [ 04-10-2013 14:14:19.003 ] [ INFO] - downloadUsers: 3 Users returned.
            [ 04-10-2013 14:14:19.007 ] [ INFO] - downloadUsers: Users returned from connector logged to downloadUsers-20131004-141419.txt
        

checkUserExists

checkUserExistsは、特定のユーザーが存在するかどうかをコネクターに問い合わせます。SCIMService.getUsersコネクターメソッドにフィルターを渡してテストします。追加プロパティ(userIdFieldNameuserIdFieldValue)が必要です。

以下のテストでは、提供されたプロパティを使用して、SCIMコネクターにリクエストを行います。このテストでは、SCIMコネクターがuserNameとしてmyemail@domain.comを持つユーザーを見つけられないことを想定しています。

テストでは、サンプル応答に類似した出力が返されるはずです。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method checkUserExists -arg userIdFieldName=userName -arg userIdFieldValue=myemail@domain.com \
                               -expectResults false

レスポンス:

[ 03-10-2013 14:54:16.741 ] [ INFO] - making GET request to http://localhost:8080/Users?filter=userName%20eq%20%22myemail%40dom...
            [ 03-10-2013 14:54:16.846 ] [ INFO] - checkUserExists: No users returned from server. This should be expected.
            [ 03-10-2013 14:54:16.846 ] [ INFO] - OK!
        

使用状況

以下のコード(直前のコマンドから-expectResults 引数を削除したもの)を実行すると、テストは失敗します。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method checkUserExists -arg userIdFieldName=userName -arg userIdFieldValue=myemail@domain.com

レスポンス:

[ 03-10-2013 14:57:41.218 ] [ INFO] - making GET request to http://localhost:8080/Users?filter=userName%20eq%20%22myemail%40dom...
            [ 03-10-2013 14:57:41.319 ] [ ERROR] - Expected results from checkUserExists but did not get anything.

コネクターがユーザーを検出すると、ユーザーデータと一部のOktaデバッグ情報が出力されます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method checkUserExists -arg userIdFieldName=id -arg userIdFieldValue=102

レスポンス:

[ 03-10-2013 15:01:14.095 ] [ INFO] - making GET request to http://localhost:8080/Users?filter=id%20eq%20%22102%22&startInd...
[ 03-10-2013 15:01:14.217 ] [ INFO] - checkUserExists: 1 users returned.
[ 03-10-2013 15:01:14.217 ] [ INFO] - checkUserExists: User returned from Connector:
schemas: "urn:scim:schemas:core:1.0", "urn:scim:schemas:extension:enterprise:1.0", "urn:okta:onprem_app:1.0:user"
id: "102"
userName: "admin"
name:
formatted: "SCIM firstname2 SCIM lastname2"
givenName: "SCIM first2"
familyName: "SCIM last2"
middleName: "SCIM middle2"
emails:
value: "SCIM_admin@okta.com"
primary: true
type: "work"
active: false
password: "fakepassword"
groups:
value: "1002"
display: "secondGroup"
urn:okta:onprem_app:1.0:user:
isAdmin: true
isOkta: false
departmentName: "Administration"
[ 03-10-2013 15:01:14.217 ] [ INFO] - checkUserExists: The ID 102 will be used as the id for this user in Okta
[ 03-10-2013 15:01:14.217 ] [ INFO] - checkUserExists: The user will be returned as INACTIVE
[ 03-10-2013 15:01:14.218 ] [ INFO] - OK!

ユースケース

ファーストネームでユーザーを検索する方法:

java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method checkUserExists -arg userIdFieldName=name.givenName -arg userIdFieldValue="SCIM first"

カスタムスキーマ拡張機能プロパティでユーザーを検索する方法:

java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method checkUserExists -arg userIdFieldName=urn:okta:onprem_app:1.0:user:departmentName \
                              -arg userIdFieldValue="Cloud Service"

importUserProfile

importUserProfileは、ユーザーのIDを渡して単一のユーザーを返すようにコネクターに要求します。コネクターメソッドSCIMService.getUserをテストします。idという追加のプロパティが必要です。

以下のテストでは、SCIMコネクターに対し、idが101であるユーザーのプロファイルを求めるリクエストを行います。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method importUserProfile -arg id=101

レスポンス:

[ 04-10-2013 13:57:54.092 ] [ INFO] - making GET request to http://localhost:8080/Users/101
            [ 04-10-2013 13:57:54.203 ] [ INFO] - importUserProfile: User returned from Connector:
            schemas: "urn:scim:schemas:core:1.0", "urn:scim:schemas:extension:enterprise:1.0", "urn:okta:onprem_app:1.0:user"
            id: "101"
            userName: "okta"
            name:
            formatted: "SCIM firstname SCIM lastname"
            givenName: "SCIM first"
            familyName: "SCIM last"
            middleName: "SCIM middle"
            emails:
            value: "SCIM_okta@okta.com"
            primary: true
            type: "work"
            active: true
            password: "inSecure"
            groups:
            value: "1001"
            display: "firstGroup"
            value: "1002"
            display: "secondGroup"
            urn:okta:onprem_app:1.0:user:
            isAdmin: false
            isOkta: true
            departmentName: "Cloud Service"
            [ 04-10-2013 13:57:54.204 ] [ INFO] - importUserProfile: The ID 101 will be used as the id for this user in Okta
            [ 04-10-2013 13:57:54.204 ] [ INFO] - OK!
        

ユースケース

以下は、存在しないと思われるユーザーを検索する方法です。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method importUserProfile -arg id=invalidExternalId -expectResults false

レスポンス:

[ 04-10-2013 14:00:01.081 ] [ INFO] - making GET request to http://localhost:8080/Users/invalidExternalId
            [ 04-10-2013 14:00:01.245 ] [ WARN] - error status of 404 received from http://localhost:8080/Users/invalidExternalId
            [ 04-10-2013 14:00:01.245 ] [ INFO] - importUserProfile: No users returned from server. This should be expected.
            [ 04-10-2013 14:00:01.246 ] [ INFO] - OK!
        

以下は、存在すると思われるユーザーを検索する方法を示していますが、結果は返されません。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method importUserProfile -arg id=103

レスポンス:

[ 04-10-2013 14:00:52.096 ] [ INFO] - making GET request to http://localhost:8080/Users/103
            [ 04-10-2013 14:00:52.191 ] [ WARN] - error status of 404 received from http://localhost:8080/Users/103
            [ 04-10-2013 14:00:52.191 ] [ ERROR] - Expected results from importUserProfile but did not get anything.
        

activateUser

activateUserは、既存のユーザーをアクティブ化するようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

以下のテストでは、SCIMコネクターにユーザーの更新を要求します。これはユーザーをアクティブ化するためのテストなので、アクティブフィールドは常にtrueになります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method activateUser -file data/activateUser.json

レスポンス:

[ 10-10-2013 14:29:00.211 ] [ INFO] - making PUT request to http://localhost:8080/Users/101
            [ 10-10-2013 14:29:00.598 ] [ INFO] - activateUser: will return to Okta that the user's active state is: true
            [ 10-10-2013 14:29:00.598 ] [ INFO] - OK!
        

deactivateUser

deactivateUserは、既存のユーザーを非アクティブ化するようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

以下のテストでは、SCIMコネクターにユーザーの更新を要求します。これはユーザーをディアクティブ化するためのテストなので、アクティブフィールドは常にfalseになります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method deactivateUser -file data/deactivateUser.json

レスポンス:

[ 10-10-2013 14:32:51.211 ] [ INFO] - making PUT request to http://localhost:8080/Users/101
[ 10-10-2013 14:32:52.171 ] [ INFO] - NOTE: deactivateUser does not send the user returned from the connector back to Okta. Okta assumes that a
                                            non-error response from your connector means the deactivateUser methods was successful.
[ 10-10-2013 14:32:52.598 ] [ INFO] - OK!

reactivateUser

reactivateUserは、以前に非アクティブ化されたユーザーをアクティブ化するようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

以下のテストでは、SCIMコネクターにユーザーの更新を要求します。これはユーザーを再度有効にするためのテストなので、アクティブフィールドは常にtrueになります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method reactivateUser -file data/reactivateUser.json

レスポンス:

[ 10-10-2013 14:35:04.704 ] [ INFO] - making PUT request to http://localhost:8080/Users/101
[ 10-10-2013 14:35:04.828 ] [ INFO] - NOTE: reactivateUser does not send the user returned from the connector back to Okta. Okta assumes that a
                                            non-error response from your connector means the reactivateUser methods was successful.
[ 10-10-2013 14:35:04.828 ] [ INFO] - OK!

pushPasswordUpdate

pushPasswordUpdateは、既存のユーザーのパスワードを更新するようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

以下のテストでは、SCIMコネクターにユーザーの更新を要求します。パスワードが変更になっても、ユーザーオブジェクト全体が提供されます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method pushPasswordUpdate -file data/pushPasswordUpdate.json

レスポンス:

[ 10-10-2013 14:36:52.029 ] [ INFO] - making PUT request to http://localhost:8080/Users/101
[ 10-10-2013 14:36:52.124 ] [ INFO] - NOTE: pushPasswordUpdate does not send the user returned from the connector back to Okta. Okta assumes that a
                                            non-error response from your connector means the pushPasswordUpdate methods was successful.
[ 10-10-2013 14:36:52.124 ] [ INFO] - OK!

pushProfileUpdate

pushProfileUpdateは、既存のユーザーのプロパティを更新するようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

以下のテストでは、SCIMコネクターにユーザーの更新を要求します。変更されたフィールドのみが含まれるオブジェクトではなく、ユーザーオブジェクト全体が提供されます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method pushProfileUpdate -file data/pushProfileUpdate.json

レスポンス:

[ 10-10-2013 14:39:44.693 ] [ INFO] - making PUT request to http://localhost:8080/Users/101
[ 10-10-2013 14:39:44.785 ] [ INFO] - NOTE: pushProfileUpdate does not send the user returned from the connector back to Okta. Okta assumes that a
                                            non-error response from your connector means the pushProfileUpdate methods was successful.
[ 10-10-2013 14:39:44.786 ] [ INFO] - OK!

downloadGroups

downloadGroupsは、グループの全リストを返すようにコネクターに要求します。コネクターメソッドSCIMService.getGroupsをテストします。

以下のテストでは、SCIMコネクターにすべてのグループを求めるリクエストを行い、返されたグループはディスクにログ記録されます。グループの複数のページが存在する場合、テストはコネクターに対して複数のリクエストを行う可能性があります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method downloadGroups

レスポンス:

[ 10-10-2013 14:40:55.598 ] [ INFO] - making GET request to http://localhost:8080/Groups?startIndex=1&count=100
            [ 10-10-2013 14:40:55.816 ] [ INFO] - downloadGroups: 2 Groups returned.
            [ 10-10-2013 14:40:55.819 ] [ INFO] - downloadGroups: Groups returned from connector logged to downloadGroups-20131010-144055.txt
            [ 10-10-2013 14:40:55.820 ] [ INFO] - OK!

getGroupById

getGroupByIdは、指定されたIDに基づいてグループを返すようにコネクターに要求します。コネクターメソッドSCIMService.getGroupをテストします。idという追加のプロパティが必要です。

以下のテストでは、SCIMコネクターにグループを返すことを要求します。グループのすべてのプロパティが印刷されます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method getGroupById -arg id=1002

レスポンス:

[ 17-10-2013 18:03:17.270 ] [ INFO] - making GET request to http://localhost:8080/Groups/1002
            [ 17-10-2013 18:03:17.381 ] [ INFO] - getGroupById : Group returned from connector:
            schemas: "urn:scim:schemas:core:1.0", "urn:okta:custom:group:1.0"
            id: "1002"
            members:
            value: "User-001"
            display: "First User"
            value: "User-002"
            display: "Second User"
            displayName: "AppGroup-Changed"
            urn:okta:custom:group:1.0:
            description: "This is the changed first group"
            [ 17-10-2013 18:03:17.381 ] [ INFO] - OK!

idでグループを検索できない場合、出力は以下の応答に類似したものになります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method getGroupById -arg id=3455

レスポンス:

[ 18-10-2013 10:22:40.733 ] [ INFO] - making GET request to http://localhost:8080/Groups/3455
            [ 18-10-2013 10:22:40.833 ] [ WARN] - error status of 404 received from http://localhost:8080/Groups/3455
            [ 18-10-2013 10:22:40.833 ] [ ERROR] - Expected results from getGroupById but did not get anything.
        

createGroup

createGroupは、グループを作成できるようにコネクターにグループを送信します。コネクターメソッドSCIMService.createGroupをテストします。

同じグループがシステムに存在する場合は、DuplicateGroupExceptionをスローする必要があります。

以下のテストでは、SCIMコネクターにグループを作成して返すことを要求します。グループのすべてのプロパティが印刷されます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method createGroup -file data/createGroup.json

レスポンス:

[ 17-10-2013 18:09:02.457 ] [ INFO] - making POST request to http://localhost:8080/Groups
            [ 17-10-2013 18:09:02.564 ] [ INFO] - Okta will use the ID 1004 to identify this Group in the future.
            [ 17-10-2013 18:09:02.564 ] [ INFO] - Group returned from connector:
            schemas: "urn:scim:schemas:core:1.0", "urn:okta:custom:group:1.0"
            id: "1004"
            members:
            value: "User-003"
            display: "Third User"
            value: "User-004"
            display: "Fourth User"
            value: "User-005"
            display: "Fifth User"
            displayName: "AppGroup-02"
            urn:okta:custom:group:1.0:
            description: "This is the second group"
            [ 17-10-2013 18:09:02.565 ] [ INFO] - OK!
        

以下の例は、グループの作成を求められたときに、コネクターがDuplicateGroupExceptionをスローする場合の出力を示しています。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method createGroup -file data/createGroup.json

レスポンス:

[ 18-10-2013 10:29:49.473 ] [ INFO] - making POST request to http://localhost:8080/Groups
[ 18-10-2013 10:29:49.576 ] [ WARN] - error status of 409 received from http://localhost:8080/Groups
[ 18-10-2013 10:29:49.577 ] [ ERROR] - Cannot create the group [{
  "schemas": ["urn:scim:schemas:core:1.0", "urn:okta:custom:group:1.0"],
  "displayName": "AppGroup-02",
  "id": "1004",
  "members" : [{"value": "User-003", "display": "Third User"},{"value": "User-004", "display": "Fourth User"},{"value": "User-005",
                "display": "Fifth User"}],
  "urn:okta:custom:group:1.0":{
    "description":"This is the second group"
  }
}]. It already exists
[ 18-10-2013 10:29:49.577 ] [ ERROR] - Duplicate group found. Cannot create the group

updateGroup

updateGroupは、グループを更新できるようにコネクターにグループを送信します。コネクターメソッドSCIMService.updateGroupをテストします。

以下のテストは、SCIMコネクターに対してグループを更新してそれを返すことを要求します。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method updateGroup -file data/updateGroup.json

レスポンス:

[ 17-10-2013 18:11:11.842 ] [ INFO] - making PUT request to http://localhost:8080/Groups/1002
[ 17-10-2013 18:11:11.939 ] [ INFO] - NOTE: updateGroup does not send the group returned from the connector back to Okta. Okta assumes that a
                                            non-error response from your connector means the updateGroup methods was successful.
[ 17-10-2013 18:11:11.939 ] [ INFO] - OK!

deleteGroup

deleteGroupは、そのIDを持つグループを削除できるようにIDをコネクターに送信します。コネクターメソッドSCIMService.deleteGroupをテストします。idという追加のプロパティが必要です。

指定されたIDを持つグループが存在しない場合、EntityNotFoundExceptionをスローします。

以下のテストでは、SCIMコネクターに対し、グループを削除するよう求めるリクエストを行います。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method deleteGroup -arg id=1003

レスポンス:

[ 17-10-2013 18:16:27.553 ] [ INFO] - making DELETE request to http://localhost:8080/Groups/1003
[ 17-10-2013 18:16:27.646 ] [ INFO] - NOTE: deleteGroup does not send any data back to Okta. Okta assumes that a non-error response from your connector
                                            means the deleteGroup was successful and the group with the Id 1003 was deleted
[ 17-10-2013 18:16:27.646 ] [ INFO] - OK

次の手順

SCIMコネクターに接続する