public static async Task <List <KeyValuePair <string, Guid> > > SeedInitialPrograms(TelimenaPortalContext portalContext, TelimenaTelemetryContext telemetryContext, int prgCount, string getName, string[] userNames, string devName = "SomeDeveloper", string devEmail = "*****@*****.**", [CallerMemberName] string caller = "") { Mock <HttpRequestContext> requestContext = await SetupUserIntoRequestContext(portalContext, devName, devEmail).ConfigureAwait(false); RegisterProgramUnitOfWork unit = new RegisterProgramUnitOfWork(telemetryContext, portalContext); RegisterProgramController programsController = new RegisterProgramController(unit) { RequestContext = requestContext.Object }; List <KeyValuePair <string, Guid> > list = await SeedInitialPrograms(programsController, prgCount , GetName(getName, caller), userNames.Select(x => GetName(x, caller)).ToList()).ConfigureAwait(false); foreach (string userName in userNames) { telemetryContext.AppUsers.Add(new ClientAppUser() { UserIdentifier = GetName(userName, caller) }); } telemetryContext.SaveChanges(); return(list); }
public static async Task <KeyValuePair <string, Guid> > SeedProgramAsync(RegisterProgramController controller, string programName) { RegisterProgramRequest register = new RegisterProgramRequest { Name = programName, TelemetryKey = Guid.NewGuid(), PrimaryAssemblyFileName = programName + ".dll" }; RegisterProgramResponse response = await controller.Register(register).ConfigureAwait(false); if (response.Exception != null) { throw response.Exception; } return(new KeyValuePair <string, Guid>(programName, response.TelemetryKey)); }
public async Task TestRegisterApp() { Mock <HttpRequestContext> requestContext = await Helpers.SetupUserIntoRequestContext(this.PortalContext, "testDevTeam", "testDev@Email", nameof(TestRegisterApp)).ConfigureAwait(false); RegisterProgramUnitOfWork unit = new RegisterProgramUnitOfWork(this.TelemetryContext, this.PortalContext); RegisterProgramController programsController = new RegisterProgramController(unit) { RequestContext = requestContext.Object }; RegisterProgramRequest register = new RegisterProgramRequest { Name = Helpers.GetName("MyTestApp"), TelemetryKey = Guid.NewGuid(), PrimaryAssemblyFileName = "MyTestApp.dll" }; RegisterProgramResponse response = await programsController.Register(register).ConfigureAwait(false); if (response.Exception != null) { throw response.Exception; } var prg = this.PortalContext.Programs.Single(x => x.TelemetryKey == response.TelemetryKey); var root = this.TelemetryContext.TelemetryRootObjects.Single(x => x.TelemetryKey == prg.TelemetryKey); Assert.AreEqual(prg.Id, root.ProgramId); Assert.AreEqual(prg.TelemetryKey, root.TelemetryKey); Assert.AreEqual(Helpers.GetName("MyTestApp"), prg.Name); Assert.AreEqual(Helpers.GetName("testDevTeam"), prg.DeveloperTeam.Name); Assert.AreEqual(Helpers.GetName("testDev@Email"), prg.DeveloperTeam.MainEmail); Assert.AreEqual("MyTestApp.dll", prg.PrimaryAssembly.Name + prg.PrimaryAssembly.Extension); }
private static async Task <List <KeyValuePair <string, Guid> > > SeedInitialPrograms(RegisterProgramController programsController, int prgCount, string prgName, IEnumerable <string> userNames) { List <KeyValuePair <string, Guid> > list = new List <KeyValuePair <string, Guid> >(); IEnumerable <string> enumerable = userNames as string[] ?? userNames.ToArray(); for (int i = 0; i < prgCount; i++) { string counter = i > 0 ? i.ToString() : ""; KeyValuePair <string, Guid> pair = await SeedProgramAsync(programsController, prgName + counter).ConfigureAwait(false); list.Add(pair); } return(list); }