github.com/marksheahan/packer@v0.10.2-0.20160613200515-1acb2d6645a0/builder/azure/common/template/template_builder_test.go (about) 1 package template 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/Azure/azure-sdk-for-go/arm/compute" 8 "github.com/mitchellh/packer/builder/azure/common/approvals" 9 ) 10 11 // Ensure that a Linux template is configured as expected. 12 // * Include SSH configuration: authorized key, and key path. 13 func TestBuildLinux00(t *testing.T) { 14 testSubject, err := NewTemplateBuilder() 15 if err != nil { 16 t.Fatal(err) 17 } 18 19 err = testSubject.BuildLinux("--test-ssh-authorized-key--") 20 if err != nil { 21 t.Fatal(err) 22 } 23 24 err = testSubject.SetMarketPlaceImage("Canonical", "UbuntuServer", "16.04", "latest") 25 if err != nil { 26 t.Fatal(err) 27 } 28 29 doc, err := testSubject.ToJSON() 30 if err != nil { 31 t.Fatal(err) 32 } 33 34 reader := strings.NewReader(*doc) 35 36 err = approvals.Verify(t, reader) 37 if err != nil { 38 t.Fatal(err) 39 } 40 } 41 42 // Ensure that a user can specify a custom VHD when building a Linux template. 43 func TestBuildLinux01(t *testing.T) { 44 testSubject, err := NewTemplateBuilder() 45 if err != nil { 46 t.Fatal(err) 47 } 48 49 err = testSubject.BuildLinux("--test-ssh-authorized-key--") 50 if err != nil { 51 t.Fatal(err) 52 } 53 54 err = testSubject.SetImageUrl("http://azure/custom.vhd", compute.Linux) 55 if err != nil { 56 t.Fatal(err) 57 } 58 59 doc, err := testSubject.ToJSON() 60 if err != nil { 61 t.Fatal(err) 62 } 63 64 reader := strings.NewReader(*doc) 65 66 err = approvals.Verify(t, reader) 67 if err != nil { 68 t.Fatal(err) 69 } 70 } 71 72 // Ensure that a Windows template is configured as expected. 73 // * Include WinRM configuration. 74 // * Include KeyVault configuration, which is needed for WinRM. 75 func TestBuildWindows00(t *testing.T) { 76 testSubject, err := NewTemplateBuilder() 77 if err != nil { 78 t.Fatal(err) 79 } 80 81 err = testSubject.BuildWindows("--test-key-vault-name", "--test-winrm-certificate-url--") 82 if err != nil { 83 t.Fatal(err) 84 } 85 86 err = testSubject.SetMarketPlaceImage("MicrosoftWindowsServer", "WindowsServer", "2012-R2-Datacenter", "latest") 87 if err != nil { 88 t.Fatal(err) 89 } 90 91 doc, err := testSubject.ToJSON() 92 if err != nil { 93 t.Fatal(err) 94 } 95 96 reader := strings.NewReader(*doc) 97 98 err = approvals.Verify(t, reader) 99 if err != nil { 100 t.Fatal(err) 101 } 102 }