<?php
require_once dirname(__FILE__) . '/common/CAPIScimTest.php';
class testScimServiceProviderConfig extends CAPIScimTest {
private static $data = [
'userdirectoryid' => [
'saml' => null
],
'tokenids' => [
'superadmin' => null
],
'tokens' => [
'superadmin' => null
],
'mediatypeid' => '3'
];
public function prepareUserData(): void {
$userdirectory_saml = CDataHelper::call('userdirectory.create', [
'idp_type' => IDP_TYPE_SAML,
'group_name' => 'groups',
'idp_entityid' => 'http://www.okta.com/abcdef',
'sso_url' => 'https://www.okta.com/ghijkl',
'username_attribute' => 'usrEmail',
'user_username' => 'user_name',
'user_lastname' => 'user_lastname',
'provision_status' => JIT_PROVISIONING_ENABLED,
'sp_entityid' => '',
'provision_media' => [
[
'name' => 'SMS',
'mediatypeid' => self::$data['mediatypeid'],
'attribute' => 'user_mobile'
]
],
'provision_groups' => [
[
'name' => 'group_w_members',
'roleid' => 1,
'user_groups' => [
['usrgrpid' => 7]
]
]
],
'scim_status' => 1
]);
$this->assertArrayHasKey('userdirectoryids', $userdirectory_saml);
self::$data['userdirectoryid']['saml'] = $userdirectory_saml['userdirectoryids'][0];
CDataHelper::call('authentication.update', [
'saml_auth_enabled' => ZBX_AUTH_SAML_ENABLED,
'disabled_usrgrpid' => '9'
]);
$tokenid = CDataHelper::call('token.create', [
[
'name' => 'Token for Users SCIM requests',
'userid' => '1'
]
]);
$this->assertArrayHasKey('tokenids', $tokenid);
self::$data['tokenids']['superadmin'] = $tokenid['tokenids'][0];
$token = CDataHelper::call('token.generate', [self::$data['tokenids']['superadmin']]);
$this->assertArrayHasKey('token', $token[0]);
self::$data['tokens']['superadmin'] = $token[0]['token'];