private IProgramsUnitOfWork GetUnit(List <ProgramUpdatePackageInfo> list, List <TelimenaPackageInfo> toolkitPackages = null)
        {
            UpdatePackageRepository  pkgRepo    = new UpdatePackageRepository(this.Context, new AssemblyStreamVersionReader());
            ProgramRepository        prgRepo    = new ProgramRepository(this.Context);
            ProgramPackageRepository prgPkgRepo = new ProgramPackageRepository(this.Context, new AssemblyStreamVersionReader());

            prgPkgRepo.Add(new ProgramPackageInfo("Prg.zip", this.Prg_1, "1.0.0.0", 2222, "1.0.0.0"));
            prgRepo.Add(new Program("prg", this.Program1Key)
            {
                Id = this.Prg_1
            });

            Mock <IAssemblyStreamVersionReader> reader = TestingUtilities.GetMockVersionReader();

            this.AddToolkits(reader.Object, toolkitPackages);

            foreach (ProgramUpdatePackageInfo programUpdatePackageInfo in list)
            {
                pkgRepo.Add(programUpdatePackageInfo);
            }

            this.Context.SaveChanges();



            ProgramsUnitOfWork unit = new ProgramsUnitOfWork(this.Context, reader.Object);

            return(unit);
        }
Esempio n. 2
0
        public static Mock <IAssemblyStreamVersionReader> GetMockVersionReader()
        {
            Mock <IAssemblyStreamVersionReader> reader = new Mock <IAssemblyStreamVersionReader>();

            reader.Setup(x => x.GetFileVersion(It.IsAny <Stream>(), It.IsAny <string>(), It.IsAny <bool>())).Returns((Stream stream, string assName, bool singleFile) =>
            {
                var str = TestingUtilities.ExtractString(stream);
                Assert.IsTrue(stream.CanRead);
                return(Task.FromResult(str));
            });
            return(reader);
        }
        public void NoPackagesAvailable_ShouldNotThrowErrors()
        {
            ProgramRepository prgRepo = new ProgramRepository(this.Context);

            prgRepo.Add(new Program("prg", this.Program1Key)
            {
                Id = this.Prg_1
            });
            this.Context.SaveChanges();
            IProgramsUnitOfWork unit = new ProgramsUnitOfWork(this.Context, TestingUtilities.GetMockVersionReader().Object);

            ProgramsController sut     = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object);
            UpdateRequest      request = new UpdateRequest(this.Program1Key, new VersionData("", "1.2.0.0"), this.User1Guid, false, "0.7.0.0", "1.0.0.0");

            UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult();

            Assert.AreEqual(0, result.UpdatePackages.Count());
            Assert.IsNull(result.Exception);
        }
Esempio n. 4
0
        public static void SetIp(ApiController controller, string ip)
        {
            Mock <HttpRequestBase> request = new Mock <HttpRequestBase>();

            // Not working - IsAjaxRequest() is static extension method and cannot be mocked
            // request.Setup(x => x.IsAjaxRequest()).Returns(true /* or false */);
            // use this
            request.SetupGet(x => x.UserHostAddress).Returns(ip);

            //var ctx = new Mock<HttpContextWrapper>();
            //ctx.SetupGet(x => x.Request).Returns(request.Object);

            Mock <HttpContextBase> mockContext = new Mock <HttpContextBase>();

            mockContext.SetupAllProperties();
            mockContext.Setup(c => c.Request).Returns(request.Object);

            TestingUtilities.SetReuqest(controller, HttpMethod.Post, new Dictionary <string, object>()
            {
                { "MS_HttpContext", mockContext.Object }
            });
        }
        private void AddToolkits(IAssemblyStreamVersionReader reader, List <TelimenaPackageInfo> toolkitPackages = null)
        {
            this.toolkitPackageGuids = new List <Guid>();
            var toolkitRepo = new ToolkitDataRepository(this.Context, reader);

            if (toolkitPackages == null)
            {
                toolkitPackageGuids.Add(toolkitRepo.StorePackageAsync(isBeta: false, introducesBreakingChanges: false, fileStream: TestingUtilities.GenerateStream("0.5.0.0"), fileSaver: new Mock <IFileSaver>().Object).GetAwaiter().GetResult().PublicId);
                toolkitPackageGuids.Add(toolkitRepo.StorePackageAsync(isBeta: false, introducesBreakingChanges: false, fileStream: TestingUtilities.GenerateStream("0.7.0.0"), fileSaver: new Mock <IFileSaver>().Object).GetAwaiter().GetResult().PublicId);
                toolkitPackageGuids.Add(toolkitRepo.StorePackageAsync(isBeta: false, introducesBreakingChanges: false, fileStream: TestingUtilities.GenerateStream("1.0.0.0"), fileSaver: new Mock <IFileSaver>().Object).GetAwaiter().GetResult().PublicId);
                toolkitPackageGuids.Add(toolkitRepo.StorePackageAsync(isBeta: true, introducesBreakingChanges: false, fileStream: TestingUtilities.GenerateStream("1.2.0.0"), fileSaver:  new Mock <IFileSaver>().Object).GetAwaiter().GetResult().PublicId);
                toolkitPackageGuids.Add(toolkitRepo.StorePackageAsync(isBeta: false, introducesBreakingChanges: true, fileStream: TestingUtilities.GenerateStream("1.4.0.0"), fileSaver:  new Mock <IFileSaver>().Object).GetAwaiter().GetResult().PublicId);
                toolkitPackageGuids.Add(toolkitRepo.StorePackageAsync(isBeta: true, introducesBreakingChanges: false, fileStream: TestingUtilities.GenerateStream("1.6.0.0"), fileSaver:  new Mock <IFileSaver>().Object).GetAwaiter().GetResult().PublicId);
                toolkitPackageGuids.Add(toolkitRepo.StorePackageAsync(isBeta: true, introducesBreakingChanges: true, fileStream: TestingUtilities.GenerateStream("1.8.0.0"), fileSaver:   new Mock <IFileSaver>().Object).GetAwaiter().GetResult().PublicId);
                toolkitPackageGuids.Add(toolkitRepo.StorePackageAsync(isBeta: true, introducesBreakingChanges: false, fileStream: TestingUtilities.GenerateStream("2.0.0.0"), fileSaver:  new Mock <IFileSaver>().Object).GetAwaiter().GetResult().PublicId);
            }
        }