Backup_FME_personal/force-app/main/default/classes/BoxAuthTest.cls

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);
}
}