Sie befinden sich hier:
Archivieren von Apex Tests
Führen Sie vor der Arbeit in Ihrer Produktionsumgebung unter Archivieren von Apex in der Anwendung "Archivieren" Tests in Ihrem Apex Class Wrapper aus.
MockHttpResponseGenerator.cls
Dieser Code zeigt den simulierten Callout. Die Klasse MockHttpResponseGenerator implementiert die Schnittstelle HttpCalloutMock Apex.
@isTest
global class MockHttpResponseGenerator implements HttpCalloutMock {
public String fakeResponseJson;
public integer statusCode;
String redirectHeader;
public MockHttpResponseGenerator(String fakeResponseJson,Integer statusCode){
this.statusCode = statusCode;
this.fakeResponseJson = fakeResponseJson;
this.redirectHeader = '/example/test';
}
public HTTPResponse respond(HTTPRequest req) {
HTTPResponse res = new HTTPResponse();
res.setBody(this.fakeResponseJson);
res.setStatusCode(this.statusCode);
res.setHeader('Location', this.redirectHeader);
return res;
}
}SearchSdkTest.cls
Dieser Code testet die globale Suchfunktion des SF_Archive.ArchiverAccessor, indem er einen simulierten HTTP-Code mit der Klasse MockHttpResponseGenerator einrichtet. Bei diesem Test wird überprüft, ob der Suchvorgang die erwarteten JSON-Daten und den Statuscode zurückgibt.
@isTest
public with sharing class searchSdkTest {
@isTest
private static void searchSdk() {
// Define a JSON string to be used as the mock response body
String jsonBody = '{"records": [{"CaseNumber":"01916767", "Id":"500Xx000000XXXXXX"}], "total_result_count": 1, "scroll_id":"-1" }';
// Set up the mock HTTP response using the predefined JSON body and HTTP 200 status code
SF_Archive.ArchiverAccessor.setMock((HttpCalloutMock) new MockHttpResponseGenerator(jsonBody, SF_Archive.ArchiverAccessorResponse.HTTP_200_OK));
// Insert a test archive configuration
insert createTestArchiveConfiguration();
// Create a list to hold search filters
list<SF_Archive.SearchFilter> request1 = new list<SF_Archive.SearchFilter>();
// Create a new search filter with the name 'test' and add it to the list
SF_Archive.SearchFilter filter1 = new SF_Archive.SearchFilter('Name', 'test');
request1.add(filter1);
// Start the test context
Test.startTest();
// Perform a global search using the archiver accessor and capture the response
SF_Archive.ArchiverAccessorResponse res = SF_Archive.ArchiverAccessor.performArchiverGlobalSearch('Account', request1);
// Stop the test context
Test.stopTest();
// Assert that the response status code is HTTP 200 OK
system.assertEquals(SF_Archive.ArchiverAccessorResponse.HTTP_200_OK, res.getStatusCode());
// Assert that the response body matches the predefined JSON body
system.assertEquals(res.getBody(), jsonBody);
}
private static SF_Archive_Configuration__c createTestArchiveConfiguration(){
return createTestArchiveConfiguration('https://example');
}
public static SF_Archive_Configuration__c createTestArchiveConfiguration(String url){
SF_Archive_Configuration__c ac = new SF_Archive_Configuration__c();
ac.Name = 'SF_URL';
ac.SF_URL__c = url;
ac.SF_API_Name__c='SF_URL';
return ac;
}
}
