You need to sign in to do that
Don't have an account?
Douglas Traster
Webservice Unit Test
I am trying to build a unit test for my webservice.
I have the following class that is able to pull an ID from a custom object:
global with sharing class SendDataforForms {
webservice static string SendDataforForms(Id AccountId) {
String result = 'need to add try catch to help in debug';
try{
Id SQId = [Select Id from Student_Questionnaire__c
where Account__r.Id =:AccountId ].Id;
System.debug('StudentQuestionnaireId: ' + SQId);
TenStreetWebservice.GetStudentIDforData(SQId);
result = 'OK';
return result;
}catch(DmlException e) {
System.debug('The Following exception has occurred: '+e.getMessage());
result = e.getMessage();
return result;
}
}
}
Which, in turn, calls a webservice:
global class TenStreetWebservice {
public TenStreetWebservice () {
}
@future (callout=true)
public static void GetStudentIDforData(Id StudentQuestionnaireId) {
System.debug('Start StudentQID');
System.debug('StudentQuestionnaireId: ' + StudentQuestionnaireId);
HttpRequest req = new HttpRequest();
HttpResponse res = new HttpResponse();
Http http = new Http();
req.setEndpoint('http://cloud01.roadmaster.com:46908/api/v1/SendTo10Street?StudentQuestionnaireId='+StudentQuestionnaireId );
req.setMethod('POST');
req.setTimeout(50000);
try {
res = http.send(req);
} catch(System.CalloutException e) {
System.debug('Callout error: '+ e);
System.debug(res.toString());
}
}
}
I am having problems with testing the string that I should be testing. I have this so far, but am lost on how I should go:
@isTest
global class TenStreetWebSvcMockImpl implements WebServiceMock {
global void doInvoke(
Object Stub,
Object request,
Map<String, Object> response,
String endpoint,
String soapAction,
String requestName,
String responseNS,
String responseName,
String responseType) {
public String[] createSendDataforForms;
}
}
Any help would be appreciated.
I have the following class that is able to pull an ID from a custom object:
global with sharing class SendDataforForms {
webservice static string SendDataforForms(Id AccountId) {
String result = 'need to add try catch to help in debug';
try{
Id SQId = [Select Id from Student_Questionnaire__c
where Account__r.Id =:AccountId ].Id;
System.debug('StudentQuestionnaireId: ' + SQId);
TenStreetWebservice.GetStudentIDforData(SQId);
result = 'OK';
return result;
}catch(DmlException e) {
System.debug('The Following exception has occurred: '+e.getMessage());
result = e.getMessage();
return result;
}
}
}
Which, in turn, calls a webservice:
global class TenStreetWebservice {
public TenStreetWebservice () {
}
@future (callout=true)
public static void GetStudentIDforData(Id StudentQuestionnaireId) {
System.debug('Start StudentQID');
System.debug('StudentQuestionnaireId: ' + StudentQuestionnaireId);
HttpRequest req = new HttpRequest();
HttpResponse res = new HttpResponse();
Http http = new Http();
req.setEndpoint('http://cloud01.roadmaster.com:46908/api/v1/SendTo10Street?StudentQuestionnaireId='+StudentQuestionnaireId );
req.setMethod('POST');
req.setTimeout(50000);
try {
res = http.send(req);
} catch(System.CalloutException e) {
System.debug('Callout error: '+ e);
System.debug(res.toString());
}
}
}
I am having problems with testing the string that I should be testing. I have this so far, but am lost on how I should go:
@isTest
global class TenStreetWebSvcMockImpl implements WebServiceMock {
global void doInvoke(
Object Stub,
Object request,
Map<String, Object> response,
String endpoint,
String soapAction,
String requestName,
String responseNS,
String responseName,
String responseType) {
public String[] createSendDataforForms;
}
}
Any help would be appreciated.