public void PackageAvailableFromLocal_InstallSucceeds() { // arrange var package = new MockPackage(); var mockLocalRepository = new MockPackageRepository(); var mockRemoteRepository = new MockPackageRepository(); mockLocalRepository.AddPackage(package); var mockPackageManager = new Mock <IPackageManager>(); var mockProjectManager = MockGenerator.CreateMockProjectManager(mockRemoteRepository, mockLocalRepository); mockProjectManager.Setup(pm => pm.AddPackageReference(package, It.IsAny <bool>(), It.IsAny <bool>())).Verifiable(); Dependencies.NuGetPackageManagerFactory = MockGenerator.CreatePackageManagerFactory(mockPackageManager.Object); Dependencies.NuGetProjectManagerFactory = MockGenerator.CreateProjectManagerFactory(mockProjectManager.Object); Dependencies.NuGetProjectSystemFactory = MockGenerator.CreateProjectSystemFactory(); // act NuGetCore core = new NuGetCore(); var warnings = core.InstallPackage(@"C:\DummyPath", MockPackage.DefaultId, "http://dummyFeed", MockPackage.DefaultVersion.ToString()); // assert mockProjectManager.Verify(); }
public void PackageAvailableFromLocal_UpdateSucceeds() { // arrange var targetPackage = new MockPackage() { Version = new SemanticVersion("2.0") }; var mockLocalRepository = new MockPackageRepository(); var mockRemoteRepository = new MockPackageRepository(); mockLocalRepository.AddPackage(new MockPackage()); mockLocalRepository.AddPackage(targetPackage); var mockPackageManager = MockGenerator.CreateMockPackageManager(mockRemoteRepository, mockLocalRepository); var mockProjectManager = MockGenerator.CreateMockProjectManager(mockRemoteRepository, mockLocalRepository); mockProjectManager.Setup(pm => pm.UpdatePackageReference(targetPackage.Id, targetPackage.Version, It.IsAny <bool>(), It.IsAny <bool>())).Verifiable(); Dependencies.NuGetPackageManagerFactory = MockGenerator.CreatePackageManagerFactory(mockPackageManager.Object); Dependencies.NuGetProjectManagerFactory = MockGenerator.CreateProjectManagerFactory(mockProjectManager.Object); Dependencies.NuGetProjectSystemFactory = MockGenerator.CreateProjectSystemFactory(); // act NuGetCore core = new NuGetCore(); var warnings = core.UpdatePackage(@"C:\DummyPath", MockPackage.DefaultId, "http://dummyFeed", "2.0"); // assert mockProjectManager.Verify(); }
public void DontSpecifyVersion_UpdatesToLatestPackage() { var latestPackage = new MockPackage { Version = new SemanticVersion("3.0") }; var mockLocalRepository = new MockPackageRepository(); var mockRemoteRepository = new MockPackageRepository(); mockLocalRepository.AddPackage(new MockPackage()); mockRemoteRepository.AddPackage(new MockPackage { Version = new SemanticVersion("2.0") }); mockRemoteRepository.AddPackage(latestPackage); var mockPackageManager = MockGenerator.CreateMockPackageManager(mockRemoteRepository, mockLocalRepository); var mockProjectManager = MockGenerator.CreateMockProjectManager(mockRemoteRepository, mockLocalRepository); mockProjectManager.Setup(pm => pm.UpdatePackageReference(latestPackage.Id, latestPackage.Version, It.IsAny <bool>(), It.IsAny <bool>())).Verifiable(); Dependencies.NuGetPackageManagerFactory = MockGenerator.CreatePackageManagerFactory(mockPackageManager.Object); Dependencies.NuGetProjectManagerFactory = MockGenerator.CreateProjectManagerFactory(mockProjectManager.Object); Dependencies.NuGetProjectSystemFactory = MockGenerator.CreateProjectSystemFactory(); // act NuGetCore core = new NuGetCore(); var warnings = core.UpdatePackage(@"C:\DummyPath", MockPackage.DefaultId, "http://dummyFeed", null); // assert mockProjectManager.Verify(); }
public async Task RunAsync(CancellationToken token) { var photonVars = Context.ServerVariables["photon"]; if (photonVars == null) { throw new ApplicationException("Photon Variables were not found!"); } nugetPackageDir = Path.Combine(Context.WorkDirectory, "Packages"); var nugetApiKey = Context.ServerVariables["global"]["nuget/apiKey"]; apiUrl = photonVars["apiUrl"]; ftpUrl = photonVars["ftp/url"]; ftpUser = photonVars["ftp/user"]; ftpPass = photonVars["ftp/pass"]; msbuild = new MSBuildCommand(Context) { Exe = Context.AgentVariables["global"]["msbuild_exe"], WorkingDirectory = Context.ContentDirectory, }; await BuildSolution(token); nugetCore = new NuGetCore(Context) { ApiKey = nugetApiKey, }; nugetCore.Initialize(); nugetCmd = new NuGetCommand(Context) { Exe = Path.Combine(Context.ContentDirectory, "bin", "NuGet.exe"), //Context.AgentVariables["global"]["nuget_exe"]; WorkingDirectory = Context.ContentDirectory, }; await Task.WhenAll( PublishServer(token), PublishAgent(token), PublishCLI(token)); PathEx.CreatePath(nugetPackageDir); var projectPath = Path.Combine(Context.ContentDirectory, "Photon.Framework"); var assemblyFilename = Path.Combine(projectPath, "bin", "Release", "Photon.Framework.dll"); frameworkVersion = AssemblyTools.GetVersion(assemblyFilename); await PublishFrameworkPackage(token); await PublishPluginPackage("Photon.MSBuild", token); await PublishPluginPackage("Photon.WindowsServices", token); await PublishPluginPackage("Photon.Config", token); await PublishPluginPackage("Photon.NuGet", token); await PublishPluginPackage("Photon.NuGet.Core", token); await PublishPluginPackage("Photon.IIS", token); await PublishPluginPackage("Photon.NUnit", token); await PublishPluginPackage("Photon.DotNet", token); }
public async Task RunAsync(CancellationToken token) { nugetCore = new NuGetCore(Context) { ApiKey = Context.ServerVariables["global"]["nuget/apiKey"], }; nugetCore.Initialize(); var packageDir = Path.Combine(Context.BinDirectory, "PublishPackage"); var packageFilename = Directory .GetFiles(packageDir, "jenkinsnet.*.nupkg") .FirstOrDefault(); if (string.IsNullOrEmpty(packageFilename)) { throw new ApplicationException("No package found matching package ID 'jenkinsnet'!"); } await nugetCore.PushAsync(packageFilename, token); }
public async Task RunAsync(CancellationToken token) { var photonVars = Context.ServerVariables["photon"]; if (photonVars == null) { throw new ApplicationException("Photon Variables were not found!"); } nugetPackageDir = Path.Combine(Context.WorkDirectory, "Packages"); nugetApiKey = Context.ServerVariables.Global["nuget.apiKey"]; nugetExe = Context.AgentVariables.Global["nuget.exe"]; apiUrl = photonVars["apiUrl"]; ftpUrl = photonVars["ftp.url"]; ftpUser = photonVars["ftp.user"]; ftpPass = photonVars["ftp.pass"]; nugetClient = new NuGetCore { EnableV3 = true, Output = Context.Output, ApiKey = nugetApiKey, }; nugetClient.Initialize(); await BuildSolution(); await PublishServer(); await PublishAgent(); await PublishCLI(); if (!Directory.Exists(nugetPackageDir)) { Directory.CreateDirectory(nugetPackageDir); } await PublishFrameworkPackage(token); await PublishPluginPackage("Photon.IIS", token); await PublishPluginPackage("Photon.NuGet", token); await PublishPluginPackage("Photon.WindowsServices", token); await PublishPluginPackage("Photon.Config", token); }
public void PackageNotFound_ThrowsException() { // arrange var mockLocalRepository = new MockPackageRepository(); var mockRemoteRepository = new MockPackageRepository(); var mockPackageManager = new Mock <IPackageManager>(); var mockProjectManager = MockGenerator.CreateMockProjectManager(mockRemoteRepository, mockLocalRepository); Dependencies.NuGetPackageManagerFactory = MockGenerator.CreatePackageManagerFactory(mockPackageManager.Object); Dependencies.NuGetProjectManagerFactory = MockGenerator.CreateProjectManagerFactory(mockProjectManager.Object); Dependencies.NuGetProjectSystemFactory = MockGenerator.CreateProjectSystemFactory(); string dummyPackage = "DummyPackage"; string dummyVersion = "1.0"; // act // assert NuGetCore core = new NuGetCore(); var ex = Assert.Throws <Exception>(() => core.InstallPackage(@"C:\DummyPath", dummyPackage, "", dummyVersion)); Assert.Contains(string.Format("No package named {0}.{1} found at location", dummyPackage, dummyVersion), ex.Message); }