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); }
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); }
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); }
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)); }
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); }
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); }
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")); }
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); }
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); }
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)); }
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); }
public void SetConfigurationTest() { SetConfiguration request = new SetConfiguration(); var result = JsonConvert.DeserializeObject <KodiJSON.JSONRPC.Response.SetConfigurationResponse>(ExecuteTest.GetResponse(request)); }
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); }