Exemple #1
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);
        }