def METHOD_NAME():
    canonical = [
        ['router bgp 12345'],
        ['router bgp 12345', 'bgp router-id 1020'],
        ['router bgp 12345', 'address-family ipv4'],
        ['router bgp 12345', 'address-family ipv4', 'neighbor PEER_V4 peer-group'],
        ['router bgp 12345', 'address-family ipv4', 'neighbor PEER_V4 route-map A10 in'],
        ['router bgp 12345', 'exit-address-family'],
        ['router bgp 12345', 'address-family ipv6'],
        ['router bgp 12345', 'address-family ipv6', 'neighbor PEER_V6 peer-group'],
        ['router bgp 12345', 'address-family ipv6', 'neighbor PEER_V6 route-map A20 in'],
        ['router bgp 12345', 'exit-address-family'],
        ['route-map A10 permit 10'],
        ['route-map A20 permit 10']
    ]
    expected = 'router bgp 12345\n' \
               ' bgp router-id 1020\n' \
               ' address-family ipv4\n' \
               '  neighbor PEER_V4 peer-group\n' \
               '  neighbor PEER_V4 route-map A10 in\n' \
               ' exit-address-family\n' \
               ' address-family ipv6\n' \
               '  neighbor PEER_V6 peer-group\n' \
               '  neighbor PEER_V6 route-map A20 in\n' \
               ' exit-address-family\n' \
               'route-map A10 permit 10\n' \
               'route-map A20 permit 10\n'
    frr = MagicMock()
    c = ConfigMgr(frr)
    raw = c.from_canonical(canonical)
    assert raw == expected