Salesforce Test Data Framework

Feb 23, 2017 / Salesforce / Development

 

1. General Information

The goal of creating the framework was to simplify management of test data in unit test scope.

It was achieved by developing a logic that:

  • - prepares test data with high automation level based on records already present in Salesforce organisation.
  • - is able to read the prepared file in unit test scope using only couple lines of code.
  • - has "Google Docs like" table edit mode and merge mode.

The logic reads a Static Resource file containing plain text with a custom CSV format.

There are 6 types of special tokens:
#//include reads a separate Static Resource and insert records from it before proceeding further.
#//replacement indicates that records in the CSV file contain a {{! }}.
#//runAs executes the code under a specified Profile.
#// without being followed by include, replacement or runAs keywords means that there is an SObject name specified next followed by a new line with field names.
///# starts a comment.
#/// ends a comment.

For better understanding of the CSV structure, please, refer to an example presented in section 3.1.

I feel that among all of the tokens described above, the replacement one might cause confusion. In an example from section 3.1 profile.name replacement was created for User type of Object. That means that the system will automatically perform replacement of System Administrator text between {{! and }} tokens with an Id of a User who has System Administrator Profile. The replacements functionality enables maintaining meaningful names instead of Ids to keep better track of records in a CSV file.

 

2. Prepare the test data

2.1. Go to /apex/Ide#/editor/newStaticResource by clicking New Static Resource in menu shown on Pic. 2.1.

Pic. 2.1. Menu.

 

2.2. The data from Table 2.1 below will be used as Filter to extracting test data from the organisation. This is just an example. The filters can be different depending on what kind of test data is needed.

 

CampaignMember Campaign.Name = 'DM Campaign to Top Customers - Nov 12-23, 2001'
Opportunity Account.Name = 'Express Logistics and Transport'
Contact Account.Name = 'Express Logistics and Transport'
Case Account.Name = 'Express Logistics and Transport'

Table 2.1. Example of test data filters.

 

Pic. 2.2. Filters input.

 

The filters will be stored in a comment, a text between ///# and #/// tokens at the end of CSV file for future reference, to keep track of original filter criteria.

When the data is being read and inserted in test scope, the text from comments is ignored.

2.3. Specify the Static Resource name. In this case it is testdataCampaign.

2.4. Click Submit filter and a crawling process will start. It will go up in hierarchy of SObjects, to parents of records retrieved with specified filters and parents of parents and so on up until there are no more Id references. The process constantly appends values to a CSV string which will be stored in testdataCampaign Static Resource.

 

Pic. 2.1. Table view link and Merge mode checkbox in editor view.

 

It is possible to view the data in a table view mode after clicking Table view link on editor view. See Pic. 2.1 and Pic. 2.2.

 

Pic. 2.2. Table view of the test data with a demonstration of editing menu options, like adding row or column.

 

If the Static Resource with the given name already exists there will be a prompt shown asking if the data should be overwritten or merged, see Pic. 2.3.

If the option to merge has been chosen the logic will go through existing CSV records and will check the Ids.

If there were Ids matches found when comparing old and new records, the system will check if any fields have been updated and if so will put the new values into the CSV.

If the Ids from existing CSV do not match any existing - new records will be appended to the existing CSV in according SObject section, see section 3.1

The merge will also be performed if there are records pasted in editor after Merge mode checkbox has been activated, see Pic. 2.2.

 

Pic. 2.3. A message that appears when a Static Resource with a name provided already exists.

 

 

3. Using the framework in test scope

3.1. Static Resource with the test data, testdataCampaign:


##//include testdataUser

##//replacement User
profile.name
System Administrator

##//Campaign
id,ownerid,campaignmemberrecordtypeid,parentid,name,actualcost,budgetedcost,description,enddate,expectedresponse,expectedrevenue,isactive,numbersent,startdate,status,type
70158000000QifmAAC,{{!System Administrator}},,,"DM Campaign to Top Customers - Nov 12-23, 2001",23500,25000,,2009-11-08 00:00:00,7.00,2500000,true,15000,2009-10-28 00:00:00,Completed,Direct Mail

