public void GetSdkObjectFromGlobalJson() { //Arrange var sdkObject = new { project = new[] { "src", "test" }, sdk = new { version = "1.0.0", runtime = "coreclr", architecture = "arm" } }; FileSystemHelpers.Instance = MockFileSystem.GetMockFileSystem(@"x:\repo\global.json", () => JsonConvert.SerializeObject(sdkObject)); var arch = AspNet5Helper.GetDefaultAspNet5RuntimeArchitecture(); //Act var sdk = AspNet5Helper.GetAspNet5Sdk(@"x:\repo"); //Assert Assert.NotNull(sdk); Assert.Equal(sdkObject.sdk.version, sdk.Version); Assert.Equal(sdkObject.sdk.runtime, sdk.Runtime); Assert.Equal(sdkObject.sdk.architecture, sdk.Architecture); }
public void ReturnEmptyCollectionOnLogEntryIdDoesntExist() { //Arrage var fileSystem = MockFileSystem.GetMockFileSystem(@"x:\deployment\deploymentId\log.xml", () => @"<?xml version=""1.0"" encoding=""utf-8""?> <entries> <entry time=""2015-07-22T19:42:24.1462725Z"" id=""validId"" type=""0""> <message>Test message</message> </entry> </entries>"); var environment = new Mock <IEnvironment>(); environment .Setup(s => s.DeploymentsPath) .Returns(@"x:\deployment"); var trace = NullTracerFactory.Instance; var deploymentManager = CreateDeploymentManager(fileSystem: fileSystem, traceFactory: trace, environment: environment.Object); //Act var result = deploymentManager.GetLogEntryDetails("deploymentId", "invalid"); //Assert Assert.Empty(result); }
public void InvalidCommitTextTests() { var id = Guid.NewGuid().ToString(); var deploymentPath = @"x:\sites\deployments"; var environment = Mock.Of <IEnvironment>(e => e.DeploymentsPath == deploymentPath); var analytics = Mock.Of <IAnalytics>(); var statusLock = Mock.Of <IOperationLock>(l => l.Lock(It.IsAny <string>()) == true); var stream = new Mock <MemoryStream> { CallBase = true }; stream.Setup(s => s.Close()); var statusFile = Path.Combine(deploymentPath, id, "status.xml"); FileSystemHelpers.Instance = MockFileSystem.GetMockFileSystem(statusFile, () => { stream.Object.Position = 0; return(Encoding.UTF8.GetString(stream.Object.GetBuffer(), 0, (int)stream.Object.Length)); }); var fileBase = Mock.Get(FileSystemHelpers.Instance.File); fileBase.Setup(f => f.Create(statusFile)) .Returns((string path) => stream.Object); var statusCompleteFile = Path.Combine(deploymentPath, id, "status_complete.xml"); fileBase.Setup(f => f.Copy(statusFile, statusCompleteFile, true)); var deploymentStatus = DeploymentStatusFile.Create(id, environment, statusLock); deploymentStatus.Id = id; deploymentStatus.Status = DeployStatus.Success; deploymentStatus.StatusText = "Success"; deploymentStatus.AuthorEmail = "*****@*****.**"; deploymentStatus.Author = "John Doe \x08"; deploymentStatus.Message = "Invalid char is \u0010"; deploymentStatus.Progress = String.Empty; deploymentStatus.EndTime = DateTime.UtcNow; deploymentStatus.LastSuccessEndTime = DateTime.UtcNow; deploymentStatus.Complete = true; deploymentStatus.IsTemporary = false; deploymentStatus.IsReadOnly = false; // Save deploymentStatus.Save(); // Roundtrip deploymentStatus = DeploymentStatusFile.Open(id, environment, analytics, statusLock); // Assert Assert.Equal(id, deploymentStatus.Id); Assert.Equal("John Doe ", deploymentStatus.Author); Assert.Equal("Invalid char is ", deploymentStatus.Message); }
public void GetSdkObjectWhenGlobalJsondDoesntHaveOne() { //Arrange var sdkObject = new { project = new[] { "src", "test" } }; FileSystemHelpers.Instance = MockFileSystem.GetMockFileSystem(@"x:\repo\global.json", () => JsonConvert.SerializeObject(sdkObject)); var arch = AspNet5Helper.GetDefaultAspNet5RuntimeArchitecture(); //Act var sdk = AspNet5Helper.GetAspNet5Sdk(@"x:\repo"); //Assert Assert.NotNull(sdk); Assert.Equal(Constants.DnxDefaultVersion, sdk.Version); Assert.Equal(Constants.DnxDefaultClr, sdk.Runtime); Assert.Equal(arch, sdk.Architecture); }
public void CorruptedDeploymentStatusFileTests(string content, bool expectedNull, bool expectedError) { var id = Guid.NewGuid().ToString(); var deploymentPath = @"x:\sites\deployments"; var environment = Mock.Of <IEnvironment>(e => e.DeploymentsPath == deploymentPath); var analytics = Mock.Of <IAnalytics>(); var statusLock = Mock.Of <IOperationLock>(l => l.Lock() == true); var statusFile = Path.Combine(deploymentPath, id, "status.xml"); FileSystemHelpers.Instance = MockFileSystem.GetMockFileSystem(statusFile, () => content); var status = DeploymentStatusFile.Open(id, environment, analytics, statusLock); if (expectedNull) { Assert.Null(status); Mock.Get(FileSystemHelpers.Instance.DirectoryInfo.FromDirectoryName(Path.Combine(deploymentPath, id))) .Verify(d => d.Delete(), content != null ? Times.Once() : Times.Never()); } else { Assert.NotNull(status); Mock.Get(FileSystemHelpers.Instance.DirectoryInfo.FromDirectoryName(Path.Combine(deploymentPath, id))) .Verify(d => d.Delete(), Times.Never()); } if (expectedError) { Mock.Get(analytics).Verify(a => a.UnexpectedException(It.IsAny <Exception>(), true), Times.Once()); } else { Mock.Get(analytics).Verify(a => a.UnexpectedException(It.IsAny <Exception>(), It.IsAny <bool>()), Times.Never()); } }