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 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); }