##//Account
id,ownerid,dandbcompanyid,parentid,name,accountnumber,accountsource,active__c,annualrevenue,billingcity,billingcountry,billingpostalcode,billingstate,billingstreet,customerpriority__c,description,dunsnumber,fax,industry,jigsaw,naicscode,naicsdesc,numberofemployees,numberoflocations__c,ownership,phone,rating,shippingcity,shippingcountry,shippingpostalcode,shippingstate,shippingstreet,sic,sicdesc,site,sla__c,slaexpirationdate__c,slaserialnumber__c,tickersymbol,tradestyle,type,upsellopportunity__c,website,yearstarted
0015800000DuRNKAA3,{{!System Administrator}},,,United Oil & Gas Corp.,CD355118,,Yes,5600000000,New York,,,NY,"1301 Avenue of the Americas
New York, NY 10019
USA",High,World's third largest oil and gas company.,,(212) 842-5501,Energy,,,,145000,955,Public,(212) 842-5500,Hot,,,,,"1301 Avenue of the Americas
New York, NY 10019
USA",4437,,,Platinum,2016-02-06 00:00:00,6654,UOS,,Customer - Direct,Yes,http://www.uos.com,
0015800000DuRNLAA3,{{!System Administrator}},,,Express Logistics and Transport,CC947211,,Yes,950000000,Portland,,,OR,"620 SW 5th Avenue Suite 400
Portland, Oregon 97204
United States",Medium,Commerical logistics and transportation company.,,(503) 421-7801,Transportation,,,,12300,150,Public,(503) 421-7800,Cold,,,,,"620 SW 5th Avenue Suite 400
Portland, Oregon 97204
United States",8742,,,Platinum,2016-02-06 00:00:00,4724,EXLT,,Customer - Channel,Maybe,www.expresslandt.net,
0015800000DuRNNAA3,{{!System Administrator}},,,"United Oil & Gas, UK",CD355119-A,,Yes,,,,,UK,"Kings Park, 17th Avenue, Team Valley Trading Estate,
Gateshead, Tyne and Wear NE26 3HS
United Kingdom",High,,,+44 191 4956620,Energy,,,,24000,34,Public,+44 191 4956203,,,,,,"Kings Park, 17th Avenue, Team Valley Trading Estate,
Gateshead, Tyne and Wear NE26 3HS
United Kingdom",4437,,,Platinum,2015-08-06 00:00:00,3479,UOS,,Customer - Direct,No,http://www.uos.com,

##//Contact
id,ownerid,accountid,reportstoid,assistantname,assistantphone,birthdate,department,description,email,emailbounceddate,emailbouncedreason,fax,firstname,homephone,jigsaw,languages__c,lastname,leadsource,level__c,mailingcity,mailingcountry,mailingpostalcode,mailingstate,mailingstreet,mobilephone,othercity,othercountry,otherphone,otherpostalcode,otherstate,otherstreet,phone,salutation,title
0035800000EGTB5AAP,{{!System Administrator}},0015800000DuRNLAA3,,,,1944-09-24 00:00:00,Warehouse Mgmt,,j.davis@expresslandt.net,,,(503) 421-7801,Josh,,,English,Davis,Word of mouth,Secondary,,,,,"621 SW 5th Avenue Suite 400
Portland, Oregon 97204
United States",(503) 421-4387,,,,,,,(503) 421-7800,Mr.,"Director, Warehouse Mgmt"
0035800000EGTB4AAP,{{!System Administrator}},0015800000DuRNLAA3,,Ron Sage,(503) 421-6782,1933-05-31 00:00:00,Operations,,b.levy@expresslandt.net,,,(503) 421-7801,Babara,,,English,Levy,Word of mouth,Primary,,,,,"620 SW 5th Avenue Suite 400
Portland, Oregon 97204
United States",(503) 421-5451,,,,,,,(503) 421-7800,Ms.,"SVP, Operations"
0035800000EGTB7AAP,{{!System Administrator}},0015800000DuRNKAA3,,Pat Feinstein,(212) 842-5464,1948-02-10 00:00:00,Executive Team,,asong@uog.com,,,(212) 842-5501,Arthur,,,English,Song,Public Relations,Secondary,,,,,"1301 Avenue of the Americas
New York, NY 10019
USA",(212) 842-4535,,,,,,,(212) 842-5500,Mr.,CEO
0035800000EGTB8AAP,{{!System Administrator}},0015800000DuRNNAA3,,,,1942-10-20 00:00:00,Finance,,ajames@uog.com,,,+44 191 4956620,Ashley,,,English,James,Public Relations,Primary,,,,,"Kings Park, 17th Avenue, Team Valley Trading Estate,
Gateshead, Tyne and Wear NE26 3HS
United Kingdom",+44 191 3456234,,,,,,,+44 191 4956203,Ms.,"VP, Finance"
0035800000EGTBCAA5,{{!System Administrator}},0015800000DuRNKAA3,,Chris Nobel,(212) 842-5428,1930-01-21 00:00:00,Finance,,agreen@uog.com,,,(212) 842-5501,Avi,,,English,Green,Public Relations,Primary,,,,,"1302 Avenue of the Americas
New York, NY 10019
USA",(212) 842-2383,,,,,,,(212) 842-5500,Mr.,CFO

