public static DeviceDescription parseJuniperDescription(DeviceId deviceId,
                                                            HierarchicalConfiguration sysInfoCfg,
                                                            String chassisMacAddresses) {
        HierarchicalConfiguration info = sysInfoCfg.configurationAt(SYS_INFO);

        String hw = info.getString(HW_MODEL) == null ? UNKNOWN : info.getString(HW_MODEL);
        String sw = UNKNOWN;
        if (info.getString(OS_NAME) != null || info.getString(OS_VER) != null) {
            sw = info.getString(OS_NAME) + " " + info.getString(OS_VER);
        }
        String serial = info.getString(SER_NUM) == null ? UNKNOWN : info.getString(SER_NUM);

        return new DefaultDeviceDescription(deviceId.uri(), ROUTER,
                JUNIPER, hw, sw, serial,
                extractChassisId(chassisMacAddresses),
                DefaultAnnotations.EMPTY);
    }
@Test
    public void testDeviceDescriptionParsedFromJunos19() throws IOException {

        HierarchicalConfiguration getSystemInfoResp = XmlConfigParser.loadXml(
                getClass().getResourceAsStream("/Junos_get-system-information_response_19.2.xml"));
        String chassisText = CharStreams.toString(
                new InputStreamReader(
                        getClass().getResourceAsStream("/Junos_get-chassis-mac-addresses_response_19.2.xml")));

        DeviceDescription expected =
                new DefaultDeviceDescription(URI.create(DEVICE_ID), ROUTER, "JUNIPER", "acx6360-or",
                        "junos 19.2I-20190228_dev_common.0.2316", "DX004", new ChassisId("f4b52f1f81c0"));

        assertEquals(expected, JuniperUtils.parseJuniperDescription(deviceId, getSystemInfoResp, chassisText));

    }