protected virtual int HandleInstallCommand(string[] args, DefaultOptions options) { var op = options.Install; ConfigureServices(op); if (!CmdParser.ParseArguments(args, op)) { return(1); } var sources = new List <string>(); if (!string.IsNullOrEmpty(op.Source)) { sources.Add(op.Source); } sources.AddRange(DefaultValues.DefaultNuGetRepositories); var command = new DefaultInstallCommand { PackageSources = sources, Url = op.Url, Id = op.Id, Version = op.Version, PreRelease = op.PreRelease, UserName = op.UserName, UserPassword = op.UserPassword, SharePointVersion = op.SharePointVersion, SharePointEdition = op.SharePointEdition, SharePointApi = op.SharePointApi, ToolId = op.ToolId, ToolVersion = op.ToolVersion, Force = op.Force }; if (string.IsNullOrEmpty(op.SharePointVersion)) { command.SharePointVersion = SharePointRuntimVersions.O365; } command.Execute(); return(0); }
internal void DeployNuGetPackageInternal(SharePointConnection connection, IPackage package, bool force) { var appDataServices = ShServiceContainer.Instance.GetAppDataService <MetaPackDataService>(); var command = new DefaultInstallCommand(); command.Url = connection.Url; if (connection.AuthMode.Id == SharePointConnectionAuthMode.SharePointOnline.Id) { command.SharePointVersion = "o365"; command.SharePointApi = "csom"; command.UserName = connection.UserName; command.UserPassword = connection.UserPassword; } else if (connection.AuthMode.Id == SharePointConnectionAuthMode.WindowsAuthentication.Id) { command.SharePointVersion = "sp2013"; command.SharePointApi = "csom"; if (!string.IsNullOrEmpty(connection.UserName) && !string.IsNullOrEmpty(connection.UserPassword)) { command.UserName = connection.UserName; command.UserPassword = connection.UserPassword; } } command.PackageSources = appDataServices.NuGetConnections.Select(s => s.Url).ToList(); command.Id = package.Id; command.Version = package.Version.ToString(); command.PreRelease = package.IsReleaseVersion(); command.Force = force; command.Execute(); }
private void Can_Call_Install_Command_O365_Internal(string webSiteUrl, bool isForce) { var hasOnTraceEvents = false; var expectedInstallHits = 0; var actualInstallHits = 0; WithMetaPackServices(service => { expectedInstallHits++; var packagingService = service.PackagingService; var solutionPackage = CreateNewSolutionPackage(packagingService); UpdatePackageVersion(solutionPackage); PushPackageToCIRepository(solutionPackage, null, packagingService); var userName = EnvironmentUtils.GetEnvironmentVariable(RegConsts.O365.UserName); var userPassword = EnvironmentUtils.GetEnvironmentVariable(RegConsts.O365.UserPassword); var packageVersion = solutionPackage.Version; var packageId = solutionPackage.Id; WithCINuGetContext((apiUrl, apiKey, repoUrl) => { var command = new DefaultInstallCommand { Url = webSiteUrl, Id = packageId, Version = packageVersion, UserName = userName, UserPassword = userPassword, SharePointVersion = "o365", PreRelease = true }; command.OnTraceEvent += (s, e) => { hasOnTraceEvents = true; Trace.WriteLine(e.Message); }; command.PackageSources.Add(repoUrl); if (UseLocaNuGet) { command.PackageSources.Add(LocalNuGetRepositoryFolderPath); } command.Execute(); actualInstallHits++; if (isForce) { expectedInstallHits++; command.Force = true; command.Execute(); actualInstallHits++; } }); }); Assert.AreEqual(expectedInstallHits, actualInstallHits); Assert.IsTrue(hasOnTraceEvents); }