How can I write a test class with DOM.XMLNode response?
request.setBody('<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Header/><Body><login xmlns="urn:partner.soap.sforce.com"><username>' + '<userName>' + '</username><password>' + '<Password>' + '</password></login></Body></Envelope>');
Dom.XmlNode resultElmt = (new Http()).send(request).getBodyDocument().getRootElement()
.getChildElement('Body','http://schemas.xmlsoap.org/soap/envelope/')
.getChildElement('loginResponse','urn:partner.soap.sforce.com')
.getChildElement('result','urn:partner.soap.sforce.com');
String sessionId = resultElmt.getChildElement('sessionId','urn:partner.soap.sforce.com').getText();
Test class from comment:
@IsTest
global class Stubby implements HttpCalloutMock {
global HTTPResponse respond(HTTPRequest req) {
HttpResponse res = new HttpResponse();
Dom.Document doc = res.getBodyDocument();
Dom.XMLNode address = doc.getRootElement();
String name = address.getChildElement('serverUrl', null).getText();
String SESSION_ID = address.getChildElement('SESSION_ID', null).getText();
}
}