Ejemplo n.º 1
0
  @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));
    }
  }