Esempio n. 1
0
        public async Task EditSavedRepository_ReplaceOldValue()
        {
            var exampleRepo = "firstExampleRepoUrl";
            var exampleJob  = "newExampleJob";

            var parameter = "repository";
            var value     = $"{exampleRepo}={exampleJob}";
            var args      = new string[] { Command, $"{parameter}:{value}" };

            var configuration = GetDefaultConfiguration();
            var userConsole   = new Mock <IUserConsole>();

            userConsole.Setup(c => c.ReadInput(repoName, false)).Returns(exampleRepo);
            userConsole.Setup(c => c.ReadInput(jenkinsJob, false)).Returns(exampleJob);

            var command = new SetConfiguration(GetConfigurationSerializerMock(configuration).Object, GetEncryptorMock().Object, userConsole.Object);
            var app     = new CommandLineApplication();

            app.Command(command.Name, command.Command);

            var code = await app.ExecuteAsync(args);

            Assert.That(code, Is.EqualTo(JenoCodes.Ok));
            Assert.That(configuration.Repository, Contains.Key(exampleRepo));
            Assert.That(configuration.Repository, Contains.Value(exampleJob));
            Assert.That(configuration.Repository[exampleRepo], Is.EqualTo(exampleJob));
            userConsole.Verify(c => c.ReadInput(repoName, false), Times.Never);
            userConsole.Verify(c => c.ReadInput(jenkinsJob, false), Times.Never);
        }
Esempio n. 2
0
        public async Task AddNewRepositoryWithoutValue_GetValueFromUserAndSaveRepositoryInConfiguration()
        {
            var exampleRepo = "thirdExampleRepoUrl";
            var exampleJob  = "thirdExampleJob";

            var parameter = "repository";
            var args      = new string[] { Command, parameter };

            var configuration = GetDefaultConfiguration();
            var userConsole   = new Mock <IUserConsole>();

            userConsole.Setup(c => c.ReadInput(repoName, false)).Returns(exampleRepo);
            userConsole.Setup(c => c.ReadInput(jenkinsJob, false)).Returns(exampleJob);

            var command = new SetConfiguration(GetConfigurationSerializerMock(configuration).Object, GetEncryptorMock().Object, userConsole.Object);
            var app     = new CommandLineApplication();

            app.Command(command.Name, command.Command);

            var code = await app.ExecuteAsync(args);

            Assert.That(code, Is.EqualTo(JenoCodes.Ok));
            Assert.That(configuration.Repository, Contains.Key(exampleRepo));
            Assert.That(configuration.Repository, Contains.Value(exampleJob));
            Assert.That(configuration.Repository[exampleRepo], Is.EqualTo(exampleJob));
            userConsole.Verify(c => c.ReadInput(repoName, false), Times.Once);
            userConsole.Verify(c => c.ReadInput(jenkinsJob, false), Times.Once);
        }
Esempio n. 3
0
        public void SetConfigurationHandler(SetConfiguration setConfiguration)
        {
            this.CloseSerialPort();

            this.state             = (SerialCOMServiceState)setConfiguration.Body;
            this.state.IsConnected = false;

            if (this.state.AutoConnect)
            {
                this.CreateAndOpenSerialPort();
            }

            this.SaveState(this.state);
            this.SendNotification(this.submgrPort, setConfiguration);
            setConfiguration.ResponsePort.Post(DefaultReplaceResponseType.Instance);
        }
Esempio n. 4
0
        public void TryToSetUndefinedParameter_InformUserAboutUnsupportedParameter()
        {
            var parameter = "domain";
            var value     = "s3Cr3t";
            var args      = new string[] { Command, $"{parameter}:{value}" };

            var command = new SetConfiguration(GetConfigurationSerializerMock(GetDefaultConfiguration()).Object, GetEncryptorMock().Object, GetUserConsoleMock(parameter.ToLower(), value).Object);

            var app = new CommandLineApplication();

            app.Command(command.Name, command.Command);

            Assert.That(async() => await app.ExecuteAsync(args), Throws.TypeOf <JenoException>()
                        .With.Property(nameof(JenoException.ExitCode)).EqualTo(JenoCodes.DefaultError)
                        .And.Message.StartsWith("Unsupported parameter")
                        .And.Message.Contains(parameter));
        }
