def test_build_results_2xx_status(): json_data = util_load_json('test_data/User.json') response = util_mock_http_resp(200, json_data) results = SailPointIdentityIQ.build_results('IdentityIQ.Identity', 'IdentityIQ.Identity', response) assert results.readable_output == '### Results:\n' + SailPointIdentityIQ.get_markdown( 'IdentityIQ.Identity', json_data) assert results.outputs_prefix == 'IdentityIQ.Identity' assert results.outputs_key_field == 'IdentityIQ.Identity' verify_user(results.outputs)
def test_change_account_disable(mock_account): mock_account.return_value = util_load_json( 'test_data/Account_Disabled.json') account = SailPointIdentityIQ.change_account_status( MOCK_CLIENT, '7f00000174441779817444c883c30016', False) verify_account(account) assert account['active'] is False
def test_get_accounts_identity_name_not_matched(mock_accounts_response): json_data = util_load_json('test_data/NoResources.json') mock_accounts_response.return_value = util_mock_http_resp(200, json_data) response = SailPointIdentityIQ.get_accounts(MOCK_CLIENT, None, None, None, None, None, 'Black Jack', None) assert response.status_code == 200 verify_scim_list_response(response.json(), 0)
def test_transform_object(): json_data = util_load_json('test_data/User.json') data = SailPointIdentityIQ.transform_object('IdentityIQ.Identity', json_data) assert data == json_data assert 'sailpointUser' in data assert 'sailpointUser' in json_data
def test_get_launched_workflows_no_resources(mock_launched_workflows_response): json_data = util_load_json('test_data/NoResources.json') mock_launched_workflows_response.return_value = util_mock_http_resp( 200, json_data) response = SailPointIdentityIQ.get_launched_workflows(MOCK_CLIENT, None) assert response.status_code == 200 verify_scim_list_response(response.json(), 0)
def test_get_roles_id_found(mock_roles_response): json_data = util_load_json('test_data/Role.json') mock_roles_response.return_value = util_mock_http_resp(200, json_data) response = SailPointIdentityIQ.get_roles( MOCK_CLIENT, '7f000001705911b4817059d31239035f') assert response.status_code == 200 verify_role(response.json())
def test_get_alerts_id_found(mock_alerts_response): json_data = util_load_json('test_data/Alert.json') mock_alerts_response.return_value = util_mock_http_resp(200, json_data) response = SailPointIdentityIQ.get_alerts( MOCK_CLIENT, '0a000001758a173e81763f81205e0062') assert response.status_code == 200 verify_alert(response.json())
def test_get_task_results_id_found(mock_task_results_response): json_data = util_load_json('test_data/TaskResult.json') mock_task_results_response.return_value = util_mock_http_resp( 200, json_data) response = SailPointIdentityIQ.get_task_results( MOCK_CLIENT, '7f00000175891f4b81763bd2181c1d5f') assert response.status_code == 200 verify_task_result(response.json())
def test_get_entitlements_id_found(mock_entitlements_response): json_data = util_load_json('test_data/Entitlement.json') mock_entitlements_response.return_value = util_mock_http_resp( 200, json_data) response = SailPointIdentityIQ.get_entitlements( MOCK_CLIENT, '7f000001705911b4817059d355840657') assert response.status_code == 200 verify_entitlement(response.json())
def test_get_launched_workflows_id_found(mock_launched_workflows_response): json_data = util_load_json('test_data/LaunchedWorkflow.json') mock_launched_workflows_response.return_value = util_mock_http_resp( 200, json_data) response = SailPointIdentityIQ.get_launched_workflows( MOCK_CLIENT, '7f00000173de18fa8173deb1064e001c') assert response.status_code == 200 verify_launched_workflow(response.json())
def test_search_identities_active_false(mock_search_identities_response): json_data = util_load_json('test_data/NoResources.json') mock_search_identities_response.return_value = util_mock_http_resp( 200, json_data) response = SailPointIdentityIQ.search_identities(MOCK_CLIENT, None, None, 0, True) assert response.status_code == 200 verify_scim_list_response(response.json(), 0)
def test_get_roles(mock_roles_response): json_data = util_load_json('test_data/Roles.json') mock_roles_response.return_value = util_mock_http_resp(200, json_data) response = SailPointIdentityIQ.get_roles(MOCK_CLIENT, None) assert response.status_code == 200 verify_scim_list_response(response.json(), 5) for role in response.json()['Resources']: verify_role(role)
def test_get_accounts_id_found(mock_accounts_response): json_data = util_load_json('test_data/Account.json') mock_accounts_response.return_value = util_mock_http_resp(200, json_data) response = SailPointIdentityIQ.get_accounts( MOCK_CLIENT, '7f00000174441779817444c8837c0014', None, None, None, None, None, None) assert response.status_code == 200 verify_account(response.json())
def test_get_policy_violations(mock_policy_violations_response): json_data = util_load_json('test_data/PolicyViolations.json') mock_policy_violations_response.return_value = util_mock_http_resp( 200, json_data) response = SailPointIdentityIQ.get_policy_violations(MOCK_CLIENT, None) assert response.status_code == 200 verify_scim_list_response(response.json(), 2) for policy_violation in response.json()['Resources']: verify_policy_violation(policy_violation)
def test_get_policy_violations_id_found(mock_policy_violations_response): json_data = util_load_json('test_data/PolicyViolation.json') mock_policy_violations_response.return_value = util_mock_http_resp( 200, json_data) response = SailPointIdentityIQ.get_policy_violations( MOCK_CLIENT, '8a8080824df45873014df46036521328') assert response.status_code == 200 verify_policy_violation(response.json()) assert response.json()['id'] == '8a8080824df45873014df46036521328'
def test_get_alerts_id_not_found(mock_alerts_response): json_data = util_load_json('test_data/404_Not_Found.json') mock_alerts_response.return_value = util_mock_http_resp(404, json_data) response = SailPointIdentityIQ.get_alerts( MOCK_CLIENT, '0a000001758a173e81763f81205e6453') assert response.status_code == 404 assert 'urn:ietf:params:scim:api:messages:2.0:Error' in response.json( )['schemas'] assert response.json()['status'] == '404'
def test_search_identities_id_found(mock_search_identities_response): json_data = util_load_json('test_data/User.json') mock_search_identities_response.return_value = util_mock_http_resp( 200, json_data) response = SailPointIdentityIQ.search_identities( MOCK_CLIENT, '7f00000174441779817444c8842b0017', None, 0, True) assert response.status_code == 200 verify_user(response.json()) assert response.json()['id'] == '7f00000174441779817444c8842b0017'
def test_get_roles_id_not_found(mock_roles_response): json_data = util_load_json('test_data/404_Not_Found.json') mock_roles_response.return_value = util_mock_http_resp(404, json_data) response = SailPointIdentityIQ.get_roles( MOCK_CLIENT, '7f000001705911b4817059d312394432') assert response.status_code == 404 assert 'urn:ietf:params:scim:api:messages:2.0:Error' in response.json( )['schemas'] assert response.json()['status'] == '404'
def test_get_markdown_objects_none(): markdown = SailPointIdentityIQ.get_markdown('IdentityIQ.Identity', None) headers = [ 'id', 'userName', 'displayName', 'name', 'emails', 'sailpointUser', 'extendedUser', 'entitlements', 'roles', 'capabilities', 'active' ] assert markdown == tableToMarkdown('Identity(Identities)', None, headers=headers)
def test_get_policy_violations_id_not_found(mock_policy_violations_response): json_data = util_load_json('test_data/404_Not_Found.json') mock_policy_violations_response.return_value = util_mock_http_resp( 404, json_data) response = SailPointIdentityIQ.get_policy_violations( MOCK_CLIENT, '8a8080824df45873014df46036521343') assert response.status_code == 404 assert 'urn:ietf:params:scim:api:messages:2.0:Error' in response.json( )['schemas'] assert response.json()['status'] == '404'
def test_get_launched_workflows_id_not_found(mock_launched_workflows_response): json_data = util_load_json('test_data/404_Not_Found.json') mock_launched_workflows_response.return_value = util_mock_http_resp( 404, json_data) response = SailPointIdentityIQ.get_launched_workflows( MOCK_CLIENT, '7f00000173de18fa8173deb1064e0453') assert response.status_code == 404 assert 'urn:ietf:params:scim:api:messages:2.0:Error' in response.json( )['schemas'] assert response.json()['status'] == '404'
def test_get_accounts(mock_accounts_response): json_data = util_load_json('test_data/Accounts.json') mock_accounts_response.return_value = util_mock_http_resp(200, json_data) response = SailPointIdentityIQ.get_accounts(MOCK_CLIENT, None, None, '2020-05-01T00:00:00Z', None, None, None, None) assert response.status_code == 200 verify_scim_list_response(response.json(), 3) for account in response.json()['Resources']: verify_account(account)
def test_search_identities_id_not_found(mock_search_identities_response): json_data = util_load_json('test_data/404_Not_Found.json') mock_search_identities_response.return_value = util_mock_http_resp( 404, json_data) response = SailPointIdentityIQ.search_identities( MOCK_CLIENT, '7f000001705911b4817059d30cf50348', None, 0, True) assert response.status_code == 404 assert response.json()['status'] == '404' assert response.json( )['detail'] == 'Resource 7f000001705911b4817059d30cf50348 not found.'
def test_get_accounts_id_not_found(mock_accounts_response): json_data = util_load_json('test_data/404_Not_Found.json') mock_accounts_response.return_value = util_mock_http_resp(404, json_data) response = SailPointIdentityIQ.get_accounts( MOCK_CLIENT, '7f00000174441779817444c8837c5373', None, None, None, None, None, None) assert response.status_code == 404 assert 'urn:ietf:params:scim:api:messages:2.0:Error' in response.json( )['schemas'] assert response.json()['status'] == '404'
def test_get_markdown(): json_data = util_load_json('test_data/User.json') markdown = SailPointIdentityIQ.get_markdown('IdentityIQ.Identity', json_data) headers = [ 'id', 'userName', 'displayName', 'name', 'emails', 'sailpointUser', 'extendedUser', 'entitlements', 'roles', 'capabilities', 'active' ] assert markdown == tableToMarkdown('Identity(Identities)', json_data, headers=headers)
def test_search_identities_active_true(mock_search_identities_response): json_data = util_load_json('test_data/Users.json') mock_search_identities_response.return_value = util_mock_http_resp( 200, json_data) response = SailPointIdentityIQ.search_identities(MOCK_CLIENT, None, None, 0, True) assert response.status_code == 200 verify_scim_list_response(response.json(), 5) for user in response.json()['Resources']: verify_user(user) assert user['active'] is True
def test_get_headers_success(mock_header): mock_header.return_value = { 'Authorization': 'Bearer RXAxTEQ0ZkhUVm94dmhIWDd1M2Q0TjU3NDRnQUYzN2ouZXVlV2h1WUk4OW9jMi95Zml', 'Content-Type': 'application/json' } headers = SailPointIdentityIQ.get_headers(MOCK_IDENTITYIQ_BASE_URL, 'test', 'test', 'client_credentials') assert headers[ 'Authorization'] == 'Bearer RXAxTEQ0ZkhUVm94dmhIWDd1M2Q0TjU3NDRnQUYzN2ouZXVlV2h1WUk4OW9jMi95Zml' assert headers['Content-Type'] == 'application/json'
def test_transform_object_list(): json_data = util_load_json('test_data/Users.json') data_list = SailPointIdentityIQ.transform_object_list( 'IdentityIQ.Identity', json_data['Resources']) assert data_list == json_data['Resources'] for data in data_list: assert 'sailpointUser' in data for resource in json_data['Resources']: assert 'sailpointUser' in resource
def test_get_accounts_application_name_matched(mock_accounts_response): json_data = util_load_json('test_data/Account_Filtered.json') mock_accounts_response.return_value = util_mock_http_resp(200, json_data) response = SailPointIdentityIQ.get_accounts(MOCK_CLIENT, None, None, None, None, None, None, 'SCIM SDK') assert response.status_code == 200 verify_scim_list_response(response.json(), 1) account = response.json()['Resources'][0] verify_account(account) assert account['id'] == '7f00000174441779817444c883c30016' assert account['application']['displayName'] == 'SCIM SDK'
def test_get_accounts_native_identity_found(mock_accounts_response): json_data = util_load_json('test_data/Account_Filtered.json') mock_accounts_response.return_value = util_mock_http_resp(200, json_data) response = SailPointIdentityIQ.get_accounts(MOCK_CLIENT, None, None, None, 'bjack', None, None, None) assert response.status_code == 200 verify_scim_list_response(response.json(), 1) account = response.json()['Resources'][0] verify_account(account) assert account['id'] == '7f00000174441779817444c883c30016' assert account['nativeIdentity'] == 'bjack'