public void ShouldPopulateCorrectlyFromXml() { const string xml = @"<sourceControl type=""external""> <args>arg1 ""arg2 has blanks"" arg3</args> <autoGetSource>true</autoGetSource> <executable>banana.bat</executable> <labelOnSuccess>true</labelOnSuccess> <environment> <variable name=""name1"" value=""value1""/> <variable><name>name2</name></variable> <variable name=""name3""><value>value3</value></variable> </environment> </sourceControl>"; ExternalSourceControl externalSC = new ExternalSourceControl(); NetReflector.Read(xml, externalSC); Assert.AreEqual(@"arg1 ""arg2 has blanks"" arg3", externalSC.ArgString); Assert.AreEqual(true, externalSC.AutoGetSource); Assert.AreEqual(3, externalSC.EnvironmentVariables.Length); Assert.AreEqual("name1", externalSC.EnvironmentVariables[0].name); Assert.AreEqual("value1", externalSC.EnvironmentVariables[0].value); Assert.AreEqual("name2", externalSC.EnvironmentVariables[1].name); Assert.AreEqual("", externalSC.EnvironmentVariables[1].value); Assert.AreEqual("name3", externalSC.EnvironmentVariables[2].name); Assert.AreEqual("value3", externalSC.EnvironmentVariables[2].value); Assert.AreEqual("banana.bat", externalSC.Executable); Assert.AreEqual(true, externalSC.LabelOnSuccess); }
public void ShouldGetSourceIfAutoGetSourceTrue() { DynamicMock executor = new DynamicMock(typeof(ProcessExecutor)); ExternalSourceControl externalSC = new ExternalSourceControl((ProcessExecutor)executor.MockInstance); externalSC.AutoGetSource = true; externalSC.Executable = "banana.bat"; externalSC.ArgString = @"arg1 ""arg2 is longer"" arg3"; IntegrationResult intResult = new IntegrationResult(); intResult.StartTime = new DateTime(1959, 9, 11, 7, 53, 0); intResult.WorkingDirectory = @"C:\SomeDir\Or\Other"; intResult.ProjectName = "MyProject"; ProcessInfo expectedProcessRequest = new ProcessInfo( "banana.bat", @"GETSOURCE ""C:\SomeDir\Or\Other"" ""1959-09-11 07:53:00"" arg1 ""arg2 is longer"" arg3", @"C:\SomeDir\Or\Other" ); expectedProcessRequest.TimeOut = Timeout.DefaultTimeout.Millis; executor.ExpectAndReturn("Execute", new ProcessResult("foo", null, 0, false), expectedProcessRequest); externalSC.GetSource(intResult); executor.Verify(); }
public void ExternalSourceControlTest( ) { ExternalSourceControl esc = new ExternalSourceControl( ); EnvironmentVariable ev = new EnvironmentVariable( ); ev.Name = "Foo"; ev.Value = "Blah"; esc.Environment.Add(ev); ev = new EnvironmentVariable( ); ev.Name = "Bar"; ev.Value = "Water"; esc.Environment.Add(ev); esc.Arguments = "/f /b"; esc.Executable = "cmd.exe"; XmlElement node = esc.Serialize( ); Assert.IsNotNull(node, "Serialize failed for ExternalSourceControl"); Assert.AreEqual(node.SelectSingleNode("executable").InnerText, esc.Executable); Assert.AreEqual(node.SelectSingleNode("args").InnerText, esc.Arguments); esc = new ExternalSourceControl( ); esc.Deserialize(node); Assert.AreEqual(node.SelectSingleNode("executable").InnerText, esc.Executable); Assert.AreEqual(node.SelectSingleNode("args").InnerText, esc.Arguments); }
public void ShouldFailToPopulateFromConfigurationMissingRequiredFields() { const string xml = @"<sourceControl type=""external""></sourceControl>"; ExternalSourceControl externalSC = new ExternalSourceControl(); Assert.That(delegate { NetReflector.Read(xml, externalSC); }, Throws.TypeOf <NetReflectorException>()); }
public void VerifyDefaultValues() { ExternalSourceControl externalSC = new ExternalSourceControl(); Assert.AreEqual(string.Empty, externalSC.ArgString); Assert.AreEqual(false, externalSC.AutoGetSource); Assert.AreEqual(0, externalSC.EnvironmentVariables.Length); Assert.AreEqual(false, externalSC.LabelOnSuccess); }
public void ShouldNotGetSourceIfAutoGetSourceFalse() { DynamicMock executor = new DynamicMock(typeof(ProcessExecutor)); ExternalSourceControl externalSC = new ExternalSourceControl((ProcessExecutor)executor.MockInstance); externalSC.AutoGetSource = false; executor.ExpectNoCall("Execute", typeof(ProcessInfo)); externalSC.GetSource(new IntegrationResult()); executor.Verify(); }
public void ShouldNotGetSourceIfAutoGetSourceFalse() { var executor = new Mock <ProcessExecutor>(); ExternalSourceControl externalSC = new ExternalSourceControl((ProcessExecutor)executor.Object); externalSC.AutoGetSource = false; externalSC.GetSource(new IntegrationResult()); executor.Verify(); executor.VerifyNoOtherCalls(); }
public void ShouldPopulateCorrectlyFromMinimalXml() { const string xml = @"<sourceControl type=""external""> <executable>banana.bat</executable> </sourceControl>"; ExternalSourceControl externalSC = new ExternalSourceControl(); NetReflector.Read(xml, externalSC); Assert.AreEqual(string.Empty, externalSC.ArgString); Assert.AreEqual(false, externalSC.AutoGetSource); Assert.AreEqual(0, externalSC.EnvironmentVariables.Length); Assert.AreEqual("banana.bat", externalSC.Executable); Assert.AreEqual(false, externalSC.LabelOnSuccess); }
public void ExternalSourceControlSerializerTest( ) { Serializer <ExternalSourceControl> ser = new Serializer <ExternalSourceControl> ( ); ExternalSourceControl esc = new ExternalSourceControl( ); esc.Executable = "esc.exe"; EnvironmentVariable ev = new EnvironmentVariable( ); ev.Name = "Foo"; ev.Value = "Blah"; esc.Environment.Add(ev); ev = new EnvironmentVariable( ); ev.Name = "Bar"; ev.Value = "Water"; esc.Environment.Add(ev); esc.Arguments = "/f /b"; XmlElement ele = ser.Serialize(esc); Assert.IsNotNull(ele); Console.WriteLine(ele.OuterXml); }