Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- webservice static void RESTApiToAccount(id AccountId)
- {
- String clientId = '3MVG9YDQS5WtC11p0izGLTFFxnJa365Xd9WpNGN1oZPe1ArfQML4Q8EKN8ye3qF4m7iCVPWas1LV1OVCFd9oO';
- String clientSecret = '4032474715821060338';
- String username = '';
- String password = '';
- String reqbody = 'grant_type=password&client_id='+clientId+'&client_secret='+clientSecret+'&username='+username+'&password='+password;
- Http h = new Http();
- HttpRequest req = new HttpRequest();
- req.setBody(reqbody);
- req.setMethod('POST');
- req.setEndpoint('https://ap4.salesforce.com/services/oauth2/token');
- HttpResponse res = h.send(req);
- SendAccountUsingRESTAPI resp1 = (SendAccountUsingRESTAPI)JSON.deserialize(res.getbody(),SendAccountUsingRESTAPI.class);
- system.debug('@@@@access_token@@'+res.getbody() );
- String accessToken;
- accessToken = resp1.access_token;
- if(accessToken != null)
- {
- String endPoint = 'https://ap4.salesforce.com/services/apexrest/Account';
- JSONGenerator gen = JSON.createGenerator(true);
- Account a=[select id,name,website from account where id=:AccountId];
- gen.writeStartObject();
- gen.writeStringField('name', a.name);
- gen.writeStringField('id', a.id);
- gen.writeStringField('website', a.website);
- String s=gen.getasString();
- Http h2 = new Http();
- HttpRequest req1 = new HttpRequest();
- req1.setHeader('Authorization','Bearer ' + accessToken);
- req1.setHeader('Content-Type','application/json');
- req1.setHeader('accept','application/json');
- req1.setBody(s);
- system.debug('sumaiyaaaaaa'+req1.getbody());
- req1.setMethod('POST');
- req1.setEndpoint(endPoint);
- HttpResponse res1 = h2.send(req1);
- String trimmedResponse = res1.getBody();
- system.debug('sasasasa'+res1);
- system.debug('@@@RESPONSE@@'+trimmedResponse);
- JSONParser parser = JSON.createParser(res1.getBody());
- }
- @isTest
- static void myTest() { // Set mock callout class
- Test.startTest();
- Test.setMock(HttpCalloutMock.class, new MockHttpResponseGenerator());
- Account a=new account();
- a.name='test';
- a.website='www.test.com';
- SendAccountUsingRESTAPI.RESTApiToAccount(a.id);
- Test.StopTest();
- }
- @isTest
- public class MockHttpResponseGenerator implements HttpCalloutMock {
- // Implement this interface method
- public HTTPResponse respond(HTTPRequest req) {
- String endpoint = req.getEndpoint();
- if ( endpoint.contains('oauth2/token') ) {
- return buildOAuthResponse( req );
- } else if ( endpoint.contains('/services/apexrest/Account') ) {
- return buildShortenResponse( req );
- }
- return null;
- }
- private HttpResponse buildOAuthResponse( HttpRequest req ) {
- HttpResponse res = new HttpResponse();
- res.setBody('123');
- res.setStatusCode(200);
- return res;
- }
- private HttpResponse buildShortenResponse( HttpRequest req ) {
- // Create a fake response
- HttpResponse res = new HttpResponse();
- res.setHeader('Content-Type', 'application/json');
- res.setBody('{"foo":"bar"}');
- res.setStatusCode(200);
- return res;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement