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

     1  package computing
     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_instance" "example" {
    15  	security_group  = nifcloud_security_group.example.group_name
    16  
    17  	network_interface {
    18  		network_id   = "net-COMMON_PRIVATE"
    19  	}
    20  }
    21  
    22  resource "nifcloud_security_group" "example" {
    23  	group_name = "example"
    24  	description = "memo"
    25  }
    26  
    27  resource "nifcloud_security_group_rule" "example" {
    28  	type                 = "IN"
    29  	security_group_names = [nifcloud_security_group.example.group_name]
    30  	from_port            = 22
    31  	to_port              = 22
    32  	protocol             = "TCP"
    33  	description          = "memo"
    34  	cidr_ip              = "1.2.3.4/32"
    35  }
    36  `
    37  
    38  	modules := tftestutil.CreateModulesFromSource(t, src, ".tf")
    39  	adapted := Adapt(modules)
    40  
    41  	require.Len(t, adapted.Instances, 1)
    42  	require.Len(t, adapted.SecurityGroups, 1)
    43  
    44  	instance := adapted.Instances[0]
    45  	sg := adapted.SecurityGroups[0]
    46  
    47  	assert.Equal(t, 3, instance.SecurityGroup.GetMetadata().Range().GetStartLine())
    48  	assert.Equal(t, 3, instance.SecurityGroup.GetMetadata().Range().GetEndLine())
    49  
    50  	assert.Equal(t, 6, instance.NetworkInterfaces[0].NetworkID.GetMetadata().Range().GetStartLine())
    51  	assert.Equal(t, 6, instance.NetworkInterfaces[0].NetworkID.GetMetadata().Range().GetEndLine())
    52  
    53  	assert.Equal(t, 12, sg.Description.GetMetadata().Range().GetStartLine())
    54  	assert.Equal(t, 12, sg.Description.GetMetadata().Range().GetEndLine())
    55  
    56  	assert.Equal(t, 21, sg.IngressRules[0].Description.GetMetadata().Range().GetStartLine())
    57  	assert.Equal(t, 21, sg.IngressRules[0].Description.GetMetadata().Range().GetEndLine())
    58  
    59  	assert.Equal(t, 22, sg.IngressRules[0].CIDR.GetMetadata().Range().GetStartLine())
    60  	assert.Equal(t, 22, sg.IngressRules[0].CIDR.GetMetadata().Range().GetEndLine())
    61  }