-
Notifications
You must be signed in to change notification settings - Fork 43
/
AllProbeCreationTest.java
92 lines (75 loc) · 2.84 KB
/
AllProbeCreationTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package jrds;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.net.URISyntaxException;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import javax.xml.parsers.ParserConfigurationException;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import jrds.configuration.ConfigObjectFactory;
import jrds.factories.ProbeFactory;
import jrds.starter.HostStarter;
public class AllProbeCreationTest {
@Rule
public TemporaryFolder testFolder = new TemporaryFolder();
@Rule
public Log4JRule logrule = new Log4JRule(this);
private final Logger logger = logrule.getTestlogger();
@BeforeClass
static public void configure() throws IOException {
Tools.configure();
}
@Before
public void loggers() {
logrule.setLevel(Level.TRACE, "jrds.Util");
}
@Test
public void makeProbe() throws ParserConfigurationException, IOException, URISyntaxException, InvocationTargetException {
PropertiesManager pm = Tools.makePm(testFolder);
File descpath = new File("desc");
if(descpath.exists())
pm.libspath.add(descpath.toURI());
Assert.assertTrue(pm.rrddir.isDirectory());
ConfigObjectFactory conf = new ConfigObjectFactory(pm);
Map<String, GraphDesc> graphDescMap = conf.setGraphDescMap();
Map<String, ProbeDesc<?>> probeDescMap = conf.setProbeDescMap();
ProbeFactory pf = new ProbeFactory(probeDescMap, graphDescMap);
Set<GraphNode> allgraphs = new HashSet<GraphNode>();
HostInfo host = new HostInfo("Empty");
host.setHostDir(pm.rrddir);
HostStarter hs = new HostStarter(host);
for(ProbeDesc<?> pd: probeDescMap.values()) {
logger.trace("Will create probedesc " + pd.getName());
Probe<?, ?> p = pf.makeProbe(pd.getName());
p.setHost(hs);
for(GenericBean bean: pd.getBeans()) {
try {
if("index".equals(bean.getName())) {
bean.set(p, "index");
}
} catch (IllegalArgumentException e) {
logger.error("bean read error for '" + bean.getName() + "': " + e.getMessage());
}
}
p.configureStarters(pm);
for(String graphName: p.getPd().getGraphs()) {
try {
GraphDesc gd = graphDescMap.get(graphName);
p.addGraph(gd);
GraphNode gn = new GraphNode(p, gd);
allgraphs.add(gn);
} catch (Exception e) {
}
}
}
}
}