@@ -1484,6 +1484,67 @@ networks:
14841484 assert .DeepEqual (t , config , expected , cmpopts .EquateEmpty ())
14851485}
14861486
1487+ func TestLoadNetworkLinkLocalIPs (t * testing.T ) {
1488+ config , err := loadYAML (`
1489+ services:
1490+ foo:
1491+ image: alpine
1492+ networks:
1493+ network1:
1494+ ipv4_address: 10.1.0.100
1495+ ipv6_address: 2001:db8:0:1::100
1496+ link_local_ips:
1497+ - fe80::1:95ff:fe20:100
1498+ networks:
1499+ network1:
1500+ driver: bridge
1501+ enable_ipv6: true
1502+ name: network1
1503+ ipam:
1504+ config:
1505+ - subnet: 10.1.0.0/16
1506+ - subnet: 2001:db8:0:1::/64
1507+ ` )
1508+ assert .NilError (t , err )
1509+
1510+ workingDir , err := os .Getwd ()
1511+ assert .NilError (t , err )
1512+ expected := & types.Project {
1513+ Name : "" ,
1514+ WorkingDir : workingDir ,
1515+ Services : types.Services {
1516+ {
1517+ Name : "foo" ,
1518+ Image : "alpine" ,
1519+ Scale : 1 ,
1520+ Networks : map [string ]* types.ServiceNetworkConfig {
1521+ "network1" : {
1522+ Ipv4Address : "10.1.0.100" ,
1523+ Ipv6Address : "2001:db8:0:1::100" ,
1524+ LinkLocalIPs : []string {
1525+ "fe80::1:95ff:fe20:100" ,
1526+ },
1527+ },
1528+ },
1529+ },
1530+ },
1531+ Networks : map [string ]types.NetworkConfig {
1532+ "network1" : {
1533+ Name : "network1" ,
1534+ Driver : "bridge" ,
1535+ EnableIPv6 : true ,
1536+ Ipam : types.IPAMConfig {
1537+ Config : []* types.IPAMPool {
1538+ {Subnet : "10.1.0.0/16" },
1539+ {Subnet : "2001:db8:0:1::/64" },
1540+ },
1541+ },
1542+ },
1543+ },
1544+ }
1545+ assert .DeepEqual (t , config , expected , cmpopts .EquateEmpty ())
1546+ }
1547+
14871548func TestLoadInit (t * testing.T ) {
14881549 booleanTrue := true
14891550 booleanFalse := false
0 commit comments