예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #4
0
        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);
        }