##//runAs Campaign Admin

##//CampaignMember
id,campaignid,contactid,leadid,status
00v58000004dFT5AAM,70158000000QifmAAC,0035800000EGTB7AAP,,Sent
00v58000004dFT6AAM,70158000000QifmAAC,0035800000EGTB8AAP,,Sent
00v58000004dFT7AAM,70158000000QifmAAC,0035800000EGTBCAA5,,Sent
00v58000004dFT8AAM,70158000000QifmAAC,0035800000EGTB4AAP,,Sent

##//runAs System Administrator

##//Opportunity
id,ownerid,accountid,campaignid,pricebook2id,name,amount,closedate,currentgenerators__c,deliveryinstallationstatus__c,description,forecastcategoryname,isprivate,leadsource,maincompetitors__c,nextstep,ordernumber__c,probability,stagename,totalopportunityquantity,trackingnumber__c,type
006580000058AUDAA2,{{!System Administrator}},0015800000DuRNLAA3,,,Express Logistics Portable Truck Generators,80000.00,2014-06-21 00:00:00,Fujitsu,Yet to begin,,Pipeline,false,External Referral,Honda,,,50,Value Proposition,,,Existing Customer - Upgrade
006580000058AUEAA2,{{!System Administrator}},0015800000DuRNLAA3,,,Express Logistics SLA,120000.00,2014-06-21 00:00:00,,In progress,,Pipeline,false,External Referral,,,,70,Perception Analysis,,,Existing Customer - Upgrade
006580000058AUFAA2,{{!System Administrator}},0015800000DuRNLAA3,,,Express Logistics Standby Generator,220000.00,2014-06-21 00:00:00,Hawkpower,,,Closed,false,Trade Show,Fujitsu,,653276,100,Closed Won,,830150301420,New Customer

##//Case
id,ownerid,accountid,assetid,contactid,parentid,description,engineeringreqnumber__c,isescalated,origin,potentialliability__c,priority,product__c,reason,slaviolation__c,status,subject,suppliedcompany,suppliedemail,suppliedname,suppliedphone,type
50058000001zhfeAAA,{{!System Administrator}},0015800000DuRNLAA3,,0035800000EGTB4AAP,,,,false,Web,No,Low,GC1020,Installation,No,Closed,Easy installation process,,,,,Other
50058000001zhffAAA,{{!System Administrator}},0015800000DuRNLAA3,,0035800000EGTB4AAP,,,784532,false,Phone,No,Medium,GC5020,Other,No,Closed,Maintenance guidelines for generator unclear,,,,,Other
50058000001zhfgAAA,{{!System Administrator}},0015800000DuRNLAA3,,0035800000EGTB5AAP,,,653780,false,Phone,Yes,Medium,GC1060,Performance,No,Closed,Electrical circuit malfunctioning,,,,,Electrical

##///
CampaignMember: Campaign.Name = 'DM Campaign to Top Customers - Nov 12-23, 2001'
Opportunity: Account.Name = 'Express Logistics and Transport'
Contact: Account.Name = 'Express Logistics and Transport'
Case: Account.Name = 'Express Logistics and Transport'
///##

 

3.2. CampaignTest unit test showing test data import from CSV file capabilities:


@IsTest
public class CampaignTest {

    @TestSetup
    public static void setup() {

        String methodName = 'insertTestDataFromStaticResource';

        Map parameters = new Map {
            'staticResourceName' => 'testdataCampaign'
        };

        alm.Facade.enter(methodName, parameters);

    }

