Skip to content
Snippets Groups Projects
bgp_path_test.go 1.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • package route
    
    import (
    	"testing"
    
    	"github.com/bio-routing/bio-rd/protocols/bgp/packet"
    	"github.com/stretchr/testify/assert"
    )
    
    func TestCommunitiesString(t *testing.T) {
    	tests := []struct {
    		name     string
    		comms    []uint32
    		expected string
    	}{
    		{
    			name:     "two attributes",
    			comms:    []uint32{131080, 16778241},
    			expected: "(2,8) (256,1025)",
    		},
    	}
    
    	for _, test := range tests {
    		t.Run(test.name, func(te *testing.T) {
    			p := &BGPPath{
    				Communities: test.comms,
    			}
    
    			assert.Equal(te, test.expected, p.CommunitiesString())
    		})
    	}
    }
    
    func TestLargeCommunitiesString(t *testing.T) {
    	tests := []struct {
    		name     string
    		comms    []packet.LargeCommunity
    		expected string
    	}{
    		{
    			name: "two attributes",
    			comms: []packet.LargeCommunity{
    				{
    					GlobalAdministrator: 1,
    					DataPart1:           2,
    					DataPart2:           3,
    				},
    				{
    					GlobalAdministrator: 4,
    					DataPart1:           5,
    					DataPart2:           6,
    				},
    			},
    			expected: "(1,2,3) (4,5,6)",
    		},
    	}
    
    	for _, test := range tests {
    		t.Run(test.name, func(te *testing.T) {
    			p := &BGPPath{
    				LargeCommunities: test.comms,
    			}
    			assert.Equal(te, test.expected, p.LargeCommunitiesString())
    		})
    	}
    }