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