Skip to content

Instantly share code, notes, and snippets.

@metadaddy
Created October 19, 2012 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save metadaddy/3918438 to your computer and use it in GitHub Desktop.
Save metadaddy/3918438 to your computer and use it in GitHub Desktop.
MultiJSONResponseCalloutMock
global class MultiJSONResponseCalloutMock implements HttpCalloutMock {
private HTTPResponse res;
private Map<String, String> m;
global MultiJSONResponseCalloutMock() {
this.res = new HTTPResponse();
this.m = new Map<String, String>();
this.res.setStatusCode(200);
this.res.setStatus('OK');
}
global void setJSONResponse(String url, String jsonResponse) {
this.m.put(url, jsonResponse);
}
global void setStatusCode(integer code) {
this.res.setStatusCode(code);
}
global void setStatus(String status) {
this.res.setStatus(status);
}
global void setHeader(String key, String val) {
this.res.setHeader(key, val);
}
global HTTPResponse respond(HTTPRequest request) {
String json = this.m.get(request.getEndpoint());
this.res.setBody(json);
return res;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment