public void AllCommandsFound() { var types = LoadTypes(); var io = InputControl.Default(); Assert.AreEqual(6, types.Count()); foreach (var type in types) { var attr = type.GetCustomAttribute <CommandLineCommandAttribute>(); Assert.IsNotNull(attr); Assert.IsNotNull(attr.Command); Assert.IsNotNull(attr.Description); var commandLine = CommandLineParameters.Parse(attr.Command); Assert.IsNotNull(commandLine); io.Writer = new StringWriter(); var command = commandLine.CreateCommandExecutor(io); Assert.IsNotNull(command); command.DisplayHelp(); Assert.IsTrue(!string.IsNullOrWhiteSpace(io.Writer.ToString())); Assert.IsTrue(io.Writer.ToString().Contains(attr.Command)); } }
public void ParserGeneratesCommand() { var parameters = CommandLineParameters.Parse(KInitParameters); var command = parameters.CreateCommandExecutor(InputControl.Default()); Assert.IsNotNull(command); Assert.IsInstanceOfType(command, typeof(KerberosInitCommand)); }
public void CommandProcessesParameters() { var parameters = CommandLineParameters.Parse(KInitParameters); var command = (KerberosInitCommand)parameters.CreateCommandExecutor(InputControl.Default()); Assert.AreEqual("foo\\bar\\baz.cache", command.Cache); Assert.AreEqual("foo.key", command.Keytab); Assert.IsTrue(command.Verbose); Assert.IsTrue(command.Forward.Value); Assert.IsTrue(command.Canonicalize.Value); Assert.IsNull(command.Proxy); }
public void CommandDisplaysHelp() { var parameters = CommandLineParameters.Parse(KInitParameters); var io = InputControl.Default(); var textWriter = new StringWriter(); io.Writer = textWriter; var command = parameters.CreateCommandExecutor(io); command.DisplayHelp(); textWriter.Flush(); var str = textWriter.ToString(); Assert.IsTrue(str.Trim().StartsWith("Usage: kinit principal", System.StringComparison.OrdinalIgnoreCase)); }
public async Task CommandLineHelpCommand() { var parameters = CommandLineParameters.Parse("help"); var io = InputControl.Default(); var textWriter = new StringWriter(); io.Writer = textWriter; var command = parameters.CreateCommandExecutor(io); await command.Execute(); textWriter.Flush(); var str = textWriter.ToString(); foreach (var result in new[] { "help", "kconfig", "kdestroy", "kinit", "klist" }) { Assert.IsTrue(str.Contains(result)); } }