Backup_FME_personal/force-app/main/default/classes/ExternalServiceConfigUtilTe...

183 lines
5.8 KiB
OpenEdge ABL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@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 =====');
}
}