@isTest private class GoogleDriveFeatureTest { // private class MockHttpListFiles implements HttpCalloutMock { // public HttpResponse respond(HttpRequest req) { // HttpResponse res = new HttpResponse(); // res.setStatusCode(200); // res.setHeader('Content-Type', 'application/json'); // res.setBody('{' + // '"files": [' + // '{' + // '"id": "file123",' + // '"name": "Sample File",' + // '"createdTime": "2021-07-01T10:00:00.000Z",' + // '"webContentLink": "http://example.com/file",' + // '"size": "2048",' + // '"parents": ["parent123"],' + // '"mimeType": "application/pdf",' + // '"owners": [{"displayName": "John Doe"}]' + // '}' + // ']' + // '}'); // return res; // } // } // private class MockHttpCreateFolder implements HttpCalloutMock { // public HttpResponse respond(HttpRequest req) { // HttpResponse res = new HttpResponse(); // res.setStatusCode(200); // res.setHeader('Content-Type', 'application/json'); // res.setBody('{' + // '"id": "newFolder123",' + // '"name": "New Test Folder"' + // '}'); // return res; // } // } // @testSetup // static void setupData() { // HIC_FilesME__ExternalServiceConfig__c config = new HIC_FilesME__ExternalServiceConfig__c( // Name = 'Google Drive Config', // HIC_FilesME__External_Storage_Type__c = 'Google Drive', // HIC_FilesME__Is_Admin_level_Credentials__c = true, // HIC_FilesME__Access_Token__c = 'abc', // HIC_FilesME__Refresh_Token__c = 'refresh_token', // HIC_FilesME__User__c = UserInfo.getUserId() // ); // insert config; // } // @isTest // static void testListFilesRootFolder() { // User u = [SELECT Id FROM User WHERE IsActive = TRUE LIMIT 1]; // System.runAs(u) { // Test.setMock(HttpCalloutMock.class, new MockHttpListFiles()); // GoogleDriveFeature drive = new GoogleDriveFeature(); // Test.startTest(); // OperationResult result = drive.listFiles(true, UserInfo.getUserId(), true, null); // Test.stopTest(); // System.assertNotEquals(null, result); // } // } // @isTest // static void testListFilesNonRootFolder() { // User u = [SELECT Id FROM User WHERE IsActive = TRUE LIMIT 1]; // System.runAs(u) { // Test.setMock(HttpCalloutMock.class, new MockHttpListFiles()); // GoogleDriveFeature drive = new GoogleDriveFeature(); // Test.startTest(); // OperationResult result = drive.listFiles(true, UserInfo.getUserId(), false, 'someFolderId'); // Test.stopTest(); // System.assertNotEquals(null, result); // } // } // @isTest // static void testCreateFolderWithParent() { // User u = [SELECT Id FROM User WHERE IsActive = TRUE LIMIT 1]; // System.runAs(u) { // Test.setMock(HttpCalloutMock.class, new MockHttpCreateFolder()); // GoogleDriveFeature drive = new GoogleDriveFeature(); // Test.startTest(); // OperationResult result = drive.createFolder('parent123', true, 'TestFolder', UserInfo.getUserId()); // Test.stopTest(); // System.assertNotEquals(null, result); // } // } // @isTest // static void testCreateFolderWithoutParent() { // User u = [SELECT Id FROM User WHERE IsActive = TRUE LIMIT 1]; // System.runAs(u) { // Test.setMock(HttpCalloutMock.class, new MockHttpCreateFolder()); // GoogleDriveFeature drive = new GoogleDriveFeature(); // Test.startTest(); // OperationResult result = drive.createFolder(null, true, 'TestFolder', UserInfo.getUserId()); // Test.stopTest(); // System.assertNotEquals(null, result); // } // } // private class MockHttpError implements HttpCalloutMock { // public HttpResponse respond(HttpRequest req) { // HttpResponse res = new HttpResponse(); // res.setStatusCode(500); // res.setBody('{"error": "Internal Server Error"}'); // return res; // } // } }