@@ -15,7 +15,6 @@ import (
1515 "github.com/google/go-cmp/cmp"
1616 "github.com/stretchr/testify/assert"
1717 "github.com/stretchr/testify/require"
18- "gopkg.in/rethinkdb/rethinkdb-go.v6"
1918 r "gopkg.in/rethinkdb/rethinkdb-go.v6"
2019
2120 "github.com/metal-stack/metal-api/cmd/metal-api/internal/datastore"
@@ -351,11 +350,20 @@ func TestMakeBGPFilterFirewall(t *testing.T) {
351350 IPs : []string {"212.89.42.1" , "212.89.42.2" },
352351 Vrf : 104009 ,
353352 },
353+ {
354+ IPs : []string {"2001::" , "fe80::" },
355+ Vrf : 104011 ,
356+ },
357+ {
358+ IPs : []string {"2002::" , "fe81::" },
359+ Underlay : true ,
360+ Vrf : 104012 ,
361+ },
354362 },
355363 },
356364 },
357365 },
358- want : v1 .NewBGPFilter ([]string {"104009" , "104010" }, []string {"10.0.0.1/32" , "10.0.0.2/32" }),
366+ want : v1 .NewBGPFilter ([]string {"104009" , "104010" , "104011" }, []string {"10.0.0.1/32" , "10.0.0.2/32" , "2002::/128" , "fe81::/128 " }),
359367 },
360368 {
361369 name : "no underlay firewall networks" ,
@@ -395,7 +403,7 @@ func TestMakeBGPFilterFirewall(t *testing.T) {
395403 for i := range tests {
396404 tt := tests [i ]
397405 t .Run (tt .name , func (t * testing.T ) {
398- got := makeBGPFilterFirewall (tt .args .machine )
406+ got , _ := makeBGPFilterFirewall (tt .args .machine )
399407 if ! reflect .DeepEqual (got , tt .want ) {
400408 t .Errorf ("makeBGPFilterFirewall() = %v, want %v" , got , tt .want )
401409 }
@@ -429,6 +437,9 @@ func TestMakeBGPFilterMachine(t *testing.T) {
429437 metal.IP {
430438 IPAddress : "10.1.0.1" ,
431439 },
440+ metal.IP {
441+ IPAddress : "2001::1" ,
442+ },
432443 }},
433444 machine : metal.Machine {
434445 Allocation : & metal.MachineAllocation {
@@ -449,11 +460,15 @@ func TestMakeBGPFilterMachine(t *testing.T) {
449460 IPs : []string {"212.89.42.2" , "212.89.42.1" },
450461 Vrf : 104009 ,
451462 },
463+ {
464+ IPs : []string {"2001::" },
465+ Vrf : 104010 ,
466+ },
452467 },
453468 },
454469 },
455470 },
456- want : v1 .NewBGPFilter ([]string {}, []string {"10.1.0.0/22" , "10.2.0.0/22" , "100.127.1.1/32" , "212.89.42.1/32" , "212.89.42.2/32" }),
471+ want : v1 .NewBGPFilter ([]string {}, []string {"10.1.0.0/22" , "10.2.0.0/22" , "100.127.1.1/32" , "2001::1/128" , " 212.89.42.1/32" , "212.89.42.2/32" }),
457472 },
458473 {
459474 name : "allow only allocated ips" ,
@@ -481,7 +496,7 @@ func TestMakeBGPFilterMachine(t *testing.T) {
481496 for i := range tests {
482497 tt := tests [i ]
483498 t .Run (tt .name , func (t * testing.T ) {
484- got := makeBGPFilterMachine (tt .args .machine , tt .args .ipsMap )
499+ got , _ := makeBGPFilterMachine (tt .args .machine , tt .args .ipsMap )
485500 if ! reflect .DeepEqual (got , tt .want ) {
486501 t .Errorf ("makeBGPFilterMachine() = %v, want %v" , got , tt .want )
487502 }
@@ -588,7 +603,7 @@ func TestMakeSwitchNics(t *testing.T) {
588603 for i := range tests {
589604 tt := tests [i ]
590605 t .Run (tt .name , func (t * testing.T ) {
591- got := makeSwitchNics (tt .args .s , tt .args .ips , tt .args .machines )
606+ got , _ := makeSwitchNics (tt .args .s , tt .args .ips , tt .args .machines )
592607 if ! reflect .DeepEqual (got , tt .want ) {
593608 t .Errorf ("makeSwitchNics() = %v, want %v" , got , tt .want )
594609 }
@@ -1425,23 +1440,23 @@ func TestToggleSwitchNicWithoutMachine(t *testing.T) {
14251440func Test_SwitchDelete (t * testing.T ) {
14261441 tests := []struct {
14271442 name string
1428- mockFn func (mock * rethinkdb .Mock )
1443+ mockFn func (mock * r .Mock )
14291444 want * v1.SwitchResponse
14301445 wantErr error
14311446 wantStatus int
14321447 force bool
14331448 }{
14341449 {
14351450 name : "delete switch" ,
1436- mockFn : func (mock * rethinkdb .Mock ) {
1437- mock .On (rethinkdb .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" )).Return (& metal.Switch {
1451+ mockFn : func (mock * r .Mock ) {
1452+ mock .On (r .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" )).Return (& metal.Switch {
14381453 Base : metal.Base {
14391454 ID : "switch-1" ,
14401455 },
14411456 }, nil )
1442- mock .On (rethinkdb .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" ).Delete ()).Return (testdata .EmptyResult , nil )
1443- mock .On (rethinkdb .DB ("mockdb" ).Table ("switchstatus" ).Get ("switch-1" )).Return (nil , nil )
1444- mock .On (rethinkdb .DB ("mockdb" ).Table ("ip" )).Return (nil , nil )
1457+ mock .On (r .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" ).Delete ()).Return (testdata .EmptyResult , nil )
1458+ mock .On (r .DB ("mockdb" ).Table ("switchstatus" ).Get ("switch-1" )).Return (nil , nil )
1459+ mock .On (r .DB ("mockdb" ).Table ("ip" )).Return (nil , nil )
14451460 },
14461461 want : & v1.SwitchResponse {
14471462 Common : v1.Common {
@@ -1460,16 +1475,16 @@ func Test_SwitchDelete(t *testing.T) {
14601475 },
14611476 {
14621477 name : "delete switch does not work due to machine connections" ,
1463- mockFn : func (mock * rethinkdb .Mock ) {
1464- mock .On (rethinkdb .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" )).Return (& metal.Switch {
1478+ mockFn : func (mock * r .Mock ) {
1479+ mock .On (r .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" )).Return (& metal.Switch {
14651480 Base : metal.Base {
14661481 ID : "switch-1" ,
14671482 },
14681483 MachineConnections : metal.ConnectionMap {
14691484 "port-a" : metal.Connections {},
14701485 },
14711486 }, nil )
1472- mock .On (rethinkdb .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" ).Delete ()).Return (testdata .EmptyResult , nil )
1487+ mock .On (r .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" ).Delete ()).Return (testdata .EmptyResult , nil )
14731488 },
14741489 wantErr : & httperrors.HTTPErrorResponse {
14751490 StatusCode : http .StatusBadRequest ,
@@ -1479,18 +1494,18 @@ func Test_SwitchDelete(t *testing.T) {
14791494 },
14801495 {
14811496 name : "delete switch with force" ,
1482- mockFn : func (mock * rethinkdb .Mock ) {
1483- mock .On (rethinkdb .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" )).Return (& metal.Switch {
1497+ mockFn : func (mock * r .Mock ) {
1498+ mock .On (r .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" )).Return (& metal.Switch {
14841499 Base : metal.Base {
14851500 ID : "switch-1" ,
14861501 },
14871502 MachineConnections : metal.ConnectionMap {
14881503 "port-a" : metal.Connections {},
14891504 },
14901505 }, nil )
1491- mock .On (rethinkdb .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" ).Delete ()).Return (testdata .EmptyResult , nil )
1492- mock .On (rethinkdb .DB ("mockdb" ).Table ("switchstatus" ).Get ("switch-1" )).Return (nil , nil )
1493- mock .On (rethinkdb .DB ("mockdb" ).Table ("ip" )).Return (nil , nil )
1506+ mock .On (r .DB ("mockdb" ).Table ("switch" ).Get ("switch-1" ).Delete ()).Return (testdata .EmptyResult , nil )
1507+ mock .On (r .DB ("mockdb" ).Table ("switchstatus" ).Get ("switch-1" )).Return (nil , nil )
1508+ mock .On (r .DB ("mockdb" ).Table ("ip" )).Return (nil , nil )
14941509 },
14951510 force : true ,
14961511 want : & v1.SwitchResponse {
0 commit comments