    @IsTest
    public static void testData() {

        System.debug(LoggingLevel.INFO, JSON.serializePretty(
            [SELECT Id,
                    Ownerid,
                    Dandbcompanyid,
                    Parentid,
                    Name,
                    Accountnumber,
                    Accountsource,
                    Active__c,
                    AnnualRevenue,
                    Billingcity,
                    BillingCountry,
                    BillingPostalCode,
                    BillingState,
                    BillingStreet,
                    CustomerPriority__c,
                    Description,
                    DunsNumber,
                    Fax,
                    Industry,
                    JigSaw,
                    NaicsCode,
                    NaicsDesc,
                    NumberOfEmployees,
                    Numberoflocations__c,
                    Ownership,
                    Phone,
                    Rating,
                    ShippingCity,
                    ShippingCountry,
                    ShippingPostalCode,
                    ShippingState,
                    ShippingStreet,
                    Sic,
                    SicDesc,
                    Site,
                    Sla__c,
                    SlaExpirationDate__c,
                    SlaSerialNumber__c,
                    TickerSymbol,
                    TradeStyle,
                    Type,
                    UpsellOpportunity__c,
                    Website,
                    YearStarted
             FROM Account]));

        System.debug(LoggingLevel.INFO, JSON.serializePretty(
            [SELECT Id,
                    OwnerId,
                    AccountId,
                    ReportsToId,
                    AssistantName,
                    AssistantPhone,
                    Birthdate,
                    Department,
                    Description,
                    Email,
                    EmailBouncedDate,
                    EmailBouncedReason,
                    Fax,
                    Firstname,
                    HomePhone,
                    JigSaw,
                    Languages__c,
                    Lastname,
                    LeadSource,
                    Level__c,
                    MailingCity,
                    MailingCountry,
                    MailingPostalCode,
                    MailingState,
                    MailingStreet,
                    MobilePhone,
                    OtherCity,
                    OtherCountry,
                    OtherPhone,OtherPostalCode,
                    OtherState,OtherStreet,
                    Phone,
                    Salutation,
                    Title
             FROM Contact]));

        System.debug(LoggingLevel.INFO, JSON.serializePretty(
            [SELECT Id,
                    CampaignId,
                    ContactId,
                    LeadId,
                    Status
             FROM CampaignMember]));

        System.debug(LoggingLevel.INFO, JSON.serializePretty(
            [SELECT Id,
                    OwnerId,
                    AccountId,
                    CampaignId,
                    Pricebook2Id,
                    Name,
                    Amount,
                    CloseDate,
                    CurrentGenerators__c,
                    DeliveryInstallationStatus__c,
                    Description,
                    ForecastCategoryName,
                    IsPrivate,
                    LeadSource,
                    MainCompetitors__c,
                    NextStep,
                    OrderNumber__c,
                    Probability,
                    StageName,
                    TotalOpportunityQuantity,
                    TrackingNumber__c,
                    Type
             FROM Opportunity]));

        System.debug(LoggingLevel.INFO, JSON.serializePretty(
            [SELECT Id,
                    OwnerId,
                    AccountId,
                    AssetId,
                    ContactId,
                    ParentId,
                    Description,
                    EngineeringReqNumber__c,
                    IsEscalated,
                    Origin,
                    PotentialLiability__c,
                    Priority,Product__c,
                    Reason,
                    SlaViolation__c,
                    Status,
                    Subject,
                    SuppliedCompany,
                    SuppliedEmail,
                    SuppliedName,
                    SuppliedPhone,
                    Type
             FROM Case]
            ));

    }

}

 

3.3. Debug logs as a result of running CampaignTest.testData method:


