---
schema_version: "1"
id: 5e19217ee1422d90a349fafb160fe8591778cd8c1b1ec1105e0b35180c781995
title: ArchiverAccessor Class
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_class_SF_Archive_ArchiverAccessor.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_SF_Archive_ArchiverAccessor.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: cb74c8e9c89d2286929ceb48a824723d16ef84e3cbe9dc9a98765fe001501d50
description: Provides access to Archive Apex. In tests, use setMock() to return a simulated response instead of making a live archive callout.Instructs the Apex runtime to send a mock response whenever Archive Apex makes a callout, so you can test your Apex without accessing archived data.
---
# ArchiverAccessor Class

Provides access to Archive Apex. In tests, use setMock() to return a simulated response instead of making a live archive callout.

## Namespace

[SF\_Archive](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_namespace_SF_Archive.htm "The SF_Archive namespace provides classes for testing Apex code that calls Archive Apex.")

## Usage

In an Apex test, call setMock() to register a mock response so your test doesn't make a live callout to archived data.

- **[ArchiverAccessor Methods](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_SF_Archive_ArchiverAccessor.htm#apex_SF_Archive_ArchiverAccessor_methods)**

## ArchiverAccessor Methods

The following are methods for ArchiverAccessor.

- **[setMock(mock)](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_SF_Archive_ArchiverAccessor.htm#apex_SF_Archive_ArchiverAccessor_setMock)**  
    Instructs the Apex runtime to send a mock response whenever Archive Apex makes a callout, so you can test your Apex without accessing archived data.

### setMock(mock)

Instructs the Apex runtime to send a mock response whenever Archive Apex makes a callout, so you can test your Apex without accessing archived data.

#### Signature

public static void setMock(System.HttpCalloutMock mock)

#### Parameters

mock

Type: [System.HttpCalloutMock](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_interface_httpcalloutmock.htm#apex_interface_httpcalloutmock "Enables sending fake responses when testing HTTP callouts.")

The mock implementation that returns your simulated response.

#### Return Value

Type: Void

#### Example

This example tests global search against archived data. MockHttpResponseGenerator implements HttpCalloutMock and returns a simulated response, so the test runs without a live archive callout.

// MockHttpResponseGenerator.cls
@IsTest
public class MockHttpResponseGenerator implements HttpCalloutMock {
    public String fakeResponseJson;
    public Integer statusCode;
    String redirectHeader;

    public MockHttpResponseGenerator(String fakeResponseJson, Integer statusCode) {
        this.statusCode = statusCode;
        this.fakeResponseJson = fakeResponseJson;
        this.redirectHeader = '/example/test';
    }

    public HttpResponse respond(HttpRequest req) {
        HttpResponse res = new HttpResponse();
        res.setBody(this.fakeResponseJson);
        res.setStatusCode(this.statusCode);
        res.setHeader('Location', this.redirectHeader);
        return res;
    }
}
// SearchSdkTest.cls
@IsTest
public with sharing class SearchSdkTest {
    @IsTest
    private static void searchSdk() {
        String jsonBody = '{"records":\[{"CaseNumber":"01916767","Id":"500Xx000000XXXXXX"}\],"total\_result\_count":1,"scroll\_id":"-1"}';

        SF\_Archive.ArchiverAccessor.setMock(new MockHttpResponseGenerator(
            jsonBody, SF\_Archive.ArchiverAccessorResponse.HTTP\_200\_OK));

        List<SF\_Archive.SearchFilter> filters = new List<SF\_Archive.SearchFilter>{
            new SF\_Archive.SearchFilter('Name', 'test')
        };

        Test.startTest();
        SF\_Archive.ArchiverAccessorResponse res =
            SF\_Archive.ArchiverAccessor.performArchiverGlobalSearch('Account', filters);
        Test.stopTest();

        Assert.areEqual(SF\_Archive.ArchiverAccessorResponse.HTTP\_200\_OK, res.getStatusCode());
        Assert.areEqual(jsonBody, res.getBody());
    }
}