@@ -381,6 +381,40 @@ func TestCreateRoute(t *testing.T) {
381381 assert .NoError (t , err )
382382 })
383383
384+ v6Route := & cloudprovider.Route {
385+ Name : "route2" ,
386+ TargetNode : types .NodeName (name ),
387+ DestinationCIDR : "fd00::/64" ,
388+ }
389+ t .Run ("should return no error if given a route with an IPv6 address" , func (t * testing.T ) {
390+ ctrl := gomock .NewController (t )
391+ defer ctrl .Finish ()
392+ client := mocks .NewMockClient (ctrl )
393+ instanceCache := newInstances (client )
394+ routeController , err := newRoutes (client , instanceCache )
395+ require .NoError (t , err )
396+
397+ err = routeController .CreateRoute (ctx , "dummy" , "dummy" , v6Route )
398+ assert .NoError (t , err )
399+ })
400+
401+ badV6Route := & cloudprovider.Route {
402+ Name : "route2" ,
403+ TargetNode : types .NodeName (name ),
404+ DestinationCIDR : ":/64" ,
405+ }
406+ t .Run ("should return error if IP address is not v4 or v6" , func (t * testing.T ) {
407+ ctrl := gomock .NewController (t )
408+ defer ctrl .Finish ()
409+ client := mocks .NewMockClient (ctrl )
410+ instanceCache := newInstances (client )
411+ routeController , err := newRoutes (client , instanceCache )
412+ require .NoError (t , err )
413+
414+ err = routeController .CreateRoute (ctx , "dummy" , "dummy" , badV6Route )
415+ assert .Error (t , err )
416+ })
417+
384418 addressRange1 := "10.10.10.0/24"
385419 routesInVPC := []linodego.VPCIP {
386420 {
0 commit comments