using System;\r
+using System.IO;\r
using NUnit.Framework;\r
\r
namespace JetBrains.TeamCity.NuGet.Tests\r
Assert.IsTrue(r.ExitCode == 0);\r
}\r
\r
+ [Test]\r
+ public void TestExcuteNuGet_NuGetFromTemp()\r
+ {\r
+ TempFilesHolder.WithTempDirectory(\r
+ home =>\r
+ {\r
+ var destNuGet = Path.Combine(home, "NuGet.exe");\r
+ File.Copy(Files.NuGetExe, destNuGet);\r
+\r
+ ProcessExecutor.ExecuteProcess(Files.NuGetRunnerExe, destNuGet, "TeamCity.Ping")\r
+ .Dump()\r
+ .AssertExitedSuccessfully();\r
+ });\r
+ }\r
+\r
+ [Test]\r
+ public void TestExcuteNuGet_BothInTemp()\r
+ {\r
+ TempFilesHolder.WithTempDirectory(\r
+ home =>\r
+ {\r
+ var destNuGet = Path.Combine(home, "NuGet.exe");\r
+ var destRunner = Path.Combine(home, "TeamCity.NuGetRunner.exe");\r
+ \r
+ File.Copy(Files.NuGetExe, destNuGet); \r
+ File.Copy(Files.NuGetRunnerExe, destRunner);\r
+ const string ext = "JetBrains.TeamCity.NuGet.ExtendedCommands.dll";\r
+ File.Copy(Path.Combine(Files.NuGetRunnerExe, "../" + ext), Path.Combine(home, ext));\r
+\r
+ ProcessExecutor.ExecuteProcess(destRunner, destNuGet, "TeamCity.Ping")\r
+ .Dump()\r
+ .AssertExitedSuccessfully();\r
+ });\r
+ }\r
+\r
+\r
[Test]\r
public void TestDumpExtensionsPath()\r
{\r
File.Delete(tmp);\r
}\r
}\r
+\r
+ public static void WithTempDirectory(Action<string> action)\r
+ {\r
+ string tmp = Path.GetTempFileName();\r
+ File.Delete(tmp);\r
+ Directory.CreateDirectory(tmp);\r
+ try\r
+ {\r
+ action(tmp);\r
+ }\r
+ finally\r
+ {\r
+ Directory.Delete(tmp,true);\r
+ }\r
+ }\r
}\r
}
\ No newline at end of file