高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/OPDPlanCancelPostponePlanLogicBatchTest.cls
@@ -1,21 +1,127 @@
@isTest
private class OPDPlanCancelPostponePlanLogicBatchTest {
        // AWSServiceTool2没上线就把这部分注释 start 20220408
   @TestSetup
    static void setup(){
        TestDataUtility.CreatePIPolicyConfigurations(new string[]{'Agency_Contact__c','Contact'});
    }
        
    @isTest
    static void Test1(){
        Test.setMock(HttpCalloutMock.class, new HttpMock());
        List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
        lra.add(new Agency_Contact__c(
        ));
        insert lra;
        Test.startTest();
        //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl);
        AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
        AWSServiceTool2.EncryptPushFuture(null,null);
        Test.stopTest();
    }
   @isTest
    static void Test2(){
        Test.setMock(HttpCalloutMock.class, new HttpMock());
        List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
        lra.add(new Agency_Contact__c(
            Aws_Data_Id__c = '123456'
        ));
        insert lra;
        Test.startTest();
        //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl);
        AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
        Test.stopTest();
    }
    @isTest
    static void Test3(){
        Test.setMock(HttpCalloutMock.class, new HttpMock());
        Test.startTest();
        AWSServiceTool2.EncryptPushData(new string[]{'0031000000O4Cff'});
        Test.stopTest();
    }
  //@isTest
  //  static void Test2(){
  //      Test.setMock(HttpCalloutMock.class, new HttpMock());
  //      List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
  //      lra.add(new Agency_Contact__c(
  //          Id = 'a2R1m0000007BPD',
  //          Aws_Data_Id__c = '123456'
  //      ));
  //      Test.startTest();
  //      //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl);
  //      AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
  //      Test.stopTest();
  //  }
    class HttpMock implements HttpCalloutMock{
            public HTTPResponse respond(HTTPRequest request) {
            // 创建一个假的回应
            System.debug('------------------------------------------------------');
            HttpResponse response = new HttpResponse();
            string body = '';
            system.debug(request.getEndpoint());
            if(request.getEndpoint().contains('token')){
                system.debug('url=token');
                response.setHeader('Content-Type', 'application/json');
          body='{ "message": "", "object": "freqfewqfewewfewfew", "status": "", "success": true, "timestamp": 0, "txId": "" }';
            } else if(request.getEndpoint().contains('insert')){
                system.debug('url=Insert');
                response.setHeader('Content-Type', 'application/json');
          body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }';
            } else if(request.getEndpoint().contains('update')){
                system.debug('url=update');
                response.setHeader('Content-Type', 'application/json');
          body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }';
            } else{
            }
            response.setBody(body);
            response.setStatus('OK');
            response.setStatusCode(200);
            return response;
            // }
        }
    }
    // AWSServiceTool2没上线就把这部分注释 end
    // 202220531 ljh end
        private static void  initHpData() {
            String timenow = Datetime.now().format('yyyyMMddHHmmss');
            User hpOwner = new User(Test_staff__c = true, LastName = 'TestMao', FirstName = 'TestMaoF',
                                    Alias = 'hp', CommunityNickname = 'TestMao', Email = 'Test@sunbridge.com',
                                    Username = 'Test' + timenow + '@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP',
                                    TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = System.Label.ProfileId_SystemAdmin,
                                    Stay_or_not__c = '已离职');
            Insert hpOwner;
            // User hpOwner = new User(Test_staff__c = true, LastName = 'TestMao', FirstName = 'TestMaoF',
            //                         Alias = 'hp', CommunityNickname = 'TestMao', Email = 'Test@sunbridge.com',
            //                         Username = 'Test' + timenow + '@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP',
            //                         TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = System.Label.ProfileId_SystemAdmin
            //                         ,Stay_or_not__c = '已离职');
            // Insert hpOwner;
            User hpOwner = [select Id from user where ProfileId = :System.Label.ProfileId_SystemAdmin and Stay_or_not__c = '已离职' limit 1];
            // User hpOwner2 = new User(Test_staff__c = true,
            //                         LastName = 'TestMao2',
            //                         FirstName = 'TestMaoF2',
            //                         Alias = 'hp',
            //                         CommunityNickname = 'TestMao2',
            //                         Email = 'Test2@sunbridge.com',
            //                         Username = 'Test2' + timenow + '@sunbridge.com',
            //                         IsActive = true,
            //                         EmailEncodingKey = 'ISO-2022-JP',
            //                         TimeZoneSidKey = 'Asia/Tokyo',
            //                         LocaleSidKey = 'ja_JP',
            //                         LanguageLocaleKey = 'ja',
            //                         ProfileId = System.Label.ProfileId_SystemAdmin
            //                         ,Stay_or_not__c = '在职');
            //
            // Insert hpOwner2;
            User hpOwner2 = [select Id from user where ProfileId = :System.Label.ProfileId_SystemAdmin and Stay_or_not__c = '在职' limit 1];
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];//20200916 ljh update
            
            User hpOwner2 = new User(Test_staff__c = true, LastName = 'TestMao2', FirstName = 'TestMaoF2',
                                    Alias = 'hp', CommunityNickname = 'TestMao2', Email = 'Test2@sunbridge.com',
                                    Username = 'Test2' + timenow + '@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP',
                                    TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = System.Label.ProfileId_SystemAdmin,
                                    Stay_or_not__c = '在职');
            Insert hpOwner2;
            // 省
            Address_Level__c al = new Address_Level__c();
            al.Name = '東京';