You need to sign in to do that
Don't have an account?

testcase for below class
global class bitly {
Public String mode;
Public String sUrl;
public String getbitly () {
String shorten;
XmlStreamReader reader;
HttpResponse res;
//First, build the http request
Http h = new Http();
HttpRequest req = buildWebServiceRequest(sURL);
//Second, invoke web service call
if (mode=='live') { res = invokeWebService(h, req); }
if (mode=='live') { reader = res.getXmlStreamReader(); }
else
{
String str = '<bitly><results shortUrl="http://bit.ly/QqHEm">Foo bar</results></bitly>';
reader = new XmlStreamReader(str);
}
return readXMLResponse(reader,'shortUrl');
}
public static HttpRequest buildWebServiceRequest(String purl){
String endpoint;
HttpRequest req = new HttpRequest();
endpoint = 'http://api.bitly.com/shorten?version=2.0.1&format=xml&history=1&longUrl=' + purl + '&login=tseth&apiKey=R_948fa681da46221f969e83b2ba52d31e';
req.setEndpoint(endpoint);
req.setMethod('GET');
return req;
}
public static HttpResponse invokeWebService(Http h, HttpRequest req){
//Invoke Web Service
HttpResponse res = h.send(req);
return res;
}
public static String readXMLResponse(XmlStreamReader reader, String sxmltag){
string retValue;
// Read through the XML
system.debug(reader.toString());
while(reader.hasNext()) {
if (reader.getEventType() == XmlTag.START_ELEMENT) {
if (reader.getLocalName() == sxmltag) {
reader.next();
if (reader.getEventType() == XmlTag.characters) {
retValue = reader.getText();
}
}
}
reader.next();
}
return retValue;
}
}
Hi,
Try the below class with test method code for reference:
global class bitly {
Public String mode;
Public String sUrl;
public String getbitly () {
String shorten;
XmlStreamReader reader;
HttpResponse res;
//First, build the http request
Http h = new Http();
HttpRequest req = buildWebServiceRequest(sURL);
//Second, invoke web service call
if (mode=='live') { res = invokeWebService(h, req); }
if (mode=='live') { reader = res.getXmlStreamReader(); }
else
{
String str = '<bitly><results shortUrl="http://bit.ly/QqHEm">Foo bar</results></bitly>';
reader = new XmlStreamReader(str);
}
return readXMLResponse(reader,'shortUrl');
}
public static HttpRequest buildWebServiceRequest(String purl){
String endpoint;
HttpRequest req = new HttpRequest();
endpoint = 'http://api.bitly.com/shorten?version=2.0.1&format=xml&history=1&longUrl=' + purl + '&login=tseth&apiKey=R_948fa681da46221f969e83b2ba52d31e';
req.setEndpoint(endpoint);
req.setMethod('GET');
return req;
}
public static HttpResponse invokeWebService(Http h, HttpRequest req){
//Invoke Web Service
HttpResponse res = h.send(req);
return res;
}
public static String readXMLResponse(XmlStreamReader reader, String sxmltag){
string retValue;
// Read through the XML
system.debug(reader.toString());
while(reader.hasNext()) {
if (reader.getEventType() == XmlTag.START_ELEMENT) {
if (reader.getLocalName() == sxmltag) {
reader.next();
if (reader.getEventType() == XmlTag.characters) {
retValue = reader.getText();
}
}
}
reader.next();
}
return retValue;
}
public static testmethod void myTest()
{
bitly b=new bitly();
b.getbitly();
}
}
Did this answer your question? If not, let me know what didn't work, or if so, please mark it solved.
These Below parts are not covering. code coverage is 81% without Fail. I need to cover atleast 90%.
Hi,
You have to make the data in such a way that remaining part will cover Try the below it will give you 87% coverage:
global class bitly {
Public String mode;
Public String sUrl;
public String getbitly () {
String shorten;
XmlStreamReader reader;
HttpResponse res;
//First, build the http request
Http h = new Http();
HttpRequest req = buildWebServiceRequest(sURL);
//Second, invoke web service call
if (mode=='live') { res = invokeWebService(h, req); }
if (mode=='live') { reader = res.getXmlStreamReader(); }
else
{
String str = '<bitly><results shortUrl="http://bit.ly/QqHEm">Foo bar</results></bitly>';
reader = new XmlStreamReader(str);
}
return readXMLResponse(reader,'shortUrl');
}
public static HttpRequest buildWebServiceRequest(String purl){
String endpoint;
HttpRequest req = new HttpRequest();
endpoint = 'http://api.bitly.com/shorten?version=2.0.1&format=xml&history=1&longUrl=' + purl + '&login=tseth&apiKey=R_948fa681da46221f969e83b2ba52d31e';
req.setEndpoint(endpoint);
req.setMethod('GET');
return req;
}
public static HttpResponse invokeWebService(Http h, HttpRequest req){
//Invoke Web Service
HttpResponse res = h.send(req);
return res;
}
public static String readXMLResponse(XmlStreamReader reader, String sxmltag){
string retValue;
// Read through the XML
system.debug(reader.toString());
while(reader.hasNext()) {
if (reader.getEventType() == XmlTag.START_ELEMENT) {
if (reader.getLocalName() == sxmltag) {
reader.next();
if (reader.getEventType() == XmlTag.characters) {
retValue = reader.getText();
}
}
}
reader.next();
}
return retValue;
}
public static testmethod void myTest()
{
bitly b=new bitly();
b.getbitly();
Http h = new Http();
String sUrl='abc';
HttpRequest req = buildWebServiceRequest(sURL);
bitly.invokeWebService(h, req);
}
}