github.phpd.cn/hashicorp/packer@v1.3.2/builder/oracle/oci/step_test.go (about) 1 package oci 2 3 import ( 4 "bytes" 5 "os" 6 7 "github.com/hashicorp/packer/helper/multistep" 8 "github.com/hashicorp/packer/packer" 9 ) 10 11 // TODO(apryde): It would be good not to have to write a key file to disk to 12 // load the config. 13 func baseTestConfig() *Config { 14 _, keyFile, err := baseTestConfigWithTmpKeyFile() 15 if err != nil { 16 panic(err) 17 } 18 19 cfg, err := NewConfig(map[string]interface{}{ 20 "availability_domain": "aaaa:US-ASHBURN-AD-1", 21 22 // Image 23 "base_image_ocid": "ocid1.image.oc1.iad.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 24 "shape": "VM.Standard1.1", 25 "image_name": "HelloWorld", 26 "region": "us-ashburn-1", 27 28 // Networking 29 "subnet_ocid": "ocid1.subnet.oc1.iad.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 30 31 // AccessConfig 32 "user_ocid": "ocid1.user.oc1..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 33 "tenancy_ocid": "ocid1.tenancy.oc1..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 34 "fingerprint": "70:04:5z:b3:19:ab:90:75:a4:1f:50:d4:c7:c3:33:20", 35 "key_file": keyFile.Name(), 36 37 // Comm 38 "ssh_username": "opc", 39 "use_private_ip": false, 40 }) 41 42 // Once we have a config object they key file isn't re-read so we can 43 // remove it now. 44 os.Remove(keyFile.Name()) 45 46 if err != nil { 47 panic(err) 48 } 49 return cfg 50 } 51 52 func testState() multistep.StateBag { 53 baseTestConfig := baseTestConfig() 54 state := new(multistep.BasicStateBag) 55 state.Put("config", baseTestConfig) 56 state.Put("driver", &driverMock{cfg: baseTestConfig}) 57 state.Put("hook", &packer.MockHook{}) 58 state.Put("ui", &packer.BasicUi{ 59 Reader: new(bytes.Buffer), 60 Writer: new(bytes.Buffer), 61 }) 62 return state 63 }