Você está aqui:
Teste de unidade do procedimento de integração do Apex
Você pode configurar uma classe de teste no Apex e usá-la para chamar e testar um Procedimento de integração. No tempo de execução principal, a simulação de HTTP não é possível e chamadas HTTP reais ocorrem durante a execução de testes.
A seguir, há um exemplo de teste de unidade de um Procedimento de integração:
@isTest(seeAllData=true)
global with sharing class TestIntegrationProcedure
{
static testMethod void testIP()
{
Map<String, Object> inputMap = new Map<String, Object>();
inputMap.put('AccountName', 'Acme');
ConnectAPI.IntegrationProcedureServiceRunInputRepresentation apexInput = new ConnectAPI.IntegrationProcedureServiceRunInputRepresentation();
List<String> stringList = new List<String>();
String serializedInputMap = JSON.serialize(inputMap);
stringList.add(serializedInputMap);
apexInput.input = stringList;
ConnectAPI.IntegrationProcedureServiceRunOutputRepresentation output = ConnectAPI.OmniDesignerConnect.integrationProcedureExecute('Type_Subtype', apexInput);
List<String> responseList = output.response;
String currentSerResponse = responseList[0];
Map<String, Object> currentResponseObj = (Map<String, Object>)JSON.deserializeUntyped(currentSerResponse);
Object response = currentResponseObj.get('result');
System.assertNotEquals(null, response);
}
}
Observe estes recursos do exemplo:
-
Você deve usar a propriedade seeAllData do Salesforce na anotação de
@isTest. Isso garante que o teste de unidade veja os dados do SObject do OmniStudio na organização. -
Use a API do
ConnectAPI.OmniDesignerConnect.integrationProcedureExecute()Connect para executar o Procedimento de integração. -
O parâmetro
Type_Subtypeespecifica o Procedimento de integração a ser testado. Substitua-o pelo Tipo e pelo Subtipo do seu Procedimento de integração, separados por um sublinhado.
