-
Notifications
You must be signed in to change notification settings - Fork 43
/
TestCheckValues.java
82 lines (66 loc) · 3.1 KB
/
TestCheckValues.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
package jrds.webapp;
import java.io.IOException;
import java.net.URL;
import java.util.Properties;
import jrds.Tools;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.eclipse.jetty.http.HttpTester.Response;
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;
public class TestCheckValues {
static final private Logger logger = Logger.getLogger(TestCheckValues.class);
static org.eclipse.jetty.servlet.ServletTester tester = null;
@Rule
public TemporaryFolder testFolder = new TemporaryFolder();
@BeforeClass
static public void configure() throws Exception {
System.setProperty("org.eclipse.jetty.util.log.class", "org.eclipse.jetty.util.log.Slf4jLog");
System.setProperty("org.eclipse.jetty.LEVEL", "DEBUG");
Tools.configure();
Tools.setLevel(logger, Level.TRACE, TestCheckValues.class.getName(), "jrds.webapp.CheckValues");
}
@Before
public void launchServer() throws Exception {
URL configDirURL = Tools.class.getResource("/ressources/configfull/");
Properties prop = new Properties();
prop.setProperty("strictparsing", "true");
prop.setProperty("readonly", "true");
prop.put("configdir", configDirURL.getFile());
prop.put("log.trace", "jrds.webapp");
tester = ToolsWebApp.getMonoServlet(testFolder, prop, CheckValues.class, "/values/*");
tester.start();
}
@Test
public void testFail() throws IOException, Exception {
String url = "http://tester%s/values/localhost/truc/bad";
Response response = ToolsWebApp.doRequestGet(tester, url, 400);
Assert.assertEquals("Invalid error message", "No matching probe", response.getReason());
}
@Test
public void testSucessProbe() throws IOException, Exception {
String url = "http://tester%s/values/localhost/ifx-lo0";
Response response = ToolsWebApp.doRequestGet(tester, url, 200);
String content = response.getContent();
Assert.assertTrue("last update not found", content.contains("Last update:"));
Assert.assertTrue("last update age not found", content.contains("Last update age (ms):"));
Assert.assertTrue("ifInErrors not found", content.contains("ifInErrors: NaN"));
Assert.assertTrue("ifInUnknownProtos not found", content.contains("ifInUnknownProtos: NaN"));
}
@Test
public void testSucessOneDS() throws IOException, Exception {
String url = "http://tester%s/values/localhost/ifx-lo0/ifInMulticastPkts";
Response response = ToolsWebApp.doRequestGet(tester, url, 200);
Assert.assertEquals("DS request invalid", "NaN", response.getContent().trim());
}
@Test
public void testSucessOneDSWithCf() throws IOException, Exception {
String url = "http://tester%s/values/localhost/ifx-lo0/ifInMulticastPkts/1000/max";
Response response = ToolsWebApp.doRequestGet(tester, url, 200);
Assert.assertEquals("DS request invalid", "NaN", response.getContent().trim());
}
}