Esempio n. 5
0
        public async Task WriteUserNameSettingInLowerCase_SaveItInConfiguration()
        {
            var parameter = "username";
            var value     = "jfKennedy";
            var args      = new string[] { Command, $"{parameter}:{value}" };

            var configuration = GetDefaultConfiguration();
            var userConsole   = GetUserConsoleMock(parameter.ToLower(), value);

            var command = new SetConfiguration(GetConfigurationSerializerMock(configuration).Object, GetEncryptorMock().Object, userConsole.Object);
            var app     = new CommandLineApplication();

            app.Command(command.Name, command.Command);

            var code = await app.ExecuteAsync(args);

            Assert.That(code, Is.EqualTo(JenoCodes.Ok));
            Assert.That(configuration.UserName, Is.EqualTo(value));
            userConsole.Verify(c => c.ReadInput(parameter.ToLower(), false), Times.Never);
        }
Esempio n. 6
0
        public async Task SetNewJenkinsUrlWithoutValue_GetValueFromUserAndSaveItInConfiguration()
        {
            var parameter = "jenkinsUrl";
            var value     = "http://new_jenkins_host:8080";
            var args      = new string[] { Command, parameter };

            var configuration = GetDefaultConfiguration();
            var userConsole   = GetUserConsoleMock(parameter.ToLower(), value);

            var command = new SetConfiguration(GetConfigurationSerializerMock(configuration).Object, GetEncryptorMock().Object, userConsole.Object);
            var app     = new CommandLineApplication();

            app.Command(command.Name, command.Command);

            var code = await app.ExecuteAsync(args);

            Assert.That(code, Is.EqualTo(JenoCodes.Ok));
            Assert.That(configuration.JenkinsUrl, Is.EqualTo(value));
            userConsole.Verify(c => c.ReadInput(parameter.ToLower(), false), Times.Once);
        }
Esempio n. 7
0
        public void TryDeteleDefaultJob_RefuseToDelete()
        {
            var deletedRepository = "default";
            var deleteOption      = "-d";
            var args = new string[] { Command, $"repository:{deletedRepository}", deleteOption };

            var userConsole = new Mock <IUserConsole>();

            userConsole.Setup(c => c.ReadInput(repoName, false)).Returns(string.Empty);
            userConsole.Setup(c => c.ReadInput(jenkinsJob, false)).Returns(string.Empty);

            var command = new SetConfiguration(GetConfigurationSerializerMock(GetDefaultConfiguration()).Object, GetEncryptorMock().Object, userConsole.Object);

            var app = new CommandLineApplication();

            app.Command(command.Name, command.Command);

            Assert.That(async() => await app.ExecuteAsync(args), Throws.TypeOf <JenoException>()
                        .With.Property(nameof(JenoException.ExitCode)).EqualTo(JenoCodes.DefaultError)
                        .And.Message.Contains("Cannot remove default job"));
        }
Esempio n. 8
0
        public async Task RemovePassword_PasswordFieldInConfigurationIsEmpty()
        {
            var parameter = "password";
            var args      = new string[] { Command, parameter, "-d" };

            var configuration = GetDefaultConfiguration();
            var encryptor     = GetEncryptorMock();
            var userConsole   = GetUserConsoleMock(parameter.ToLower(), It.IsAny <string>(), true);

            var command = new SetConfiguration(GetConfigurationSerializerMock(configuration).Object, encryptor.Object, userConsole.Object);
            var app     = new CommandLineApplication();

            app.Command(command.Name, command.Command);

            var code = await app.ExecuteAsync(args);

            Assert.That(code, Is.EqualTo(JenoCodes.Ok));
            Assert.That(configuration.Password, Is.Empty);
            encryptor.Verify(e => e.Encrypt(It.IsAny <string>()), Times.Never);
            userConsole.Verify(c => c.ReadInput(parameter.ToLower(), true), Times.Never);
        }
