github.phpd.cn/hashicorp/packer@v1.3.2/builder/azure/arm/step_set_certificate_test.go (about)

     1  package arm
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/hashicorp/packer/builder/azure/common/constants"
     8  	"github.com/hashicorp/packer/helper/multistep"
     9  )
    10  
    11  func TestStepSetCertificateShouldPassIfGetPasses(t *testing.T) {
    12  	var testSubject = &StepSetCertificate{
    13  		config: new(Config),
    14  		say:    func(message string) {},
    15  		error:  func(e error) {},
    16  	}
    17  
    18  	stateBag := createTestStateBagStepSetCertificate()
    19  
    20  	var result = testSubject.Run(context.Background(), stateBag)
    21  	if result != multistep.ActionContinue {
    22  		t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result)
    23  	}
    24  
    25  	if _, ok := stateBag.GetOk(constants.Error); ok == true {
    26  		t.Fatalf("Expected the step to not set stateBag['%s'], but it was.", constants.Error)
    27  	}
    28  }
    29  
    30  func TestStepSetCertificateShouldTakeStepArgumentsFromStateBag(t *testing.T) {
    31  	config := new(Config)
    32  	var testSubject = &StepSetCertificate{
    33  		config: config,
    34  		say:    func(message string) {},
    35  		error:  func(e error) {},
    36  	}
    37  
    38  	stateBag := createTestStateBagStepSetCertificate()
    39  	var result = testSubject.Run(context.Background(), stateBag)
    40  
    41  	if result != multistep.ActionContinue {
    42  		t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result)
    43  	}
    44  
    45  	if config.tmpWinRMCertificateUrl != stateBag.Get(constants.ArmCertificateUrl) {
    46  		t.Fatalf("Expected config.tmpWinRMCertificateUrl to be %s, but got %s'", stateBag.Get(constants.ArmCertificateUrl), config.tmpWinRMCertificateUrl)
    47  	}
    48  }
    49  
    50  func createTestStateBagStepSetCertificate() multistep.StateBag {
    51  	stateBag := new(multistep.BasicStateBag)
    52  	stateBag.Put(constants.ArmCertificateUrl, "Unit Test: Certificate URL")
    53  	return stateBag
    54  }