64 lines
2.2 KiB
OpenEdge ABL
64 lines
2.2 KiB
OpenEdge ABL
@isTest
|
|
private class RefreshTokenKeepAliveTest {
|
|
|
|
private class TokenRefreshMock implements HttpCalloutMock {
|
|
Integer status;
|
|
String body;
|
|
TokenRefreshMock(Integer status, String body) {
|
|
this.status = status;
|
|
this.body = body;
|
|
}
|
|
public HTTPResponse respond(HTTPRequest req) {
|
|
HttpResponse res = new HttpResponse();
|
|
res.setHeader('Content-Type', 'application/json');
|
|
res.setBody(body);
|
|
res.setStatusCode(status);
|
|
return res;
|
|
}
|
|
}
|
|
|
|
private static HIC_ShopifySync__Configuration__c seedConfig() {
|
|
HIC_ShopifySync__Configuration__c c = new HIC_ShopifySync__Configuration__c(
|
|
Name = 'Default',
|
|
HIC_ShopifySync__ClientId__c = 'test_client_id',
|
|
HIC_ShopifySync__ClientSecret__c = 'test_client_secret',
|
|
HIC_ShopifySync__Access_Token__c = 'old_access',
|
|
HIC_ShopifySync__Refresh_Token__c = 'old_refresh'
|
|
);
|
|
insert c;
|
|
return c;
|
|
}
|
|
|
|
@isTest
|
|
static void execute_doesNotThrow() {
|
|
seedConfig();
|
|
Test.setMock(HttpCalloutMock.class, new TokenRefreshMock(200,
|
|
'{"access_token":"new_access","refresh_token":"new_refresh"}'));
|
|
Test.startTest();
|
|
new RefreshTokenKeepAlive().execute(null);
|
|
Test.stopTest();
|
|
}
|
|
|
|
@isTest
|
|
static void refreshNow_withNoConfig_doesNothing() {
|
|
Test.startTest();
|
|
RefreshTokenKeepAlive.refreshNow();
|
|
Test.stopTest();
|
|
}
|
|
|
|
@isTest
|
|
static void refreshNow_withBlankRefreshToken_doesNothing() {
|
|
HIC_ShopifySync__Configuration__c c = new HIC_ShopifySync__Configuration__c(
|
|
Name = 'Default',
|
|
HIC_ShopifySync__ClientId__c = 'cid',
|
|
HIC_ShopifySync__ClientSecret__c = 'csec'
|
|
);
|
|
insert c;
|
|
Test.startTest();
|
|
RefreshTokenKeepAlive.refreshNow();
|
|
Test.stopTest();
|
|
HIC_ShopifySync__Configuration__c after = [SELECT HIC_ShopifySync__Refresh_Token__c FROM HIC_ShopifySync__Configuration__c WHERE Name = 'Default'];
|
|
System.assertEquals(null, after.HIC_ShopifySync__Refresh_Token__c);
|
|
}
|
|
|
|
} |