public Map<String, Macro> setMacroMap() { Map<String, JrdsDocument> nodemap = load.getRepository(ConfigType.MACRODEF); macrosmap = getObjectMap(new MacroBuilder(), nodemap); logger.debug(jrds.Util.delayedFormatString("Macro configured: %s", macrosmap.keySet())); return macrosmap; }
@Test public void testMacroLoad() throws Exception { JrdsDocument d = Tools.parseString(goodMacroXml); MacroBuilder b = new MacroBuilder(); Macro m = b.makeMacro(d); int macroProbesNumber = m.getDf().getChildNodes().getLength(); Assert.assertEquals("macrodef", m.getName()); Assert.assertEquals("Macro$macrodef", m.toString()); Assert.assertEquals(1, macroProbesNumber); Assert.assertEquals(2, m.getDf().getChildNodes().item(0).getChildNodes().getLength()); }
@Test public void testMacroLoad() throws Exception { JrdsDocument d = Tools.parseString(goodMacroXml); MacroBuilder b = new MacroBuilder(); Macro m = b.makeMacro(d); int macroProbesNumber = m.getDf().getChildNodes().getLength(); Assert.assertEquals("macrodef", m.getName()); Assert.assertEquals("Macro$macrodef", m.toString()); Assert.assertEquals(1, macroProbesNumber); Assert.assertEquals(2, m.getDf().getChildNodes().item(0).getChildNodes().getLength()); }
@Test public void testMacroFill() throws Exception { JrdsDocument d = Tools.parseString(goodMacroXml); MacroBuilder b = new MacroBuilder(); Macro m = b.makeMacro(d); Map<String, Macro> macroMap = new HashMap<String, Macro>(); macroMap.put(m.getName(), m); JrdsDocument hostdoc = Tools.parseString(goodHostXml); hostdoc.setDocumentURI("-//jrds//DTD Graph Description//EN"); hostdoc.getRootElement().addElement("macro", "name=macrodef"); PropertiesManager pm = Tools.makePm(testFolder); HostBuilder hb = new HostBuilder(); hb.setPm(pm); hb.setMacros(macroMap); hb.setProbeFactory(new MokeProbeFactory()); hb.setTimers(Tools.getSimpleTimerMap()); HostInfo host = hb.makeHost(hostdoc); logger.debug("probes:" + host.getProbes()); Collection<String> probesName = new ArrayList<String>(); for(Probe<?, ?> p: host.getProbes()) { probesName.add(p.toString()); } Assert.assertTrue("MacroProbe1 not found", probesName.contains("myhost/MacroProbe1")); Assert.assertTrue("MacroProbe2 not found", probesName.contains("myhost/MacroProbe2")); }