78 lines
2.0 KiB
OpenEdge ABL
78 lines
2.0 KiB
OpenEdge ABL
@IsTest
|
|
public with sharing class BoxAuthTest {
|
|
|
|
// Mock for HTTP callouts
|
|
|
|
private class BoxTokenMock implements HttpCalloutMock {
|
|
|
|
public HTTPResponse respond(HTTPRequest req) {
|
|
|
|
HttpResponse res = new HttpResponse();
|
|
res.setStatusCode(200);
|
|
|
|
// First call: token endpoint
|
|
if (req.getMethod() == 'POST') {
|
|
res.setBody('{"access_token":"testAccessToken","refresh_token":"testRefreshToken"}');
|
|
}
|
|
// Second call: fetch user info
|
|
else if (req.getMethod() == 'GET') {
|
|
res.setBody('{"login":"testuser@box.com"}');
|
|
}
|
|
|
|
return res;
|
|
}
|
|
}
|
|
|
|
|
|
@IsTest
|
|
static void testGetAccessToken() {
|
|
|
|
// Set mock
|
|
Test.setMock(HttpCalloutMock.class, new BoxTokenMock());
|
|
|
|
// Create instance of your auth class
|
|
// Replace BoxAuth with your actual class name
|
|
BoxAuth auth = new BoxAuth();
|
|
|
|
Test.startTest();
|
|
auth.getAccessToken(
|
|
'dummyCode',
|
|
'box',
|
|
true,
|
|
UserInfo.getUserId()
|
|
);
|
|
Test.stopTest();
|
|
|
|
// Optional: Query token object if storeToken inserts record
|
|
// Add assertion if needed
|
|
|
|
System.assert(true); // Method executed successfully
|
|
}
|
|
|
|
private class RefreshTokenMock implements HttpCalloutMock {
|
|
|
|
public HTTPResponse respond(HTTPRequest req) {
|
|
|
|
HttpResponse res = new HttpResponse();
|
|
res.setStatusCode(200);
|
|
res.setBody('{"access_token":"newAccessToken123"}');
|
|
|
|
return res;
|
|
}
|
|
}
|
|
|
|
|
|
@IsTest
|
|
static void testRefreshAccessToken() {
|
|
|
|
|
|
Test.setMock(HttpCalloutMock.class, new RefreshTokenMock());
|
|
BoxAuth auth = new BoxAuth();
|
|
Test.startTest();
|
|
String token = auth.refreshAccessToken('oldRefreshToken');
|
|
Test.stopTest();
|
|
System.assertEquals('newAccessToken123', token);
|
|
}
|
|
|
|
|
|
} |