github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/nifcloud/network/adapt_test.go (about)

     1  package network
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/khulnasoft-lab/defsec/internal/adapters/terraform/tftestutil"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestLines(t *testing.T) {
    13  	src := `
    14  resource "nifcloud_elb" "example" {
    15      protocol = "HTTP"
    16  
    17  	network_interface {
    18  		network_id     = "net-COMMON_PRIVATE"
    19  		is_vip_network = false
    20  	}
    21  }
    22  
    23  resource "nifcloud_load_balancer" "example" {
    24  	ssl_policy_id      = "example-ssl-policy-id"
    25  	load_balancer_port = 8080
    26  }
    27  
    28  resource "nifcloud_router" "example" {
    29  	security_group  = nifcloud_security_group.example.group_name
    30  
    31  	network_interface {
    32  		network_id   = "net-COMMON_PRIVATE"
    33  	}
    34  }
    35  
    36  resource "nifcloud_security_group" "example" {
    37  	group_name = "example"
    38  	description = "memo"
    39  }
    40  
    41  resource "nifcloud_vpn_gateway" "example" {
    42  	security_group  = nifcloud_security_group.example.group_name
    43  }
    44  `
    45  
    46  	modules := tftestutil.CreateModulesFromSource(t, src, ".tf")
    47  	adapted := Adapt(modules)
    48  
    49  	require.Len(t, adapted.ElasticLoadBalancers, 1)
    50  	require.Len(t, adapted.LoadBalancers, 1)
    51  	require.Len(t, adapted.Routers, 1)
    52  	require.Len(t, adapted.VpnGateways, 1)
    53  
    54  	elb := adapted.ElasticLoadBalancers[0]
    55  	lb := adapted.LoadBalancers[0]
    56  	router := adapted.Routers[0]
    57  	vpngw := adapted.VpnGateways[0]
    58  
    59  	assert.Equal(t, 3, elb.Listeners[0].Protocol.GetMetadata().Range().GetStartLine())
    60  	assert.Equal(t, 3, elb.Listeners[0].Protocol.GetMetadata().Range().GetEndLine())
    61  
    62  	assert.Equal(t, 6, elb.NetworkInterfaces[0].NetworkID.GetMetadata().Range().GetStartLine())
    63  	assert.Equal(t, 6, elb.NetworkInterfaces[0].NetworkID.GetMetadata().Range().GetEndLine())
    64  
    65  	assert.Equal(t, 7, elb.NetworkInterfaces[0].IsVipNetwork.GetMetadata().Range().GetStartLine())
    66  	assert.Equal(t, 7, elb.NetworkInterfaces[0].IsVipNetwork.GetMetadata().Range().GetEndLine())
    67  
    68  	assert.Equal(t, 12, lb.Listeners[0].TLSPolicy.GetMetadata().Range().GetStartLine())
    69  	assert.Equal(t, 12, lb.Listeners[0].TLSPolicy.GetMetadata().Range().GetEndLine())
    70  
    71  	assert.Equal(t, 13, lb.Listeners[0].Protocol.GetMetadata().Range().GetStartLine())
    72  	assert.Equal(t, 13, lb.Listeners[0].Protocol.GetMetadata().Range().GetEndLine())
    73  
    74  	assert.Equal(t, 17, router.SecurityGroup.GetMetadata().Range().GetStartLine())
    75  	assert.Equal(t, 17, router.SecurityGroup.GetMetadata().Range().GetEndLine())
    76  
    77  	assert.Equal(t, 20, router.NetworkInterfaces[0].NetworkID.GetMetadata().Range().GetStartLine())
    78  	assert.Equal(t, 20, router.NetworkInterfaces[0].NetworkID.GetMetadata().Range().GetEndLine())
    79  
    80  	assert.Equal(t, 30, vpngw.SecurityGroup.GetMetadata().Range().GetStartLine())
    81  	assert.Equal(t, 30, vpngw.SecurityGroup.GetMetadata().Range().GetEndLine())
    82  
    83  }