diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2018-07-07 13:48:38 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2018-07-07 20:44:25 +0900 |
commit | c4775c42510d1f1ddd55036dc19e982712fa6a0b (patch) | |
tree | 6ec8b61d4338c809e239e3003a2d32d480898e22 /table/table_test.go | |
parent | b3079759aa13172fcb548a83da9a9653d8d5fed4 (diff) |
follow Standard Go Project Layout
https://github.com/golang-standards/project-layout
Now you can see clearly what are private and public library code.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Diffstat (limited to 'table/table_test.go')
-rw-r--r-- | table/table_test.go | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/table/table_test.go b/table/table_test.go deleted file mode 100644 index 6228b995..00000000 --- a/table/table_test.go +++ /dev/null @@ -1,179 +0,0 @@ -// Copyright (C) 2014 Nippon Telegraph and Telephone Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -// implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package table - -import ( - "testing" - "time" - - "github.com/osrg/gobgp/packet/bgp" - "github.com/stretchr/testify/assert" -) - -func TestTableDeleteDestByNlri(t *testing.T) { - peerT := TableCreatePeer() - pathT := TableCreatePath(peerT) - ipv4t := NewTable(bgp.RF_IPv4_UC) - for _, path := range pathT { - dest := NewDestination(path.GetNlri(), 0) - ipv4t.setDestination(dest) - } - gdest := ipv4t.GetDestination(pathT[0].GetNlri()) - rdest := ipv4t.deleteDestByNlri(pathT[0].GetNlri()) - assert.Equal(t, rdest, gdest) -} - -func TestTableDeleteDest(t *testing.T) { - peerT := TableCreatePeer() - pathT := TableCreatePath(peerT) - ipv4t := NewTable(bgp.RF_IPv4_UC) - for _, path := range pathT { - dest := NewDestination(path.GetNlri(), 0) - ipv4t.setDestination(dest) - } - dest := NewDestination(pathT[0].GetNlri(), 0) - ipv4t.setDestination(dest) - ipv4t.deleteDest(dest) - gdest := ipv4t.GetDestination(pathT[0].GetNlri()) - assert.Nil(t, gdest) -} - -func TestTableGetRouteFamily(t *testing.T) { - ipv4t := NewTable(bgp.RF_IPv4_UC) - rf := ipv4t.GetRoutefamily() - assert.Equal(t, rf, bgp.RF_IPv4_UC) -} - -func TestTableSetDestinations(t *testing.T) { - peerT := TableCreatePeer() - pathT := TableCreatePath(peerT) - ipv4t := NewTable(bgp.RF_IPv4_UC) - destinations := make(map[string]*Destination) - for _, path := range pathT { - tableKey := ipv4t.tableKey(path.GetNlri()) - dest := NewDestination(path.GetNlri(), 0) - destinations[tableKey] = dest - } - ipv4t.setDestinations(destinations) - ds := ipv4t.GetDestinations() - assert.Equal(t, ds, destinations) -} -func TestTableGetDestinations(t *testing.T) { - peerT := DestCreatePeer() - pathT := DestCreatePath(peerT) - ipv4t := NewTable(bgp.RF_IPv4_UC) - destinations := make(map[string]*Destination) - for _, path := range pathT { - tableKey := ipv4t.tableKey(path.GetNlri()) - dest := NewDestination(path.GetNlri(), 0) - destinations[tableKey] = dest - } - ipv4t.setDestinations(destinations) - ds := ipv4t.GetDestinations() - assert.Equal(t, ds, destinations) -} - -func TestTableKey(t *testing.T) { - tb := NewTable(bgp.RF_IPv4_UC) - n1, _ := bgp.NewPrefixFromRouteFamily(bgp.AFI_IP, bgp.SAFI_UNICAST, "0.0.0.0/0") - d1 := NewDestination(n1, 0) - n2, _ := bgp.NewPrefixFromRouteFamily(bgp.AFI_IP, bgp.SAFI_UNICAST, "0.0.0.0/1") - d2 := NewDestination(n2, 0) - assert.Equal(t, len(tb.tableKey(d1.GetNlri())), 5) - tb.setDestination(d1) - tb.setDestination(d2) - assert.Equal(t, len(tb.GetDestinations()), 2) -} - -func TableCreatePeer() []*PeerInfo { - peerT1 := &PeerInfo{AS: 65000} - peerT2 := &PeerInfo{AS: 65001} - peerT3 := &PeerInfo{AS: 65002} - peerT := []*PeerInfo{peerT1, peerT2, peerT3} - return peerT -} - -func TableCreatePath(peerT []*PeerInfo) []*Path { - bgpMsgT1 := updateMsgT1() - bgpMsgT2 := updateMsgT2() - bgpMsgT3 := updateMsgT3() - pathT := make([]*Path, 3) - for i, msg := range []*bgp.BGPMessage{bgpMsgT1, bgpMsgT2, bgpMsgT3} { - updateMsgT := msg.Body.(*bgp.BGPUpdate) - nlriList := updateMsgT.NLRI - pathAttributes := updateMsgT.PathAttributes - nlri_info := nlriList[0] - pathT[i] = NewPath(peerT[i], nlri_info, false, pathAttributes, time.Now(), false) - } - return pathT -} - -func updateMsgT1() *bgp.BGPMessage { - - origin := bgp.NewPathAttributeOrigin(0) - aspathParam := []bgp.AsPathParamInterface{bgp.NewAsPathParam(2, []uint16{65000})} - aspath := bgp.NewPathAttributeAsPath(aspathParam) - nexthop := bgp.NewPathAttributeNextHop("192.168.50.1") - med := bgp.NewPathAttributeMultiExitDisc(0) - - pathAttributes := []bgp.PathAttributeInterface{ - origin, - aspath, - nexthop, - med, - } - - nlri := []*bgp.IPAddrPrefix{bgp.NewIPAddrPrefix(24, "10.10.10.0")} - return bgp.NewBGPUpdateMessage(nil, pathAttributes, nlri) -} - -func updateMsgT2() *bgp.BGPMessage { - - origin := bgp.NewPathAttributeOrigin(0) - aspathParam := []bgp.AsPathParamInterface{bgp.NewAsPathParam(2, []uint16{65100})} - aspath := bgp.NewPathAttributeAsPath(aspathParam) - nexthop := bgp.NewPathAttributeNextHop("192.168.100.1") - med := bgp.NewPathAttributeMultiExitDisc(100) - - pathAttributes := []bgp.PathAttributeInterface{ - origin, - aspath, - nexthop, - med, - } - - nlri := []*bgp.IPAddrPrefix{bgp.NewIPAddrPrefix(24, "20.20.20.0")} - return bgp.NewBGPUpdateMessage(nil, pathAttributes, nlri) -} -func updateMsgT3() *bgp.BGPMessage { - origin := bgp.NewPathAttributeOrigin(0) - aspathParam := []bgp.AsPathParamInterface{bgp.NewAsPathParam(2, []uint16{65100})} - aspath := bgp.NewPathAttributeAsPath(aspathParam) - nexthop := bgp.NewPathAttributeNextHop("192.168.150.1") - med := bgp.NewPathAttributeMultiExitDisc(100) - - pathAttributes := []bgp.PathAttributeInterface{ - origin, - aspath, - nexthop, - med, - } - - nlri := []*bgp.IPAddrPrefix{bgp.NewIPAddrPrefix(24, "30.30.30.0")} - w1 := bgp.NewIPAddrPrefix(23, "40.40.40.0") - withdrawnRoutes := []*bgp.IPAddrPrefix{w1} - return bgp.NewBGPUpdateMessage(withdrawnRoutes, pathAttributes, nlri) -} |