Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        public void ParserGeneratesCommand()
        {
            var parameters = CommandLineParameters.Parse(KInitParameters);

            var command = parameters.CreateCommandExecutor(InputControl.Default());

            Assert.IsNotNull(command);
            Assert.IsInstanceOfType(command, typeof(KerberosInitCommand));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
            }
        }