@Test public void testWindowsPerfmonInputCrud() { Service service = connect(); InputCollection inputCollection = service.getInputs(); ServiceInfo info = service.getInfo(); if (info.getOsName().equals("Windows")) { String name = "sdk-input-wp"; Args args = new Args(); if (inputCollection.containsKey(name)) { inputCollection.remove(name); inputCollection.refresh(); } assertFalse(assertRoot + "#57", inputCollection.containsKey(name)); // CRUD Windows Perfmon Input args.put("interval", 600); args.put("object", "Server"); inputCollection.create(name, InputKind.WindowsPerfmon, args); assertTrue(assertRoot + "#58", inputCollection.containsKey(name)); WindowsPerfmonInput windowsPerfmonInput = (WindowsPerfmonInput) inputCollection.get(name); windowsPerfmonInput.setIndex("main"); windowsPerfmonInput.setCounters("% Privileged Time"); windowsPerfmonInput.setInstances("wininit"); windowsPerfmonInput.setObject("Process"); windowsPerfmonInput.setInterval(1200); windowsPerfmonInput.update(); assertEquals(assertRoot + "#59", 1, windowsPerfmonInput.getCounters().length); assertTrue( assertRoot + "#60", contains(windowsPerfmonInput.getCounters(), "% Privileged Time")); assertEquals(windowsPerfmonInput.getIndex(), "main"); assertTrue(assertRoot + "#61", contains(windowsPerfmonInput.getInstances(), "wininit")); assertEquals(assertRoot + "#62", 1200, windowsPerfmonInput.getInterval()); assertEquals(assertRoot + "#63", "Process", windowsPerfmonInput.getObject()); // set multi-series values and update. windowsPerfmonInput.setCounters(new String[] {"% Privileged Time", "% User Time"}); windowsPerfmonInput.setInstances(new String[] {"smss", "csrss"}); windowsPerfmonInput.update(); assertEquals(assertRoot + "#64", 2, windowsPerfmonInput.getCounters().length); assertTrue( assertRoot + "#65", contains(windowsPerfmonInput.getCounters(), "% Privileged Time")); assertTrue(assertRoot + "#66", contains(windowsPerfmonInput.getCounters(), "% User Time")); assertEquals(assertRoot + "#67", 2, windowsPerfmonInput.getInstances().length); assertTrue(assertRoot + "#68", contains(windowsPerfmonInput.getInstances(), "smss")); assertTrue(assertRoot + "#69", contains(windowsPerfmonInput.getInstances(), "csrss")); windowsPerfmonInput.remove(); inputCollection.refresh(); assertFalse(assertRoot + "#70", inputCollection.containsKey(name)); } }
@Test public void testWindowsRegistryInputCrud() { Service service = connect(); InputCollection inputCollection = service.getInputs(); ServiceInfo info = service.getInfo(); if (info.getOsName().equals("Windows")) { String name = "sdk-input-wr"; Args args = new Args(); if (service.versionCompare("4.3") < 0) return; if (inputCollection.containsKey(name)) { inputCollection.remove(name); inputCollection.refresh(); } assertFalse(assertRoot + "#71", inputCollection.containsKey(name)); // CRUD Windows Registry Input args.put("disabled", true); args.put("baseline", false); args.put("hive", "HKEY_USERS"); args.put("proc", "*"); args.put("type", "*"); inputCollection.create(name, InputKind.WindowsRegistry, args); assertTrue(assertRoot + "#72", inputCollection.containsKey(name)); WindowsRegistryInput windowsRegistryInput = (WindowsRegistryInput) inputCollection.get(name); windowsRegistryInput.setIndex("main"); windowsRegistryInput.setMonitorSubnodes(true); windowsRegistryInput.update(); assertFalse(assertRoot + "#73", windowsRegistryInput.getBaseline()); assertEquals(assertRoot + "#74", "main", windowsRegistryInput.getIndex()); // adjust a few of the arguments windowsRegistryInput.setType("create,delete"); windowsRegistryInput.setBaseline(false); windowsRegistryInput.update(); assertEquals(assertRoot + "#75", "*", windowsRegistryInput.getProc()); assertTrue(assertRoot + "#76", windowsRegistryInput.getType().contains("create")); assertTrue(assertRoot + "#77", windowsRegistryInput.getType().contains("delete")); assertFalse(assertRoot + "#78", windowsRegistryInput.getBaseline()); windowsRegistryInput.remove(); inputCollection.refresh(); assertFalse(assertRoot + "#79", inputCollection.containsKey(name)); } }
public void installApplicationFromTestData(String applicationName) { String collectionName = "sdk-app-collection"; if (!service.getApplications().containsKey("sdk-app-collection")) { throw new TestDataNotInstalledException(); } String splunkHome = service.getSettings().getSplunkHome(); // This is the filename separator sequence for splunkd, not // the Splunk SDK. Therefore we can't just use File.separator here. String separator; if (splunkHome.contains("/") && splunkHome.contains("\\")) { // Windows - allows mixed paths separator = "\\"; } else if (splunkHome.contains("/")) { // Unix or Mac OS X separator = "/"; } else if (splunkHome.contains("\\")) { // Windows separator = "\\"; } else { throw new RuntimeException( "Couldn't determine what the path separator was " + "for splunkd."); } String[] pathComponents = { splunkHome, "etc", "apps", collectionName, "build", applicationName + ".tar" }; String appPath = Util.join(separator, pathComponents); Args args = new Args(); args.put("name", appPath); args.put("update", "1"); service.post("apps/appinstall", args); installedApps.add(applicationName); }
@Test public void testScriptInputCrud() { Service service = connect(); InputCollection inputCollection = service.getInputs(); ServiceInfo info = service.getInfo(); // CRUD Script input String filename; if (info.getOsName().equals("Windows")) filename = "echo.bat"; else filename = "echo.sh"; Args args = new Args(); args.clear(); args.put("interval", "60"); if (inputCollection.get(filename) != null) { inputCollection.remove(filename); } inputCollection.create(filename, InputKind.Script, args); assertTrue(assertRoot + "#11", inputCollection.containsKey(filename)); ScriptInput scriptInput = (ScriptInput) inputCollection.get(filename); scriptInput.setHost("three.four.com"); scriptInput.setIndex("main"); scriptInput.setInterval("120"); if (service.versionCompare("4.2.4") >= 0) { scriptInput.setPassAuth("admin"); } scriptInput.setRenameSource("renamedSource"); scriptInput.setSource("source"); scriptInput.setSourcetype("script"); scriptInput.update(); assertEquals(assertRoot + "#12", "three.four.com", scriptInput.getHost()); assertEquals(assertRoot + "#13", "main", scriptInput.getIndex()); assertEquals(assertRoot + "#14", "120", scriptInput.getInterval()); if (service.versionCompare("4.2.4") >= 0) { assertEquals(assertRoot + "#15", "admin", scriptInput.getPassAuth()); } assertEquals(assertRoot + "#16", "renamedSource", scriptInput.getSource()); assertEquals(assertRoot + "#17", "script", scriptInput.getSourceType()); scriptInput.remove(); inputCollection.refresh(); assertFalse(assertRoot + "#18", inputCollection.containsKey(filename)); }
@Test public void testWindowsEventLogInputCrud() { Service service = connect(); InputCollection inputCollection = service.getInputs(); ServiceInfo info = service.getInfo(); if (info.getOsName().equals("Windows")) { String name = "sdk-input-wel"; Args args = new Args(); if (inputCollection.containsKey(name)) { inputCollection.remove(name); inputCollection.refresh(); } assertFalse(assertRoot + "#52", inputCollection.containsKey(name)); // CRUD Windows Event Log Input args.put("lookup_host", "127.0.0.1"); inputCollection.create(name, InputKind.WindowsEventLog, args); assertTrue(assertRoot + "#53", inputCollection.containsKey(name)); WindowsEventLogInput windowsEventLogInput = (WindowsEventLogInput) inputCollection.get(name); windowsEventLogInput.setIndex("main"); windowsEventLogInput.setLookupHost("127.0.0.1"); windowsEventLogInput.setHosts("one.two.three,four.five.six"); windowsEventLogInput.update(); assertEquals(assertRoot + "#54", "127.0.0.1", windowsEventLogInput.getLookupHost()); assertEquals( assertRoot + "#55", "one.two.three,four.five.six", windowsEventLogInput.getHosts()); assertEquals(assertRoot + "#55", "main", windowsEventLogInput.getIndex()); windowsEventLogInput.remove(); inputCollection.refresh(); assertFalse(assertRoot + "#56", inputCollection.containsKey(name)); } }
@Test public void testWmiInputCrud() { Service service = connect(); InputCollection inputCollection = service.getInputs(); ServiceInfo info = service.getInfo(); if (info.getOsName().equals("Windows")) { String name = "sdk-input-wmi"; Args args = new Args(); if (inputCollection.containsKey(name)) { inputCollection.remove(name); inputCollection.refresh(); } assertFalse(assertRoot + "#80", inputCollection.containsKey(name)); // CRUD Windows Wmi Input args.put("classes", "PerfOS_Processor"); args.put("interval", 600); args.put("lookup_host", "127.0.0.1"); inputCollection.create(name, InputKind.WindowsWmi, args); assertTrue(assertRoot + "#81", inputCollection.containsKey(name)); WindowsWmiInput windowsWmiInput = (WindowsWmiInput) inputCollection.get(name); assertEquals( assertRoot + "#82", "Win32_PerfFormattedData_PerfOS_Processor", windowsWmiInput.getClasses()); assertEquals(assertRoot + "#83", 600, windowsWmiInput.getInterval()); assertEquals(assertRoot + "#84", "127.0.0.1", windowsWmiInput.getLookupHost()); windowsWmiInput.setClasses("PerfDisk_LogicalDisk"); windowsWmiInput.setFields("Caption"); windowsWmiInput.setIndex("main"); windowsWmiInput.setInterval(1200); windowsWmiInput.setInstances("_Total"); windowsWmiInput.setServers("host1.splunk.com,host2.splunk.com"); windowsWmiInput.update(); assertEquals( assertRoot + "#85", "Win32_PerfFormattedData_PerfDisk_LogicalDisk", windowsWmiInput.getClasses()); assertEquals(assertRoot + "#86", 1, windowsWmiInput.getFields().length); assertTrue(assertRoot + "#87", contains(windowsWmiInput.getFields(), "Caption")); assertEquals(assertRoot + "#88", "main", windowsWmiInput.getIndex()); assertEquals(assertRoot + "#89", 1200, windowsWmiInput.getInterval()); assertEquals(assertRoot + "#90", 1, windowsWmiInput.getInstances().length); assertTrue(assertRoot + "#91", contains(windowsWmiInput.getInstances(), "_Total")); assertEquals( assertRoot + "#92", "host1.splunk.com,host2.splunk.com", windowsWmiInput.getServers()); // set list fields windowsWmiInput.setFields(new String[] {"Caption", "Description"}); windowsWmiInput.update(); assertEquals(assertRoot + "#93", 2, windowsWmiInput.getFields().length); assertTrue(assertRoot + "#94", contains(windowsWmiInput.getFields(), "Caption")); assertTrue(assertRoot + "#95", contains(windowsWmiInput.getFields(), "Description")); windowsWmiInput.remove(); inputCollection.refresh(); assertFalse(assertRoot + "#96", inputCollection.containsKey(name)); } }