You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: virtualwan_live_test.go
    path of file: ./repos/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork
    
    the code of the file until where you have to start completion: //go:build go1.18
// +build go1.18

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

package armnetwork_test

import (
	"context"
	"fmt"
	"testing"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/internal/recording"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2/testutil"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v5"
	"github.com/stretchr/testify/suite"
)

type VirtualWanTestSuite struct {
	suite.Suite

	ctx                        context.Context
	cred                       azcore.TokenCredential
	options                    *arm.ClientOptions
	gatewayName                string
	virtualHubId               string
	virtualHubName             string
	virtualWANName             string
	virtualWanId               string
	vpnServerConfigurationName string
	vpnSiteName                string
	routeMapName               string
	location                   string
	resourceGroupName          string
	subscriptionId             string
}

func (testsuite *VirtualWanTestSuite) SetupSuite() {
	testutil.StartRecording(testsuite.T(), "sdk/resourcemanager/network/armnetwork/testdata")

	testsuite.ctx = context.Background()
	testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T())
	testsuite.gatewayName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "gatewaynam", 16, false)
	testsuite.virtualHubName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "virtualhub", 16, false)
	testsuite.virtualWANName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "virtualwan", 16, false)
	testsuite.vpnServerConfigurationName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "vpnserverc", 16, false)
	testsuite.vpnSiteName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "vpnsitenam", 16, false)
	testsuite.routeMapName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "r
    
func (testsuite *VirtualWanTestSuite) TestVpnSites() {
	var vpnSiteLinkName string
	var err error
	// From step VpnSites_List
	fmt.Println("Call operation: VPNSites_List")
	vPNSitesClient, err := armnetwork.NewVPNSitesClient(testsuite.subscriptionId, testsuite.cred, testsuite.options)
	testsuite.Require().NoError(err)
	vPNSitesClientNewListPager := vPNSitesClient.NewListPager(nil)
	for vPNSitesClientNewListPager.More() {
		_, err := vPNSitesClientNewListPager.NextPage(testsuite.ctx)
		testsuite.Require().NoError(err)
		break
	}

	// From step VpnSites_ListByResourceGroup
	fmt.Println("Call operation: VPNSites_ListByResourceGroup")
	vPNSitesClientNewListByResourceGroupPager := vPNSitesClient.NewListByResourceGroupPager(testsuite.resourceGroupName, nil)
	for vPNSitesClientNewListByResourceGroupPager.More() {
		_, err := vPNSitesClientNewListByResourceGroupPager.NextPage(testsuite.ctx)
		testsuite.Require().NoError(err)
		break
	}

	// From step VpnSites_Get
	fmt.Println("Call operation: VPNSites_Get")
	_, err = vPNSitesClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.vpnSiteName, nil)
	testsuite.Require().NoError(err)

	// From step VpnSites_UpdateTags
	fmt.Println("Call operation: VPNSites_UpdateTags")
	_, err = vPNSitesClient.UpdateTags(testsuite.ctx, testsuite.resourceGroupName, testsuite.vpnSiteName, armnetwork.TagsObject{
		Tags: map[string]*string{
			"key1": to.Ptr("value1"),
			"key2": to.Ptr("value2"),
		},
	}, nil)
	testsuite.Require().NoError(err)

	// From step VpnSiteLinks_ListByVpnSite
	fmt.Println("Call operation: VPNSiteLinks_ListByVPNSite")
	vPNSiteLinksClient, err := armnetwork.NewVPNSiteLinksClient(testsuite.subscriptionId, testsuite.cred, testsuite.options)
	testsuite.Require().NoError(err)
	vPNSiteLinksClientNewListByVPNSitePager := vPNSiteLinksClient.NewListByVPNSitePager(testsuite.resourceGroupName, testsuite.vpnSiteName, nil)
	for vPNSiteLinksClientNewListByVPNSitePager.More() {
		nextResult, err := vPNSiteLinksClientNewListByVPNSitePager.NextPage(testsuite.ctx)
		testsuite.Require().NoError(err)

		vpnSiteLinkName = *nextResult.Value[0].Name
		break
	}

	// From step VpnSiteLinks_Get
	fmt.Println("Call operation: VPNSiteLinks_Get")
	_, err = vPNSiteLinksClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.vpnSiteName, vpnSiteLinkName, nil)
	testsuite.Require().NoError(err)
}