public static int SetUpDefaultRemoteAppStartMenu(Mock <IRemoteAppManagementClient> clientMock, string collectionName) { ISetup <IRemoteAppManagementClient, Task <GetStartMenuApplicationListResult> > setup = null; GetStartMenuApplicationListResult response = new GetStartMenuApplicationListResult() { RequestId = "122-13342", StatusCode = System.Net.HttpStatusCode.OK }; response.ResultList = new List <StartMenuApplication>() { new StartMenuApplication() { Name = "Mohoro RemoteApp1", StartMenuAppId = "1", VirtualPath = @"C:\Application\RemoteApp1.exe", CommandLineArguments = "Arg1, Arg2, Arg3", IconUri = @"C:\Application\RemoteApp1.exe", }, new StartMenuApplication() { Name = "Mohoro RemoteApp2", StartMenuAppId = "2", VirtualPath = @"C:\Application\RemoteApp2.exe", CommandLineArguments = "1, 86, 42", IconUri = @"C:\Application\RemoteApp2.exe", } }; mockStartMenuList = new List <StartMenuApplication>(); foreach (StartMenuApplication app in response.ResultList) { StartMenuApplication mockApp = new StartMenuApplication() { Name = app.Name, StartMenuAppId = app.StartMenuAppId, VirtualPath = app.VirtualPath, CommandLineArguments = app.CommandLineArguments, IconUri = app.IconUri }; mockStartMenuList.Add(mockApp); } setup = clientMock.Setup(c => c.Publishing.StartMenuApplicationListAsync(collectionName, It.IsAny <CancellationToken>())); setup.Returns(Task.Factory.StartNew(() => response)); return(mockStartMenuList.Count); }
public static bool ContainsExpectedStartMenu(List <StartMenuApplication> expectedResult, StartMenuApplication actual) { bool isIdentical = false; foreach (StartMenuApplication expected in expectedResult) { isIdentical = expected.Name == actual.Name; isIdentical &= expected.StartMenuAppId == actual.StartMenuAppId; isIdentical &= expected.VirtualPath == actual.VirtualPath; isIdentical &= expected.CommandLineArguments == actual.CommandLineArguments; isIdentical &= expected.IconUri == actual.IconUri; if (isIdentical) { break; } } return(isIdentical); }
public override void ExecuteCmdlet() { GetStartMenuApplicationListResult result = null; bool getAllPrograms = false; bool found = false; if (String.IsNullOrWhiteSpace(ProgramName)) { getAllPrograms = true; } else { CreateWildcardPattern(ProgramName); } result = CallClient(() => Client.Publishing.StartMenuApplicationList(CollectionName), Client.Publishing); if (result != null && result.ResultList != null) { if (ExactMatch) { StartMenuApplication application = null; application = result.ResultList.FirstOrDefault(app => String.Equals(app.Name, ProgramName, StringComparison.InvariantCultureIgnoreCase)); if (application == null) { WriteErrorWithTimestamp("Program: " + ProgramName + " does not exist in collection " + CollectionName); found = false; } else { WriteObject(application); found = true; } } else { IEnumerable <StartMenuApplication> matchingApps = null; if (getAllPrograms) { matchingApps = result.ResultList; } else if (UseWildcard) { matchingApps = result.ResultList.Where(app => Wildcard.IsMatch(app.Name)); } if (matchingApps != null && matchingApps.Count() > 0) { List <StartMenuApplication> applications = new List <StartMenuApplication>(matchingApps); IComparer <StartMenuApplication> comparer = new ApplicationComparer(); applications.Sort(comparer); WriteObject(applications, true); found = true; } } } if (!found && !getAllPrograms) { WriteVerboseWithTimestamp(String.Format("Program '{0}' was not found in Collection '{1}'.", ProgramName, CollectionName)); } }