Beispiel #1
0
        public void SelfUpdate()
        {
            //arrange
            var byteArray       = Encoding.ASCII.GetBytes("paketExeContent");
            var stream          = new MemoryStream(byteArray);
            var tempFileNameNew = BootstrapperHelper.GetTempFile("newBootstrapper");
            var tempFileNameOld = BootstrapperHelper.GetTempFile("oldBootstrapper");

            mockWebProxy.Setup(x => x.DownloadFile(It.IsAny <string>(), It.IsAny <Stream>(), It.IsAny <int>()))
            .Callback <string, Stream, int>((url, streamIn, bufferIn) => stream.CopyTo(streamIn)).Verifiable();
            var buffer = new byte[byteArray.Length];

            mockFileProxy.Setup(x => x.Create(tempFileNameNew)).Returns(new MemoryStream(buffer));
            mockFileProxy.Setup(x => x.GetLocalFileVersion(It.IsAny <string>())).Returns("2.52.1");

            //act
            sut.SelfUpdate("2.57.1");

            //assert
            mockWebProxy.Verify();
            mockFileProxy.Verify(x => x.FileMove(Assembly.GetAssembly(typeof(GitHubDownloadStrategy)).Location, tempFileNameOld));
            mockFileProxy.Verify(x => x.FileMove(tempFileNameNew, Assembly.GetAssembly(typeof(GitHubDownloadStrategy)).Location));

            var text = Encoding.ASCII.GetString(buffer);

            Assert.That(text, Is.EqualTo("paketExeContent"));
        }
Beispiel #2
0
        public void SelfUpdate()
        {
            //arrange
            var tempFileNameNew = BootstrapperHelper.GetTempFile("newBootstrapper");
            var tempFileNameOld = BootstrapperHelper.GetTempFile("oldBootstrapper");

            mockWebProxy.Setup(x => x.DownloadFile(It.IsAny <string>(), It.IsAny <string>())).Verifiable();
            mockFileProxy.Setup(x => x.GetLocalFileVersion(It.IsAny <string>())).Returns("2.52.1");

            //act
            sut.SelfUpdate("2.57.1");

            //assert
            mockWebProxy.Verify(x => x.DownloadFile(It.IsAny <string>(), tempFileNameNew));
            mockFileProxy.Verify(x => x.MoveFile(Assembly.GetAssembly(typeof(GitHubDownloadStrategy)).Location, tempFileNameOld));
            mockFileProxy.Verify(x => x.MoveFile(tempFileNameNew, Assembly.GetAssembly(typeof(GitHubDownloadStrategy)).Location));
        }