Test networks provide a fully isolated data environment to test your code.

By default, test networks are not Ad Manager 360 networks. If you need
additional features added to your test network, contact your account
manager.

Test networks differ from production networks in the following ways:

- Test networks are limited to 10,000 objects per entity type.
- Test networks cannot serve ads.
- Reports that require serving data contain zero rows.
- As forecasting requires serving history, forecast results are faked.

To create a test network, use the [`NetworkService.provisionTestNetwork`](https://developers.google.com/ad-manager/api/beta/reference/rest/v1/networks/provisionTestNetwork.md.txt)
method. You can only create one test network for your Google Account.

### Java

```java
import com.google.ads.admanager.v1.Network;
import com.google.ads.admanager.v1.NetworkServiceClient;
import com.google.ads.admanager.v1.ProvisionTestNetworkRequest;

public class SyncProvisionTestNetwork {

  public static void main(String[] args) throws Exception {
    syncProvisionTestNetwork();
  }

  public static void syncProvisionTestNetwork() throws Exception {
    try (NetworkServiceClient networkServiceClient = NetworkServiceClient.create()) {
      ProvisionTestNetworkRequest request = ProvisionTestNetworkRequest.newBuilder().build();
      Network response = networkServiceClient.provisionTestNetwork(request);
    }
  }
}
```

### Python

```python
from google.ads import admanager_v1


def sample_provision_test_network():
    # Create a client
    client = admanager_v1.NetworkServiceClient()

    # Initialize request argument(s)
    request = admanager_v1.ProvisionTestNetworkRequest()

    # Make the request
    response = client.provision_test_network(request=request)

    # Handle the response
    print(response)

```

### .NET

```c#
using Google.Ads.AdManager.V1;

public sealed partial class GeneratedNetworkServiceClientSnippets
{
    public void ProvisionTestNetworkRequestObject()
    {
        // Create client
        NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
        // Initialize request argument(s)
        ProvisionTestNetworkRequest request = new ProvisionTestNetworkRequest { };
        // Make the request
        Network response = networkServiceClient.ProvisionTestNetwork(request);
    }
}
```

### PHP

```php

use Google\Ads\AdManager\V1\Client\NetworkServiceClient;
use Google\Ads\AdManager\V1\Network;
use Google\Ads\AdManager\V1\ProvisionTestNetworkRequest;
use Google\ApiCore\ApiException;

function provision_test_network_sample(): void
{
    // Create a client.
    $networkServiceClient = new NetworkServiceClient();

    // Prepare the request message.
    $request = new ProvisionTestNetworkRequest();

    // Call the API and handle any network failures.
    try {
        $response = $networkServiceClient->provisionTestNetwork($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}
```

### Ruby

```ruby
require "google/ads/ad_manager/v1"

def provision_test_network
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Ads::AdManager::V1::NetworkService::Rest::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Ads::AdManager::V1::ProvisionTestNetworkRequest.new

  # Call the provision_test_network method.
  result = client.provision_test_network request

  # The returned object is of type Google::Ads::AdManager::V1::Network.
  p result
end
```

### Node.js

```javascript

// Imports the Admanager library
const {NetworkServiceClient} = require('@google-ads/admanager').v1;

// Instantiates a client
const admanagerClient = new NetworkServiceClient();

async function callProvisionTestNetwork() {
  // Construct request
  const request = {
  };

  // Run request
  const response = await admanagerClient.provisionTestNetwork(request);
  console.log(response);
}

callProvisionTestNetwork();
```

### cURL

#### Request

> [!NOTE]
> **Note:** To obtain an access token, see [Authentication](https://developers.google.com/ad-manager/api/beta/authentication.md.txt).

```bash
curl -X POST -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "Content-Type: application/json" \
    -d "{}" \
    "https://admanager.googleapis.com/v1/networks:provisionTestNetwork"
```

#### Response

```javascript
{
  "name": "networks/234093456",
  "displayName": "My Test Network",
  "networkCode": "234093456",
  "propertyCode": "ca-pub-0000000000000000",
  "timeZone": "America/Los_Angeles",
  "currencyCode": "USD",
  "effectiveRootAdUnit": "networks/234093456/adUnits/233093456",
  "testNetwork": true,
  "networkId": "567890"
}
```