mirror of https://github.com/docker/docs.git
				
				
				
			
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
| package virtualbox
 | |
| 
 | |
| import (
 | |
| 	"errors"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/stretchr/testify/assert"
 | |
| )
 | |
| 
 | |
| const stdOutDiskInfo = `
 | |
| storagecontrollerbootable0="on"
 | |
| "SATA-0-0"="/home/ehazlett/.boot2docker/boot2docker.iso"
 | |
| "SATA-IsEjected"="off"
 | |
| "SATA-1-0"="/home/ehazlett/vm/test/disk.vmdk"
 | |
| "SATA-ImageUUID-1-0"="12345-abcdefg"
 | |
| "SATA-2-0"="none"
 | |
| nic1="nat"`
 | |
| 
 | |
| func TestVMDiskInfo(t *testing.T) {
 | |
| 	vbox := &VBoxManagerMock{
 | |
| 		args:   "showvminfo default --machinereadable",
 | |
| 		stdOut: stdOutDiskInfo,
 | |
| 	}
 | |
| 
 | |
| 	disk, err := getVMDiskInfo("default", vbox)
 | |
| 
 | |
| 	assert.Equal(t, "/home/ehazlett/vm/test/disk.vmdk", disk.Path)
 | |
| 	assert.Equal(t, "12345-abcdefg", disk.UUID)
 | |
| 	assert.NoError(t, err)
 | |
| }
 | |
| 
 | |
| func TestVMDiskInfoError(t *testing.T) {
 | |
| 	vbox := &VBoxManagerMock{
 | |
| 		args: "showvminfo default --machinereadable",
 | |
| 		err:  errors.New("BUG"),
 | |
| 	}
 | |
| 
 | |
| 	disk, err := getVMDiskInfo("default", vbox)
 | |
| 
 | |
| 	assert.Nil(t, disk)
 | |
| 	assert.EqualError(t, err, "BUG")
 | |
| }
 | |
| 
 | |
| func TestVMDiskInfoInvalidOutput(t *testing.T) {
 | |
| 	vbox := &VBoxManagerMock{
 | |
| 		args:   "showvminfo default --machinereadable",
 | |
| 		stdOut: "INVALID",
 | |
| 	}
 | |
| 
 | |
| 	disk, err := getVMDiskInfo("default", vbox)
 | |
| 
 | |
| 	assert.Empty(t, disk.Path)
 | |
| 	assert.Empty(t, disk.UUID)
 | |
| 	assert.NoError(t, err)
 | |
| }
 |