import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
+import java.util.ArrayList;
import net.sourceforge.argparse4j.ArgumentParsers;
import net.sourceforge.argparse4j.annotation.Arg;
import net.sourceforge.argparse4j.inf.ArgumentParser;
@Arg(dest = "throttle")
public int throttle;
+ @Arg(dest = "auth")
+ public ArrayList<String> auth;
+
+ @Arg(dest = "timeout")
+ public long timeout;
+
static ArgumentParser getParser() {
final ArgumentParser parser = ArgumentParsers.newArgumentParser("netconf stress client");
"with mutltiple threads this gets divided among all threads")
.dest("throttle");
+ parser.addArgument("--auth")
+ .nargs(2)
+ .help("Username and password for HTTP basic authentication in order username password.")
+ .dest("auth");
+
+ parser.addArgument("--timeout")
+ .type(Long.class)
+ .setDefault(5)
+ .help("Maximum time in minutes to wait for finishing all requests.")
+ .dest("timeout");
+
return parser;
}
void validate() {
Preconditions.checkArgument(port > 0, "Port =< 0");
Preconditions.checkArgument(editCount > 0, "Edit count =< 0");
+ Preconditions.checkArgument(timeout > 0, "Timeout =< 0");
Preconditions.checkArgument(editContent.exists(), "Edit content file missing");
Preconditions.checkArgument(editContent.isDirectory() == false, "Edit content file is a dir");
Preconditions.checkArgument(editContent.canRead(), "Edit content file is unreadable");
+
+ Preconditions.checkArgument(destination.startsWith("/"), "Destination should start with a '/'");
+
// TODO validate
}