80 lines
2.8 KiB
Go
80 lines
2.8 KiB
Go
package arm
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestResourceResolverIgnoresEmptyVirtualNetworkName(t *testing.T) {
|
|
var c Config
|
|
c.Prepare(getArmBuilderConfiguration(), getPackerConfiguration())
|
|
if c.VirtualNetworkName != "" {
|
|
t.Fatalf("Expected VirtualNetworkName to be empty by default")
|
|
}
|
|
|
|
sut := newTestResourceResolver()
|
|
sut.findVirtualNetworkResourceGroup = nil // assert that this is not even called
|
|
sut.Resolve(&c)
|
|
|
|
if c.VirtualNetworkName != "" {
|
|
t.Fatalf("Expected VirtualNetworkName to be empty")
|
|
}
|
|
if c.VirtualNetworkResourceGroupName != "" {
|
|
t.Fatalf("Expected VirtualNetworkResourceGroupName to be empty")
|
|
}
|
|
}
|
|
|
|
// If the user fully specified the virtual network name and resource group then
|
|
// there is no need to do a lookup.
|
|
func TestResourceResolverIgnoresSetVirtualNetwork(t *testing.T) {
|
|
var c Config
|
|
c.Prepare(getArmBuilderConfiguration(), getPackerConfiguration())
|
|
c.VirtualNetworkName = "--virtual-network-name--"
|
|
c.VirtualNetworkResourceGroupName = "--virtual-network-resource-group-name--"
|
|
c.VirtualNetworkSubnetName = "--virtual-network-subnet-name--"
|
|
|
|
sut := newTestResourceResolver()
|
|
sut.findVirtualNetworkResourceGroup = nil // assert that this is not even called
|
|
sut.findVirtualNetworkSubnet = nil // assert that this is not even called
|
|
sut.Resolve(&c)
|
|
|
|
if c.VirtualNetworkName != "--virtual-network-name--" {
|
|
t.Fatalf("Expected VirtualNetworkName to be --virtual-network-name--")
|
|
}
|
|
if c.VirtualNetworkResourceGroupName != "--virtual-network-resource-group-name--" {
|
|
t.Fatalf("Expected VirtualNetworkResourceGroupName to be --virtual-network-resource-group-name--")
|
|
}
|
|
if c.VirtualNetworkSubnetName != "--virtual-network-subnet-name--" {
|
|
t.Fatalf("Expected VirtualNetworkSubnetName to be --virtual-network-subnet-name--")
|
|
}
|
|
}
|
|
|
|
// If the user set virtual network name then the code should resolve virtual network
|
|
// resource group name.
|
|
func TestResourceResolverSetVirtualNetworkResourceGroupName(t *testing.T) {
|
|
var c Config
|
|
c.Prepare(getArmBuilderConfiguration(), getPackerConfiguration())
|
|
c.VirtualNetworkName = "--virtual-network-name--"
|
|
|
|
sut := newTestResourceResolver()
|
|
sut.Resolve(&c)
|
|
|
|
if c.VirtualNetworkResourceGroupName != "findVirtualNetworkResourceGroup is mocked" {
|
|
t.Fatalf("Expected VirtualNetworkResourceGroupName to be 'findVirtualNetworkResourceGroup is mocked'")
|
|
}
|
|
if c.VirtualNetworkSubnetName != "findVirtualNetworkSubnet is mocked" {
|
|
t.Fatalf("Expected findVirtualNetworkSubnet to be 'findVirtualNetworkSubnet is mocked'")
|
|
}
|
|
}
|
|
|
|
func newTestResourceResolver() resourceResolver {
|
|
return resourceResolver{
|
|
client: nil,
|
|
findVirtualNetworkResourceGroup: func(*AzureClient, string) (string, error) {
|
|
return "findVirtualNetworkResourceGroup is mocked", nil
|
|
},
|
|
findVirtualNetworkSubnet: func(*AzureClient, string, string) (string, error) {
|
|
return "findVirtualNetworkSubnet is mocked", nil
|
|
},
|
|
}
|
|
}
|