def test_reset_credentials_password(self, graph_client_mock): patch_invoked = [False] # to be used in a nested function below, array type is needed to get scoping work test_object_id = 'app_object_id' test_pwd = 'verySecret' name = 'http://mysp' def test_patch(id, param): patch_invoked[0] = True self.assertEqual(id, test_object_id) self.assertEqual(1, len(param.password_credentials)) self.assertEqual(param.password_credentials[0].value, test_pwd) faked_graph_client = mock.MagicMock() sp_object = mock.MagicMock() sp_object.app_id = 'app_id' app_object = mock.MagicMock() cmd = mock.MagicMock() cmd.cli_ctx = DummyCli() app_object.object_id = test_object_id graph_client_mock.return_value = faked_graph_client faked_graph_client.service_principals.list.return_value = [sp_object] faked_graph_client.applications.list.return_value = [app_object] faked_graph_client.applications.get.side_effect = [app_object] faked_graph_client.applications.patch = test_patch faked_graph_client.applications.list_password_credentials.side_effect = [ValueError('should not invoke')] # action reset_service_principal_credential(cmd, name, test_pwd, append=False) # assert self.assertTrue(patch_invoked[0])
def test_reset_credentials_password(self, graph_client_mock): patch_invoked = [False] # to be used in a nested function below, array type is needed to get scoping work test_object_id = 'app_object_id' test_pwd = 'verySecret' name = 'http://mysp' def test_patch(id, param): patch_invoked[0] = True self.assertEqual(id, test_object_id) self.assertEqual(1, len(param.password_credentials)) self.assertEqual(param.password_credentials[0].value, test_pwd) faked_graph_client = mock.MagicMock() sp_object = mock.MagicMock() sp_object.app_id = 'app_id' app_object = mock.MagicMock() cmd = mock.MagicMock() cmd.cli_ctx = TestCli() app_object.object_id = test_object_id graph_client_mock.return_value = faked_graph_client faked_graph_client.service_principals.list.return_value = [sp_object] faked_graph_client.applications.list.return_value = [app_object] faked_graph_client.applications.get.side_effect = [app_object] faked_graph_client.applications.patch = test_patch faked_graph_client.applications.list_password_credentials.side_effect = [ValueError('should not invoke')] # action reset_service_principal_credential(cmd, name, test_pwd, append=False) # assert self.assertTrue(patch_invoked[0])
def test_reset_credentials_certificate_append_option( self, graph_client_mock): patch_invoked = [ False ] # to be used in a nested function below, array type is needed to get scoping work test_object_id = 'app_object_id' test_cert = _try_x509_pem('\n'.join([ '-----BEGIN CERTIFICATE-----', 'MIICoTCCAYkCAgPoMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNVBAMMCUNMSS1Mb2dp', 'bjAiGA8yMDE3MTExMzIxMjQyMloYDzIwMTgxMTEzMjEyNDI0WjAUMRIwEAYDVQQD', 'DAlDTEktTG9naW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtyRA6', 'mbUtByQBODMlp3r5fGpnYCfRhAzp2U29KRVTOQK1ntMIo3FWR19ceqK6T0UM+BFb', 'XGn28hGhgz5Y1lrbqyKrAcF10/3y42wmiMyPWjmXJ+WOEKjckKKzPMm2KBsn/ePV', 'qsr5UwlnHh2rGFR0PF1qjC0IU/SI0UQN0KJKpVp0OB8+lRlIAcsLUTveTXbdFDlp', 'k5AA8w3TTo7pT5sKNZr3+qv1o4ogDfDEx0bCYtlm4L1HvGer4pbX7q35ucZY9BWq', 'VjHQ/MjiuAyxZoyY5xVoULMWJupRyMT3wP1Hb+oJ9/tTBZbpNTv1ed9OswCc2W1l', 'MQzLwE10Ev0LJkhlAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAF+RP+7uzmf4u4+l', 'xjS+lXd3O0tqTNOVe8RR+GXl1s2Un6UhwmP3SKs2RNcXkb9+6Q4Zvg7GODK7Z8th', 't/enpTcvLmPmq2ow1hFGWJk/lONZtVKU2mikTY/ICnQrbhf3WYr1cuf98CRqoG71', 'ldrjgSsM1Ut7Gee1Tpc2eamRtHTm07AUQhqGnS5wVp6s1HUd43nvu/lVx+j2hjEB', 'y63BSuD3aSUweVne4roBNcBJjLU1wvYl+3cLgnZ9///3y/C4pKebsKHljkejRaer', 'nvbPfW9hy7BqMem7t0Qk2D84VzaK+6x9EnnsXy+90nfvTLUSqpU1MjpdWhuWyxDL', 'p4oYS5Q=', '-----END CERTIFICATE-----' ])) key_id_of_existing_cert = 'existing cert' name = 'http://mysp' def test_patch(id, param): patch_invoked[0] = True self.assertEqual(id, test_object_id) self.assertEqual(2, len(param.key_credentials)) self.assertTrue(len(param.key_credentials[1].value) > 0) self.assertEqual(param.key_credentials[1].type, 'AsymmetricX509Cert') self.assertEqual(param.key_credentials[1].usage, 'Verify') self.assertEqual(param.key_credentials[0].key_id, key_id_of_existing_cert) faked_graph_client = mock.MagicMock() sp_object = mock.MagicMock() sp_object.app_id = 'app_id' app_object = mock.MagicMock() app_object.object_id = test_object_id key_cred = mock.MagicMock() key_cred.key_id = key_id_of_existing_cert graph_client_mock.return_value = faked_graph_client faked_graph_client.service_principals.list.return_value = [sp_object] faked_graph_client.applications.list.return_value = [app_object] faked_graph_client.applications.get.side_effect = [app_object] faked_graph_client.applications.patch = test_patch faked_graph_client.applications.list_key_credentials.return_value = [ key_cred ] # action reset_service_principal_credential(name, cert=test_cert, append=True) # assert self.assertTrue(patch_invoked[0])
def test_reset_credentials_certificate_append_option(self, graph_client_mock): patch_invoked = [False] # to be used in a nested function below, array type is needed to get scoping work test_object_id = 'app_object_id' test_cert = _try_x509_pem('\n'.join(['-----BEGIN CERTIFICATE-----', 'MIICoTCCAYkCAgPoMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNVBAMMCUNMSS1Mb2dp', 'bjAiGA8yMDE3MTExMzIxMjQyMloYDzIwMTgxMTEzMjEyNDI0WjAUMRIwEAYDVQQD', 'DAlDTEktTG9naW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtyRA6', 'mbUtByQBODMlp3r5fGpnYCfRhAzp2U29KRVTOQK1ntMIo3FWR19ceqK6T0UM+BFb', 'XGn28hGhgz5Y1lrbqyKrAcF10/3y42wmiMyPWjmXJ+WOEKjckKKzPMm2KBsn/ePV', 'qsr5UwlnHh2rGFR0PF1qjC0IU/SI0UQN0KJKpVp0OB8+lRlIAcsLUTveTXbdFDlp', 'k5AA8w3TTo7pT5sKNZr3+qv1o4ogDfDEx0bCYtlm4L1HvGer4pbX7q35ucZY9BWq', 'VjHQ/MjiuAyxZoyY5xVoULMWJupRyMT3wP1Hb+oJ9/tTBZbpNTv1ed9OswCc2W1l', 'MQzLwE10Ev0LJkhlAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAF+RP+7uzmf4u4+l', 'xjS+lXd3O0tqTNOVe8RR+GXl1s2Un6UhwmP3SKs2RNcXkb9+6Q4Zvg7GODK7Z8th', 't/enpTcvLmPmq2ow1hFGWJk/lONZtVKU2mikTY/ICnQrbhf3WYr1cuf98CRqoG71', 'ldrjgSsM1Ut7Gee1Tpc2eamRtHTm07AUQhqGnS5wVp6s1HUd43nvu/lVx+j2hjEB', 'y63BSuD3aSUweVne4roBNcBJjLU1wvYl+3cLgnZ9///3y/C4pKebsKHljkejRaer', 'nvbPfW9hy7BqMem7t0Qk2D84VzaK+6x9EnnsXy+90nfvTLUSqpU1MjpdWhuWyxDL', 'p4oYS5Q=', '-----END CERTIFICATE-----'])) key_id_of_existing_cert = 'existing cert' name = 'http://mysp' def test_patch(id, param): patch_invoked[0] = True self.assertEqual(id, test_object_id) self.assertEqual(2, len(param.key_credentials)) self.assertTrue(len(param.key_credentials[1].value) > 0) self.assertEqual(param.key_credentials[1].type, 'AsymmetricX509Cert') self.assertEqual(param.key_credentials[1].usage, 'Verify') self.assertEqual(param.key_credentials[0].key_id, key_id_of_existing_cert) faked_graph_client = mock.MagicMock() sp_object = mock.MagicMock() sp_object.app_id = 'app_id' app_object = mock.MagicMock() app_object.object_id = test_object_id key_cred = mock.MagicMock() key_cred.key_id = key_id_of_existing_cert cmd = mock.MagicMock() cmd.cli_ctx = TestCli() graph_client_mock.return_value = faked_graph_client faked_graph_client.service_principals.list.return_value = [sp_object] faked_graph_client.applications.list.return_value = [app_object] faked_graph_client.applications.get.side_effect = [app_object] faked_graph_client.applications.patch = test_patch faked_graph_client.applications.list_key_credentials.return_value = [key_cred] # action reset_service_principal_credential(cmd, name, cert=test_cert, append=True) # assert self.assertTrue(patch_invoked[0])