Ti trovi qui:
Test di unità procedura di integrazione da Apex
È possibile impostare una classe di test in Apex e utilizzarla per chiamare e testare una procedura di integrazione. Nel runtime core, non è possibile eseguire il mocking HTTP e durante l'esecuzione del test si verificano chiamate HTTP reali.
Di seguito è riportato un esempio di test di unità di una procedura di integrazione:
@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);
}
}
Tenere presenti le seguenti caratteristiche dell'esempio:
-
È necessario utilizzare la proprietà seeAllData di Salesforce nell'annotazione
@isTest. Ciò garantisce che il test di unità veda i dati SObject OmniStudio nell'organizzazione. -
Utilizzare l'API
ConnectAPI.OmniDesignerConnect.integrationProcedureExecute()Connect per eseguire la procedura di integrazione. -
Il parametro
Type_Subtypespecifica la procedura di integrazione da testare. Sostituirlo con il Tipo e il Sottotipo della procedura di integrazione, separati da un carattere di sottolineatura.
