|
|
|
@ -161,9 +161,20 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -161,9 +161,20 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
.Return(tempFileName); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void SvcUtilRunCompleted() |
|
|
|
|
void SvcUtilRunCompletedSuccessfully() |
|
|
|
|
{ |
|
|
|
|
fakeProxyGenerator.Raise(g => g.Complete += null, fakeProxyGenerator, new EventArgs()); |
|
|
|
|
SvcUtilRunCompleted(exitCode: 0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void SvcUtilRunCompletedWithErrors() |
|
|
|
|
{ |
|
|
|
|
SvcUtilRunCompleted(exitCode: 1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void SvcUtilRunCompleted(int exitCode) |
|
|
|
|
{ |
|
|
|
|
var eventArgs = new GeneratorCompleteEventArgs(exitCode); |
|
|
|
|
fakeProxyGenerator.Raise(g => g.Complete += null, fakeProxyGenerator, eventArgs); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void SetTempFileText(string fileName, string text) |
|
|
|
@ -184,6 +195,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -184,6 +195,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
fakeProxyGenerator.AssertWasCalled(p => p.GenerateProxyFile()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -196,6 +209,9 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -196,6 +209,9 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
generator.Options.ServiceName = "MyServiceRef"; |
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
string expectedProxyFileName = @"d:\projects\MyProject\Service References\MyServiceRef\Reference.cs"; |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(expectedProxyFileName, fakeProxyGenerator.Options.OutputFileName); |
|
|
|
@ -211,6 +227,7 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -211,6 +227,7 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
string expectedDirectory = @"d:\projects\MyProject\Service References\MyService1"; |
|
|
|
|
|
|
|
|
|
fakeFileSystem.AssertWasCalled(f => f.CreateDirectoryIfMissing(expectedDirectory)); |
|
|
|
@ -227,6 +244,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -227,6 +244,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
fakeProject.AssertWasCalled(p => p.AddServiceReferenceProxyFile(expectedProxyFileName)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -240,6 +259,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -240,6 +259,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
fakeProject.AssertWasCalled(p => p.Save()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -253,6 +274,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -253,6 +274,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
var expectedMapFile = new ServiceReferenceMapFile() { |
|
|
|
|
FileName = @"d:\projects\MyProject\Service References\MyServiceRef\Reference.svcmap" |
|
|
|
|
}; |
|
|
|
@ -271,6 +294,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -271,6 +294,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
fakeProject.AssertWasCalled(p => p.AddServiceReferenceMapFile(expectedMapFileName)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -284,6 +309,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -284,6 +309,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
fakeProject.AssertWasCalled(p => p.AddAssemblyReference("System.ServiceModel")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -301,6 +328,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -301,6 +328,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
mi => fakeProject.AssertWasCalled(p => p.AddAssemblyReference("System.ServiceModel")))); |
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
@ -314,6 +343,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -314,6 +343,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual("Test.MyServiceRef", fakeProxyGenerator.Options.Namespace); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -328,6 +359,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -328,6 +359,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual("MyServiceRef", fakeProxyGenerator.Options.Namespace); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -342,6 +375,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -342,6 +375,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual("CS", fakeProxyGenerator.Options.Language); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -356,6 +391,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -356,6 +391,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual("VB", fakeProxyGenerator.Options.Language); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -373,6 +410,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -373,6 +410,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(expectedAppConfigFileName, fakeProxyGenerator.Options.AppConfigFileName); |
|
|
|
|
Assert.IsFalse(fakeProxyGenerator.Options.NoAppConfig); |
|
|
|
|
Assert.IsFalse(fakeProxyGenerator.Options.MergeAppConfig); |
|
|
|
@ -393,6 +432,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -393,6 +432,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(expectedAppConfigFileName, fakeProxyGenerator.Options.AppConfigFileName); |
|
|
|
|
Assert.IsFalse(fakeProxyGenerator.Options.NoAppConfig); |
|
|
|
|
Assert.IsTrue(fakeProxyGenerator.Options.MergeAppConfig); |
|
|
|
@ -413,6 +454,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -413,6 +454,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
string[] expectedReferences = new string[] { |
|
|
|
|
"System.Windows.Forms", |
|
|
|
|
@"d:\projects\MyProject\lib\MyLib.dll" |
|
|
|
@ -435,6 +478,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -435,6 +478,8 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(0, fakeProxyGenerator.Options.Assemblies.Count); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -558,7 +603,7 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -558,7 +603,7 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompleted(); |
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
fakeActiveTextEditors.AssertWasCalled(editors => editors.UpdateTextForOpenFile(appConfigFileName, "New appconfig text")); |
|
|
|
|
} |
|
|
|
@ -576,7 +621,7 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -576,7 +621,7 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompleted(); |
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
fakeActiveTextEditors.AssertWasNotCalled(editors => editors.UpdateTextForOpenFile(Arg<string>.Is.Anything, Arg<string>.Is.Anything)); |
|
|
|
|
} |
|
|
|
@ -596,7 +641,7 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -596,7 +641,7 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompleted(); |
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
fakeFileSystem.AssertWasCalled(fs => fs.DeleteFile(@"d:\temp\test.tmp")); |
|
|
|
|
} |
|
|
|
@ -618,10 +663,68 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
@@ -618,10 +663,68 @@ namespace ICSharpCode.SharpDevelop.Tests.ServiceReferences
|
|
|
|
|
|
|
|
|
|
AppConfigIsClosedInTextEditor(appConfigFileName); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompleted(); |
|
|
|
|
SvcUtilRunCompletedSuccessfully(); |
|
|
|
|
|
|
|
|
|
fakeFileSystem.AssertWasCalled(fs => fs.WriteAllText(appConfigFileName, "New appconfig text")); |
|
|
|
|
fakeActiveTextEditors.AssertWasNotCalled(editors => editors.UpdateTextForOpenFile(Arg<string>.Is.Anything, Arg<string>.Is.Anything)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void AddServiceReference_AppConfigIsOriginallyOpenInTextEditorButSvcUtilFails_TempFileAppConfigContentIsNotUpdatedInTextEditor() |
|
|
|
|
{ |
|
|
|
|
CreateGenerator(); |
|
|
|
|
AddProxyFileNameForServiceName("MyService"); |
|
|
|
|
AddMapFileNameForServiceName("MyService"); |
|
|
|
|
generator.Options.ServiceName = "MyService"; |
|
|
|
|
string appConfigFileName = @"d:\projects\MyProject\app.config"; |
|
|
|
|
SetProjectAppConfigFileName(appConfigFileName); |
|
|
|
|
ProjectHasAppConfigFile(); |
|
|
|
|
AppConfigIsOpenInTextEditor(appConfigFileName, "appconfig text"); |
|
|
|
|
SetTempFileText(@"d:\temp\test.tmp", "New appconfig text"); |
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedWithErrors(); |
|
|
|
|
|
|
|
|
|
fakeActiveTextEditors.AssertWasNotCalled(editors => editors.UpdateTextForOpenFile(Arg<string>.Is.Anything, Arg<string>.Is.Anything)); |
|
|
|
|
fakeFileSystem.AssertWasCalled(fs => fs.DeleteFile(@"d:\temp\test.tmp")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void AddServiceReference_SvcUtilFails_ProjectNotUpdatedWithServiceReference() |
|
|
|
|
{ |
|
|
|
|
CreateGenerator(); |
|
|
|
|
AddProxyFileNameForServiceName(@"d:\MyProject\Service References", "MyServiceRef"); |
|
|
|
|
AddMapFileNameForServiceName("MyServiceRef"); |
|
|
|
|
generator.Options.ServiceName = "MyServiceRef"; |
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedWithErrors(); |
|
|
|
|
|
|
|
|
|
fakeProject.AssertWasNotCalled(p => p.AddAssemblyReference(Arg<string>.Is.Anything)); |
|
|
|
|
fakeProject.AssertWasNotCalled(p => p.Save()); |
|
|
|
|
fakeProject.AssertWasNotCalled(p => p.AddServiceReferenceMapFile(Arg<ServiceReferenceMapFileName>.Is.Anything)); |
|
|
|
|
fakeProject.AssertWasNotCalled(p => p.AddServiceReferenceProxyFile(Arg<ServiceReferenceFileName>.Is.Anything)); |
|
|
|
|
fakeReferenceMapGenerator.AssertWasNotCalled(g => g.GenerateServiceReferenceMapFile(Arg<ServiceReferenceMapFile>.Is.Anything)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void AddServiceReference_ProjectHasNoAppConfigButSvcUtilFails_AppConfigNotAddedToProject() |
|
|
|
|
{ |
|
|
|
|
CreateGenerator(); |
|
|
|
|
AddProxyFileNameForServiceName("MyService"); |
|
|
|
|
AddMapFileNameForServiceName("MyService"); |
|
|
|
|
generator.Options.ServiceName = "MyService"; |
|
|
|
|
UseVisualBasicProject(); |
|
|
|
|
SetProjectAppConfigFileName(@"d:\projects\MyProject\app.config"); |
|
|
|
|
ProjectDoesNotHaveAppConfigFile(); |
|
|
|
|
|
|
|
|
|
generator.AddServiceReference(); |
|
|
|
|
|
|
|
|
|
SvcUtilRunCompletedWithErrors(); |
|
|
|
|
|
|
|
|
|
fakeProject.AssertWasNotCalled(p => p.AddAppConfigFile()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|