public Map<String, HostInfo> setHostMap(Map<String, Timer> timers) { Map<String, JrdsDocument> nodemap = load.getRepository(ConfigType.HOSTS); HostBuilder ob = new HostBuilder(); ob.setClassLoader(cl); ob.setMacros(macrosmap); ob.setProbeFactory(pf); ob.setPm(pm); ob.setTimers(timers); ob.setListeners(listenerMap); ob.setGraphDescMap(graphDescMap); ob.setArchivesSetMap(archivessetmap); Map<String, HostInfo> hostsMap = getObjectMap(ob, nodemap); logger.debug(jrds.Util.delayedFormatString("Hosts configured: %s", hostsMap.keySet())); return hostsMap; }
HostBuilder getBuilder(Macro... macros) throws IOException { HostBuilder hb = new HostBuilder(); hb.setPm(Tools.makePm(testFolder)); hb.setTimers(Tools.getSimpleTimerMap()); Map<String, Macro> mmap = new HashMap<String, Macro>(macros.length); for(Macro m: macros) { mmap.put(m.getName(), m); } hb.setMacros(mmap); hb.setProbeFactory(new MokeProbeFactory()); return hb; }
@Test public void testAttributesParsing() throws Exception { PropertiesManager pm = Tools.makePm(testFolder); File descpath = new File("desc"); if(descpath.exists()) pm.libspath.add(descpath.toURI()); ConfigObjectFactory conf = new ConfigObjectFactory(pm); JrdsDocument pddoc = Tools.parseRessource("beans.xml"); conf.getNodeMap(ConfigType.PROBEDESC).put("name", pddoc); Map<String, GraphDesc> graphDescMap = conf.setGraphDescMap(); Map<String, ProbeDesc<? extends Object>> probeDescMap = conf.setProbeDescMap(); ProbeFactory pf = new ProbeFactory(probeDescMap, graphDescMap); HostBuilder hb = new HostBuilder(); hb.setPm(pm); hb.setClassLoader(this.getClass().getClassLoader()); hb.setMacros(new HashMap<String, Macro>(0)); hb.setProbeFactory(pf); Map<String, Timer> timerMap = Tools.getSimpleTimerMap(); timerMap.put("another", timerMap.get(Timer.DEFAULTNAME)); hb.setTimers(timerMap); JrdsDocument fullhost = Tools.parseRessource("attrhost.xml"); HostInfo hi = hb.build(fullhost); Probe<?, ?> p = hi.getProbes().iterator().next(); Assert.assertEquals("${attr.customattr1} failed", "defaultattr1", Util.parseTemplate("${attr.customattr1}", p)); Assert.assertEquals("${attr.customattr3} failed", "defaultattr2", Util.parseTemplate("${attr.customattr2}", p)); Assert.assertEquals("${attr.customattr3} failed", "defaultattr1", Util.parseTemplate("${attr.customattr3}", p)); Assert.assertEquals("${attr.customattr4} failed", "value4", Util.parseTemplate("${attr.customattr4}", p)); }
@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")); }
@Test public void testProbe2() throws Exception { JrdsDocument d = Tools.parseString(goodProbeXml2); PropertiesManager pm = Tools.makePm(testFolder); HostBuilder hb = new HostBuilder(); hb.setProbeFactory(new MokeProbeFactory()); hb.setPm(pm); hb.setTimers(Tools.getSimpleTimerMap()); HostInfo host = new HostInfo("testProbe2"); host.setHostDir(pm.rrddir); Probe<?, ?> p = hb.makeProbe(d.getRootElement(), host, null); Assert.assertNotNull(p); Assert.assertEquals(host.getName() + "/" + p.getName(), p.toString()); }
hb.setProbeFactory(new MokeProbeFactory() { @Override public Probe<?, ?> makeProbe(String type) {
@Test public void testDsreplace() throws Exception { JrdsDocument d = Tools.parseRessource("dsoverride.xml"); PropertiesManager pm = Tools.makePm(testFolder); HostBuilder hb = new HostBuilder(); ProbeFactory pf = new MokeProbeFactory(); hb.setProbeFactory(pf); hb.setPm(pm); hb.setTimers(Tools.getSimpleTimerMap()); HostInfo host = new HostInfo("testDsreplace"); host.setHostDir(pm.rrddir); Probe<?, ?> p = hb.makeProbe(d.getRootElement().getElementbyName("probe"), host, null); ProbeDesc<?> pd = p.getPd(); Assert.assertNotNull(pd); Assert.assertEquals(1, pd.getSize()); Assert.assertNotSame(pf.getProbeDesc(pd.getName()), pd.getSize()); }