11:45:07.432 (3433390313)|SOQL_EXECUTE_BEGIN|[21]|Aggregations:0|SELECT id, ownerid, dandbcompanyid, parentid, name, accountnumber, accountsource, active__c, annualrevenue, billingcity, billingcountry, billingpostalcode, billingstate, billingstreet, customerpriority__c, description, dunsnumber, fax, industry, jigsaw, naicscode, naicsdesc, numberofemployees, numberoflocations__c, ownership, phone, rating, shippingcity, shippingcountry, shippingpostalcode, shippingstate, shippingstreet, sic, sicdesc, site, sla__c, slaexpirationdate__c, slaserialnumber__c, tickersymbol, tradestyle, type, upsellopportunity__c, website, yearstarted FROM Account
11:45:07.432 (3456476291)|SOQL_EXECUTE_END|[21]|Rows:3
11:45:07.432 (3457714604)|ENTERING_MANAGED_PKG|
11:45:07.432 (3457735748)|USER_DEBUG|[20]|INFO|[ {
"attributes" : {
    "type" : "Account",
    "url" : "/services/data/v39.0/sobjects/Account/0015800000fYu9cAAC"
},
    "Id" : "0015800000fYu9cAAC",
    "OwnerId" : "00558000001pVoPAAU",
    "Name" : "United Oil & Gas Corp.",
    "AccountNumber" : "CD355118",
    "AnnualRevenue" : 5600000000,
    "BillingCity" : "New York",
    "BillingState" : "NY",
    "BillingStreet" : "1301 Avenue of the Americas \nNew York, NY 10019\nUSA",
    "Description" : "World's third largest oil and gas company.",
    "Fax" : "(212) 842-5501",
    "Industry" : "Energy",
    "NumberOfEmployees" : 145000,
    "Ownership" : "Public",
    "Phone" : "(212) 842-5500",
    "Rating" : "Hot",
    "ShippingStreet" : "1301 Avenue of the Americas \nNew York, NY 10019\nUSA",
    "Sic" : "4437",
    "TickerSymbol" : "UOS",
    "Type" : "Customer - Direct",
    "Website" : "http://www.uos.com"
}, {
    "attributes" : {
        "type" : "Account",
        "url" : "/services/data/v39.0/sobjects/Account/0015800000fYu9dAAC"
    },
    "Id" : "0015800000fYu9dAAC",
    "OwnerId" : "00558000001pVoPAAU",
    "Name" : "Express Logistics and Transport",
    "AccountNumber" : "CC947211",
    "AnnualRevenue" : 950000000,
    "BillingCity" : "Portland",
    "BillingState" : "OR",
    "BillingStreet" : "620 SW 5th Avenue Suite 400\nPortland, Oregon 97204\nUnited States",
    "Description" : "Commerical logistics and transportation company.",
    "Fax" : "(503) 421-7801",
    "Industry" : "Transportation",
    "NumberOfEmployees" : 12300,
    "Ownership" : "Public",
    "Phone" : "(503) 421-7800",
    "Rating" : "Cold",
    "ShippingStreet" : "620 SW 5th Avenue Suite 400\nPortland, Oregon 97204\nUnited States",
    "Sic" : "8742",
    "TickerSymbol" : "EXLT",
    "Type" : "Customer - Channel",
    "Website" : "www.expresslandt.net"
}, {
    "attributes" : {
        "type" : "Account",
        "url" : "/services/data/v39.0/sobjects/Account/0015800000fYu9eAAC"
    },
    "Id" : "0015800000fYu9eAAC",
    "OwnerId" : "00558000001pVoPAAU",
    "Name" : "United Oil & Gas, UK",
    "AccountNumber" : "CD355119-A",
    "BillingState" : "UK",
    "BillingStreet" : "Kings Park, 17th Avenue, Team Valley Trading Estate,\nGateshead, Tyne and Wear NE26 3HS\nUnited Kingdom",
    "Fax" : "+44 191 4956620",
    "Industry" : "Energy",
    "NumberOfEmployees" : 24000,
    "Ownership" : "Public",
    "Phone" : "+44 191 4956203",
    "ShippingStreet" : "Kings Park, 17th Avenue, Team Valley Trading Estate,\nGateshead, Tyne and Wear NE26 3HS\nUnited Kingdom",
    "Sic" : "4437",
    "TickerSymbol" : "UOS",
    "Type" : "Customer - Direct",
    "Website" : "http://www.uos.com"
} ]
11:45:07.432 (3458710503)|SOQL_EXECUTE_BEGIN|[25]|Aggregations:0|SELECT id, ownerid, accountid, reportstoid, assistantname, assistantphone, birthdate, department, description, email, emailbounceddate, emailbouncedreason, fax, firstname, homephone, jigsaw, languages__c, lastname, leadsource, level__c, mailingcity, mailingcountry, mailingpostalcode, mailingstate, mailingstreet, mobilephone, othercity, othercountry, otherphone, otherpostalcode, otherstate, otherstreet, phone, salutation, title FROM Contact
11:45:07.432 (3488358216)|SOQL_EXECUTE_END|[25]|Rows:5
11:45:07.432 (3489290139)|ENTERING_MANAGED_PKG|
11:45:07.432 (3489313966)|USER_DEBUG|[24]|INFO|[ {
    "attributes" : {
        "type" : "Contact",
        "url" : "/services/data/v39.0/sobjects/Contact/0035800000lAjuIAAS"
    },
    "Id" : "0035800000lAjuIAAS",
    "OwnerId" : "00558000001pVoPAAU",
    "AccountId" : "0015800000fYu9dAAC",
    "Birthdate" : "1944-01-01",
    "Department" : "Warehouse Mgmt",
    "Email" : "j.davis@expresslandt.net",
    "Fax" : "(503) 421-7801",
    "FirstName" : "Josh",
    "LastName" : "Davis",
    "LeadSource" : "Word of mouth",
    "MailingStreet" : "621 SW 5th Avenue Suite 400\nPortland, Oregon 97204\nUnited States",
    "MobilePhone" : "(503) 421-4387",
    "Phone" : "(503) 421-7800",
    "Salutation" : "Mr.",
    "Title" : "Director, Warehouse Mgmt"
    }, {
        "attributes" : {
            "type" : "Contact",
            "url" : "/services/data/v39.0/sobjects/Contact/0035800000lAjuJAAS"
        },
        "Id" : "0035800000lAjuJAAS",
        "OwnerId" : "00558000001pVoPAAU",
        "AccountId" : "0015800000fYu9dAAC",
        "AssistantName" : "Ron Sage",
        "AssistantPhone" : "(503) 421-6782",
        "Birthdate" : "1933-01-01",
        "Department" : "Operations",
        "Email" : "b.levy@expresslandt.net",
        "Fax" : "(503) 421-7801",
        "FirstName" : "Babara",
        "LastName" : "Levy",
        "LeadSource" : "Word of mouth",
        "MailingStreet" : "620 SW 5th Avenue Suite 400\nPortland, Oregon 97204\nUnited States",
        "MobilePhone" : "(503) 421-5451",
        "Phone" : "(503) 421-7800",
        "Salutation" : "Ms.",
        "Title" : "SVP, Operations"
    }, {
        "attributes" : {
            "type" : "Contact",
            "url" : "/services/data/v39.0/sobjects/Contact/0035800000lAjuKAAS"
        },
        "Id" : "0035800000lAjuKAAS",
        "OwnerId" : "00558000001pVoPAAU",
        "AccountId" : "0015800000fYu9cAAC",
        "AssistantName" : "Pat Feinstein",
        "AssistantPhone" : "(212) 842-5464",
        "Birthdate" : "1948-01-01",
        "Department" : "Executive Team",
        "Email" : "asong@uog.com",
        "Fax" : "(212) 842-5501",
        "FirstName" : "Arthur",
        "LastName" : "Song",
        "LeadSource" : "Public Relations",
        "MailingStreet" : "1301 Avenue of the Americas \nNew York, NY 10019\nUSA",
        "MobilePhone" : "(212) 842-4535",
        "Phone" : "(212) 842-5500",
        "Salutation" : "Mr.",
        "Title" : "CEO"
    }, {
        "attributes" : {
            "type" : "Contact",
            "url" : "/services/data/v39.0/sobjects/Contact/0035800000lAjuLAAS"
        },
        "Id" : "0035800000lAjuLAAS",
        "OwnerId" : "00558000001pVoPAAU",
        "AccountId" : "0015800000fYu9eAAC",
        "Birthdate" : "1942-01-01",
        "Department" : "Finance",
        "Email" : "ajames@uog.com",
        "Fax" : "+44 191 4956620",
        "FirstName" : "Ashley",
        "LastName" : "James",
        "LeadSource" : "Public Relations",
        "MailingStreet" : "Kings Park, 17th Avenue, Team Valley Trading Estate,\nGateshead, Tyne and Wear NE26 3HS\nUnited Kingdom",
        "MobilePhone" : "+44 191 3456234",
        "Phone" : "+44 191 4956203",
        "Salutation" : "Ms.",
        "Title" : "VP, Finance"
    }, {
        "attributes" : {
            "type" : "Contact",
            "url" : "/services/data/v39.0/sobjects/Contact/0035800000lAjuMAAS"
        },
        "Id" : "0035800000lAjuMAAS",
        "OwnerId" : "00558000001pVoPAAU",
        "AccountId" : "0015800000fYu9cAAC",
        "AssistantName" : "Chris Nobel",
        "AssistantPhone" : "(212) 842-5428",
        "Birthdate" : "1930-01-01",
        "Department" : "Finance",
        "Email" : "agreen@uog.com",
        "Fax" : "(212) 842-5501",
        "FirstName" : "Avi",
        "LastName" : "Green",
        "LeadSource" : "Public Relations",
        "MailingStreet" : "1302 Avenue of the Americas \nNew York, NY 10019\nUSA",
        "MobilePhone" : "(212) 842-2383",
        "Phone" : "(212) 842-5500",
        "Salutation" : "Mr.",
        "Title" : "CFO"
} ]
11:45:07.432 (3489589598)|SOQL_EXECUTE_BEGIN|[29]|Aggregations:0|SELECT id, campaignid, contactid, leadid, status FROM CampaignMember
11:45:07.432 (3504512393)|SOQL_EXECUTE_END|[29]|Rows:4
11:45:07.432 (3505475134)|ENTERING_MANAGED_PKG|
11:45:07.432 (3505503429)|USER_DEBUG|[28]|INFO|[ {
    "attributes" : {
        "type" : "CampaignMember",
        "url" : "/services/data/v39.0/sobjects/CampaignMember/00v58000004dFxeAAE"
    },
        "Id" : "00v58000004dFxeAAE",
        "CampaignId" : "701580000005qQjAAI",
        "ContactId" : "0035800000lAjuKAAS",
        "Status" : "Sent"
    }, {
    "attributes" : {
        "type" : "CampaignMember",
        "url" : "/services/data/v39.0/sobjects/CampaignMember/00v58000004dFxfAAE"
    },
    "Id" : "00v58000004dFxfAAE",
    "CampaignId" : "701580000005qQjAAI",
    "ContactId" : "0035800000lAjuLAAS",
    "Status" : "Sent"
    }, {
    "attributes" : {
        "type" : "CampaignMember",
        "url" : "/services/data/v39.0/sobjects/CampaignMember/00v58000004dFxgAAE"
    },
    "Id" : "00v58000004dFxgAAE",
    "CampaignId" : "701580000005qQjAAI",
    "ContactId" : "0035800000lAjuMAAS",
    "Status" : "Sent"
    }, {
    "attributes" : {
        "type" : "CampaignMember",
        "url" : "/services/data/v39.0/sobjects/CampaignMember/00v58000004dFxhAAE"
    },
    "Id" : "00v58000004dFxhAAE",
    "CampaignId" : "701580000005qQjAAI",
    "ContactId" : "0035800000lAjuJAAS",
    "Status" : "Sent"
} ]
11:45:07.432 (3506313500)|SOQL_EXECUTE_BEGIN|[33]|Aggregations:0|SELECT id, ownerid, accountid, campaignid, pricebook2id, name, amount, closedate, currentgenerators__c, deliveryinstallationstatus__c, description, forecastcategoryname, isprivate, leadsource, maincompetitors__c, nextstep, ordernumber__c, probability, stagename, totalopportunityquantity, trackingnumber__c, type FROM Opportunity
11:45:07.432 (3533496365)|SOQL_EXECUTE_END|[33]|Rows:3
11:45:07.432 (3534193005)|ENTERING_MANAGED_PKG|
11:45:07.432 (3534208780)|USER_DEBUG|[32]|INFO|[ {
    "attributes" : {
        "type" : "Opportunity",
        "url" : "/services/data/v39.0/sobjects/Opportunity/0065800000DD3X7AAL"
    },
    "Id" : "0065800000DD3X7AAL",
    "OwnerId" : "00558000001pVoPAAU",
    "AccountId" : "0015800000fYu9dAAC",
    "Name" : "Express Logistics Portable Truck Generators",
    "Amount" : 80000.00,
    "CloseDate" : "2014-01-01",
    "ForecastCategoryName" : "Pipeline",
    "IsPrivate" : false,
    "LeadSource" : "External Referral",
    "Probability" : 50,
    "StageName" : "Value Proposition",
    "Type" : "Existing Customer - Upgrade"
    }, {
    "attributes" : {
        "type" : "Opportunity",
        "url" : "/services/data/v39.0/sobjects/Opportunity/0065800000DD3X8AAL"
    },
    "Id" : "0065800000DD3X8AAL",
    "OwnerId" : "00558000001pVoPAAU",
    "AccountId" : "0015800000fYu9dAAC",
    "Name" : "Express Logistics SLA",
    "Amount" : 120000.00,
    "CloseDate" : "2014-01-01",
    "ForecastCategoryName" : "Pipeline",
    "IsPrivate" : false,
    "LeadSource" : "External Referral",
    "Probability" : 70,
    "StageName" : "Perception Analysis",
    "Type" : "Existing Customer - Upgrade"
    }, {
    "attributes" : {
        "type" : "Opportunity",
        "url" : "/services/data/v39.0/sobjects/Opportunity/0065800000DD3X9AAL"
    },
    "Id" : "0065800000DD3X9AAL",
    "OwnerId" : "00558000001pVoPAAU",
    "AccountId" : "0015800000fYu9dAAC",
    "Name" : "Express Logistics Standby Generator",
    "Amount" : 220000.00,
    "CloseDate" : "2014-01-01",
    "ForecastCategoryName" : "Closed",
    "IsPrivate" : false,
    "LeadSource" : "Trade Show",
    "Probability" : 100,
    "StageName" : "Closed Won",
    "Type" : "New Customer"
} ]
11:45:07.432 (3534988226)|SOQL_EXECUTE_BEGIN|[37]|Aggregations:0|SELECT id, ownerid, accountid, assetid, contactid, parentid, description, engineeringreqnumber__c, isescalated, origin, potentialliability__c, priority, product__c, reason, slaviolation__c, status, subject, suppliedcompany, suppliedemail, suppliedname, suppliedphone, type FROM Case
11:45:07.432 (3564611931)|SOQL_EXECUTE_END|[37]|Rows:3
11:45:07.432 (3565343598)|ENTERING_MANAGED_PKG|
11:45:07.432 (3565363957)|USER_DEBUG|[36]|INFO|[ {
    "attributes" : {
        "type" : "Case",
        "url" : "/services/data/v39.0/sobjects/Case/50058000008gIDKAA2"
    },
    "Id" : "50058000008gIDKAA2",
    "OwnerId" : "00558000001pVoPAAU",
    "AccountId" : "0015800000fYu9dAAC",
    "ContactId" : "0035800000lAjuJAAS",
    "IsEscalated" : false,
    "Origin" : "Web",
    "Priority" : "Low",
    "Reason" : "Installation",
    "Status" : "Closed",
    "Subject" : "Easy installation process",
    "Type" : "Other"
    }, {
    "attributes" : {
        "type" : "Case",
        "url" : "/services/data/v39.0/sobjects/Case/50058000008gIDLAA2"
    },
    "Id" : "50058000008gIDLAA2",
    "OwnerId" : "00558000001pVoPAAU",
    "AccountId" : "0015800000fYu9dAAC",
    "ContactId" : "0035800000lAjuJAAS",
    "IsEscalated" : false,
    "Origin" : "Phone",
    "Priority" : "Medium",
    "Reason" : "Other",
    "Status" : "Closed",
    "Subject" : "Maintenance guidelines for generator unclear",
    "Type" : "Other"
    }, {
    "attributes" : {
        "type" : "Case",
        "url" : "/services/data/v39.0/sobjects/Case/50058000008gIDMAA2"
    },
    "Id" : "50058000008gIDMAA2",
    "OwnerId" : "00558000001pVoPAAU",
    "AccountId" : "0015800000fYu9dAAC",
    "ContactId" : "0035800000lAjuIAAS",
    "IsEscalated" : false,
    "Origin" : "Phone",
    "Priority" : "Medium",
    "Reason" : "Performance",
    "Status" : "Closed",
    "Subject" : "Electrical circuit malfunctioning",
    "Type" : "Electrical"
} ]
11:45:07.565 (3565385125)|LIMIT_USAGE_FOR_NS|ALM|
Number of SOQL queries: 8 out of 100
Number of query rows: 24 out of 50000
Number of SOSL queries: 0 out of 20
Number of DML statements: 14 out of 150
Number of DML rows: 19 out of 10000
Maximum CPU time: 971 out of 10000
Maximum heap size: 0 out of 6000000
Number of callouts: 0 out of 100
Number of Email Invocations: 0 out of 10
Number of future calls: 0 out of 50
Number of queueable jobs added to the queue: 0 out of 50
Number of Mobile Apex push calls: 0 out of 10

 

Relevant article:

Test data migration

Phone

+49 175 3528693

Office Address

Grünewalder Straße 29-31
42657 Solingen, Germany