gitee.com/leisunstar/runtime@v0.0.0-20200521203717-5cef3e7b53f9/virtcontainers/factory/direct/direct_test.go (about)

     1  // Copyright (c) 2018 HyperHQ Inc.
     2  //
     3  // SPDX-License-Identifier: Apache-2.0
     4  //
     5  
     6  package direct
     7  
     8  import (
     9  	"context"
    10  	"testing"
    11  
    12  	"github.com/stretchr/testify/assert"
    13  
    14  	vc "github.com/kata-containers/runtime/virtcontainers"
    15  	"github.com/kata-containers/runtime/virtcontainers/persist/fs"
    16  )
    17  
    18  func TestTemplateFactory(t *testing.T) {
    19  	assert := assert.New(t)
    20  
    21  	testDir := fs.MockStorageRootPath()
    22  	defer fs.MockStorageDestroy()
    23  
    24  	hyperConfig := vc.HypervisorConfig{
    25  		KernelPath: testDir,
    26  		ImagePath:  testDir,
    27  	}
    28  	vmConfig := vc.VMConfig{
    29  		HypervisorType:   vc.MockHypervisor,
    30  		AgentType:        vc.NoopAgentType,
    31  		ProxyType:        vc.NoopProxyType,
    32  		HypervisorConfig: hyperConfig,
    33  	}
    34  
    35  	ctx := context.Background()
    36  
    37  	// New
    38  	f := New(ctx, vmConfig)
    39  
    40  	// Config
    41  	assert.Equal(f.Config(), vmConfig)
    42  
    43  	// GetBaseVM
    44  	vm, err := f.GetBaseVM(ctx, vmConfig)
    45  	assert.Nil(err)
    46  
    47  	err = vm.Stop()
    48  	assert.Nil(err)
    49  
    50  	// CloseFactory
    51  	f.CloseFactory(ctx)
    52  }