Esempio n. 9
0
        public async Task SetMultipleParametersWithoutValues_GetValuesFromUserAndSaveThemInConfiguration()
        {
            var jenkinsUrlParameterName  = "jenkinsUrl";
            var jenkinsUrlParameterValue = "http://new_jenkins_host:8080";
            var userNameParameterName    = "userName";
            var userNameParameterValue   = "jfKennedy";
            var tokenParameterName       = "token";
            var tokenParameterValue      = "n3wt0k3n";

            var args = new string[]
            {
                Command,
                jenkinsUrlParameterName,
                userNameParameterName,
                tokenParameterName
            };

            var configuration = GetDefaultConfiguration();
            var userConsole   = new Mock <IUserConsole>();

            userConsole.Setup(c => c.ReadInput(jenkinsUrlParameterName.ToLower(), false)).Returns(jenkinsUrlParameterValue);
            userConsole.Setup(c => c.ReadInput(userNameParameterName.ToLower(), false)).Returns(userNameParameterValue);
            userConsole.Setup(c => c.ReadInput(tokenParameterName.ToLower(), false)).Returns(tokenParameterValue);

            var command = new SetConfiguration(GetConfigurationSerializerMock(configuration).Object, GetEncryptorMock().Object, userConsole.Object);
            var app     = new CommandLineApplication();

            app.Command(command.Name, command.Command);

            var code = await app.ExecuteAsync(args);

            Assert.That(code, Is.EqualTo(JenoCodes.Ok));
            Assert.That(configuration.JenkinsUrl, Is.EqualTo(jenkinsUrlParameterValue));
            Assert.That(configuration.UserName, Is.EqualTo(userNameParameterValue));
            Assert.That(configuration.Token, Is.EqualTo(tokenParameterValue));
            userConsole.Verify(c => c.ReadInput(jenkinsUrlParameterName.ToLower(), false), Times.Once);
            userConsole.Verify(c => c.ReadInput(userNameParameterName.ToLower(), false), Times.Once);
            userConsole.Verify(c => c.ReadInput(tokenParameterName.ToLower(), false), Times.Once);
        }
Esempio n. 10
0
        public async Task UseDeleteParameterAlias_RemoveSelectedRepositoryFromConfiguration()
        {
            var deleteOption      = "-d";
            var deletedRepository = "firstExampleRepoUrl";
            var args = new string[] { Command, $"repository:{deletedRepository}", deleteOption };

            var configuration = GetDefaultConfiguration();
            var userConsole   = new Mock <IUserConsole>();

            userConsole.Setup(c => c.ReadInput(repoName, false)).Returns(string.Empty);
            userConsole.Setup(c => c.ReadInput(jenkinsJob, false)).Returns(string.Empty);

            var command = new SetConfiguration(GetConfigurationSerializerMock(configuration).Object, GetEncryptorMock().Object, userConsole.Object);
            var app     = new CommandLineApplication();

            app.Command(command.Name, command.Command);

            var code = await app.ExecuteAsync(args);

            Assert.That(code, Is.EqualTo(JenoCodes.Ok));
            Assert.That(configuration.Repository, Does.Not.ContainKey(deletedRepository));
        }
Esempio n. 11
0
        public async Task SetPasswordWithoutValue_GetValueFromUserAndSaveInConfiguration()
        {
            var parameter = "password";
            var value     = "321Ytrewq";
            var args      = new string[] { Command, parameter };

            var configuration = GetDefaultConfiguration();
            var encryptor     = GetEncryptorMock(value);
            var userConsole   = GetUserConsoleMock(parameter.ToLower(), value, true);

            var command = new SetConfiguration(GetConfigurationSerializerMock(configuration).Object, encryptor.Object, userConsole.Object);
            var app     = new CommandLineApplication();

            app.Command(command.Name, command.Command);

            var code = await app.ExecuteAsync(args);

            Assert.That(code, Is.EqualTo(JenoCodes.Ok));
            Assert.That(configuration.Password, Is.EqualTo(value));
            encryptor.Verify(e => e.Encrypt(value), Times.Once);
            userConsole.Verify(c => c.ReadInput(parameter.ToLower(), true), Times.Once);
        }
Esempio n. 12
0
 public void SetConfigurationTest()
 {
     SetConfiguration request = new SetConfiguration();
     var result = JsonConvert.DeserializeObject <KodiJSON.JSONRPC.Response.SetConfigurationResponse>(ExecuteTest.GetResponse(request));
 }
