PDF_Generation_and_Automation/force-app/main/default/classes/TestNewFlow.cls
2025-09-02 12:55:01 +05:30

63 lines
3.0 KiB
OpenEdge ABL

public with sharing class TestNewFlow {
@AuraEnabled
public static String testNewPDFFlow() {
try {
// Test with minimal HTML to verify the new flow
String testHtml = '<html><body><h1>Test PDF</h1><p>Testing new flow with PDF generation first, then download link.</p></body></html>';
Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint('https://salesforce.tech4biz.io/generate-pdf');
request.setMethod('POST');
request.setHeader('Content-Type', 'application/json');
request.setHeader('Accept', 'application/json');
Map<String, Object> requestBody = new Map<String, Object>();
requestBody.put('html_content', testHtml);
requestBody.put('pageSize', 'A4');
requestBody.put('filename', 'test_new_flow.pdf');
requestBody.put('return_download_link', true);
requestBody.put('store_on_server', true);
requestBody.put('pdf_id', 'TEST_NEW_FLOW_' + DateTime.now().getTime());
String jsonBody = JSON.serialize(requestBody);
request.setBody(jsonBody);
request.setTimeout(60000); // 1 minute timeout for PDF generation
System.debug('=== TESTING NEW FLOW ===');
System.debug('Request Body: ' + jsonBody);
HttpResponse response = http.send(request);
System.debug('Response Status: ' + response.getStatusCode());
System.debug('Response Body Length: ' + response.getBody().length());
System.debug('Response Body: ' + response.getBody());
if (response.getStatusCode() == 200) {
String responseBody = response.getBody();
Map<String, Object> responseMap = (Map<String, Object>) JSON.deserializeUntyped(responseBody);
// Check if the response contains the expected fields
Boolean hasDownloadUrl = responseMap.containsKey('download_url') || responseMap.containsKey('downloadUrl');
Boolean hasPdfId = responseMap.containsKey('pdf_id');
Boolean hasSuccess = responseMap.containsKey('success');
String result = 'SUCCESS: New flow working correctly!\n';
result += 'Response Size: ' + response.getBody().length() + ' bytes\n';
result += 'Has Download URL: ' + hasDownloadUrl + '\n';
result += 'Has PDF ID: ' + hasPdfId + '\n';
result += 'Has Success Flag: ' + hasSuccess + '\n';
result += 'Full Response: ' + responseBody;
return result;
} else {
return 'ERROR: HTTP ' + response.getStatusCode() + ' - ' + response.getBody();
}
} catch (Exception e) {
return 'ERROR: ' + e.getMessage() + '\nStack: ' + e.getStackTraceString();
}
}
}