Beispiel #1
0
            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();
            }
Beispiel #2
0
            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();
            }
Beispiel #3
0
            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();
            }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
            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);
            }