Esempio n. 13
0
        public void SendReceiveLowLevelApi()
        {
            UInt32 deviceID;
            Int32  status = NativeOpenPort20.PassThruOpen(null, out deviceID);

            TraceStatus("PassThruOpen", status);
            Trace.WriteLine("Device ID: " + deviceID);

            UInt32 channelID;

            status = NativeOpenPort20.PassThruConnect(
                deviceID,
                (UInt32)PassThruProtocol.Iso9141,
                (UInt32)PassThruConnectFlags.Iso9141NoChecksum,
                (UInt32)PassThruBaudRate.Rate4800,
                out channelID);
            TraceStatus("PassThruConnect", status);
            Trace.WriteLine("Channel ID: " + channelID);

            SetConfiguration P1Max      = new SetConfiguration(SetConfigurationParameter.P1Max, 2);
            SetConfiguration P3Min      = new SetConfiguration(SetConfigurationParameter.P3Min, 0);
            SetConfiguration P4Min      = new SetConfiguration(SetConfigurationParameter.P4Min, 0);
            SetConfiguration Terminator = new SetConfiguration(SetConfigurationParameter.FinalParam, 0);

            // TODO: add loopback=1
            SetConfiguration[] setConfigurationArray = new SetConfiguration[] { P1Max, P3Min, P4Min };
            using (SetConfigurationList setConfigurationList = new SetConfigurationList(setConfigurationArray))
                //IntPtr buffer = Marshal.AllocCoTaskMem(Marshal.SizeOf(SetConfiguration) * setConfigurationArray.Length);
                //IntPtr buffer = Marshal.AllocCoTaskMem(Marshal.SizeOf(setConfigurationList));
                //{
                status = NativeOpenPort20.PassThruIoctl(
                    channelID,
                    PassThruIOControl.SetConfig,
                    ref setConfigurationArray,//setConfigurationList.Pointer,
                    IntPtr.Zero);
            //}
            //Marshal.FreeCoTaskMem(buffer);

            TraceStatus("PassThruIoCtl SetConfig", status);

            UInt32      filterID;
            PassThruMsg maskMsg = new PassThruMsg(PassThruProtocol.Iso9141);

            //maskMsg.ExtraDataIndex = 1;
            maskMsg.DataSize = 1;

            status = NativeOpenPort20.PassThruStartMsgFilter(
                channelID,
                (UInt32)PassThruFilterType.Pass,
                maskMsg,
                maskMsg,
                null,
                out filterID);
            TraceStatus("PassThruStartMsgFilter", status);
            Trace.WriteLine("Filter ID: " + filterID);

            byte[]      messageBytes   = new byte[] { 0x80, 0x10, 0xF0, 0x01, 0xBF, 0x40 };
            PassThruMsg initRequestMsg = new PassThruMsg(PassThruProtocol.Iso9141);

            initRequestMsg.ProtocolID = PassThruProtocol.Iso9141;
            initRequestMsg.DataSize   = (UInt32)messageBytes.Length;
            for (int i = 0; i < messageBytes.Length; i++)
            {
                initRequestMsg.Data[i] = messageBytes[i];
            }

            PassThruMsg[] initRequestMsgs = new PassThruMsg[] { initRequestMsg };
            UInt32        numMsgs         = 1;

            status = NativeOpenPort20.PassThruWriteMsgs(
                channelID,
                initRequestMsgs,
                ref numMsgs,
                500);
            TraceStatus("PassThruWriteMsgs", status);

            PassThruMsg received = new PassThruMsg(PassThruProtocol.Iso9141);

            PassThruMsg[] receivedMessages = new PassThruMsg[] { received };
            numMsgs = 1;
            status  = NativeOpenPort20.PassThruReadMsgs(
                channelID,
                receivedMessages,
                ref numMsgs,
                500);
            TraceStatus("PassThruReadMsgs", status);

            if (status == (UInt32)PassThruStatus.NoError)
            {
                for (int i = 0; i < received.DataSize; i++)
                {
                    Trace.Write(received.Data[i].ToString());
                    Trace.Write(' ');
                }
            }

            status = NativeOpenPort20.PassThruDisconnect(channelID);
            TraceStatus("PassThruDisconnect", status);

            status = NativeOpenPort20.PassThruClose(deviceID);
            TraceStatus("PassThruClose", status);
        }