@Test
  public void testTcpSplunkInputCrud() {
    Service service = connect();
    InputCollection inputCollection = service.getInputs();
    String port = "9998"; // test port

    // CRUD TCP (cooked) input
    if (inputCollection.containsKey(port)) {
      inputCollection.remove(port);
      inputCollection.refresh();
    }
    assertFalse(assertRoot + "#29", inputCollection.containsKey(port));

    inputCollection.create(port, InputKind.TcpSplunk);
    assertTrue(assertRoot + "#30", inputCollection.containsKey(port));
    TcpSplunkInput tcpSplunkInput = (TcpSplunkInput) inputCollection.get(port);

    tcpSplunkInput.setConnectionHost("one.two.three");
    tcpSplunkInput.setHost("myhost");
    if (service.versionCompare("4.3") >= 0) {
      // Behavioral difference between 4.3 and earlier versions
      tcpSplunkInput.setRestrictToHost("four.five.com");
    }
    tcpSplunkInput.setSSL(false);
    tcpSplunkInput.update();

    assertEquals(assertRoot + "#31", "one.two.three", tcpSplunkInput.getConnectionHost());
    assertEquals(assertRoot + "#32", "myhost", tcpSplunkInput.getHost());
    assertFalse(tcpSplunkInput.getSSL());

    tcpSplunkInput.remove();
    inputCollection.refresh();
    assertFalse(assertRoot + "#33", inputCollection.containsKey(port));
  }