183 lines
5.8 KiB
OpenEdge ABL
183 lines
5.8 KiB
OpenEdge ABL
@IsTest
|
||
public class ExternalServiceConfigUtilTest {
|
||
|
||
|
||
|
||
/* ============================================================
|
||
TEST 1 – Admin Token Exists (Delete Scenario)
|
||
============================================================ */
|
||
@IsTest
|
||
static void testExternalStorageDisconnectAdmin_DeleteSuccess() {
|
||
|
||
System.debug('===== TEST START : Delete Success Scenario =====');
|
||
|
||
// Create test token record
|
||
HIC_FilesME__External_Token__c token =
|
||
new HIC_FilesME__External_Token__c(
|
||
HIC_FilesME__Is_Admin_level_Credentials__c = true,
|
||
HIC_FilesME__Provider__c = 'Dropbox',
|
||
HIC_FilesME__Principal_Type__c ='USER'
|
||
);
|
||
|
||
insert token;
|
||
|
||
System.debug('Inserted Token Id: ' + token.Id);
|
||
|
||
// Verify record exists
|
||
Integer beforeCount = [
|
||
SELECT COUNT()
|
||
FROM HIC_FilesME__External_Token__c
|
||
WHERE HIC_FilesME__Provider__c = 'Dropbox'
|
||
];
|
||
|
||
System.debug('Record count BEFORE delete: ' + beforeCount);
|
||
System.assertEquals(1, beforeCount);
|
||
|
||
Test.startTest();
|
||
|
||
String result =
|
||
ExternalServiceConfigUtil.externalStorageDisconnectAdmin('Dropbox');
|
||
|
||
Test.stopTest();
|
||
|
||
System.debug('Method Result: ' + result);
|
||
|
||
// Verify record deleted
|
||
Integer afterCount = [
|
||
SELECT COUNT()
|
||
FROM HIC_FilesME__External_Token__c
|
||
WHERE HIC_FilesME__Provider__c = 'Dropbox'
|
||
];
|
||
|
||
System.debug('Record count AFTER delete: ' + afterCount);
|
||
|
||
System.assertEquals(0, afterCount);
|
||
System.assertEquals('deleted', result);
|
||
|
||
System.debug('===== TEST END : Delete Success Scenario =====');
|
||
}
|
||
|
||
|
||
/* ============================================================
|
||
TEST 2 – No Admin Token Found
|
||
============================================================ */
|
||
@IsTest
|
||
static void testExternalStorageDisconnectAdmin_NoRecord() {
|
||
|
||
System.debug('===== TEST START : No Record Scenario =====');
|
||
|
||
// Ensure no record exists
|
||
delete [
|
||
SELECT Id FROM HIC_FilesME__External_Token__c
|
||
WHERE HIC_FilesME__Provider__c = 'GoogleDrive'
|
||
];
|
||
|
||
Test.startTest();
|
||
|
||
String result =
|
||
ExternalServiceConfigUtil.externalStorageDisconnectAdmin('GoogleDrive');
|
||
|
||
Test.stopTest();
|
||
|
||
System.debug('Method Result when no record: ' + result);
|
||
|
||
// Should still return 'deleted'
|
||
System.assertEquals('deleted', result);
|
||
|
||
System.debug('===== TEST END : No Record Scenario =====');
|
||
}
|
||
|
||
|
||
/* ============================================================
|
||
TEST 1 – User Token Exists (Delete Success)
|
||
============================================================ */
|
||
@IsTest
|
||
static void testExternalStoragelogoutUser_DeleteSuccess() {
|
||
|
||
System.debug('===== TEST START : Logout User Delete Success =====');
|
||
|
||
String currentUserId = UserInfo.getUserId();
|
||
System.debug('Current User Id: ' + currentUserId);
|
||
|
||
// Create non-admin token for current user
|
||
HIC_FilesME__External_Token__c token =
|
||
new HIC_FilesME__External_Token__c(
|
||
HIC_FilesME__Is_Admin_level_Credentials__c = false,
|
||
HIC_FilesME__Provider__c = 'Dropbox',
|
||
HIC_FilesME__User__c = currentUserId,
|
||
HIC_FilesME__Principal_Type__c ='USER'
|
||
);
|
||
|
||
insert token;
|
||
|
||
System.debug('Inserted Token Id: ' + token.Id);
|
||
|
||
Integer beforeCount = [
|
||
SELECT COUNT()
|
||
FROM HIC_FilesME__External_Token__c
|
||
WHERE HIC_FilesME__Provider__c = 'Dropbox'
|
||
AND HIC_FilesME__User__c = :currentUserId
|
||
];
|
||
|
||
System.debug('Record count BEFORE delete: ' + beforeCount);
|
||
System.assertEquals(1, beforeCount);
|
||
|
||
Test.startTest();
|
||
|
||
String result =
|
||
ExternalServiceConfigUtil.externalStoragelogoutUser('Dropbox', false);
|
||
|
||
Test.stopTest();
|
||
|
||
System.debug('Method Result: ' + result);
|
||
|
||
Integer afterCount = [
|
||
SELECT COUNT()
|
||
FROM HIC_FilesME__External_Token__c
|
||
WHERE HIC_FilesME__Provider__c = 'Dropbox'
|
||
AND HIC_FilesME__User__c = :currentUserId
|
||
];
|
||
|
||
System.debug('Record count AFTER delete: ' + afterCount);
|
||
|
||
System.assertEquals(0, afterCount);
|
||
System.assertEquals('deleted', result);
|
||
|
||
System.debug('===== TEST END : Logout User Delete Success =====');
|
||
}
|
||
|
||
|
||
/* ============================================================
|
||
TEST 2 – No Token Found (Delete Failed)
|
||
============================================================ */
|
||
@IsTest
|
||
static void testExternalStoragelogoutUser_NoRecord() {
|
||
|
||
System.debug('===== TEST START : Logout User No Record =====');
|
||
|
||
String currentUserId = UserInfo.getUserId();
|
||
// Ensure no matching record exists
|
||
delete [
|
||
SELECT Id FROM HIC_FilesME__External_Token__c
|
||
WHERE HIC_FilesME__Provider__c = 'GoogleDrive'
|
||
AND HIC_FilesME__User__c = :currentUserId
|
||
];
|
||
|
||
Test.startTest();
|
||
|
||
String result =
|
||
ExternalServiceConfigUtil.externalStoragelogoutUser('GoogleDrive', false);
|
||
Test.stopTest();
|
||
|
||
System.debug('Method Result: ' + result);
|
||
|
||
System.assertEquals('delete failed', result);
|
||
|
||
System.debug('===== TEST END : Logout User No Record =====');
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
} |