public void IsNonPrecompiledAppReturnsTrue_VPPRegistrationChanging() { // Arrange string fileContent = @"<precompiledApp version=""2"" updatable=""false""/>"; IVirtualPathUtility pathUtility = GetVirtualPathUtility(); Mock <VirtualPathProvider> mockProvider1 = new Mock <VirtualPathProvider>(); mockProvider1.Setup(c => c.FileExists(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); mockProvider1.Setup(c => c.GetFile(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile(fileContent)).Verifiable(); Mock <VirtualPathProvider> mockProvider2 = new Mock <VirtualPathProvider>(); mockProvider2.Setup(c => c.FileExists(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); mockProvider2.Setup(c => c.GetFile(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile(fileContent)).Verifiable(); VirtualPathProvider provider = mockProvider1.Object; // Act; uses one VirtualPathProvider in constructor and the other when IsNonUpdatablePrecompiledApp() is called directly BuildManagerWrapper buildManagerWrapper = new BuildManagerWrapper(() => provider, pathUtility); // The moral equivalent of HostingEnvironment.RegisterVirtualPathProvider(provider2.Object) provider = mockProvider2.Object; bool isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.True(isPrecompiled); mockProvider1.Verify(); mockProvider1.Verify(vpp => vpp.FileExists(It.IsAny <string>()), Times.Once()); mockProvider1.Verify(vpp => vpp.GetFile(It.IsAny <string>()), Times.Once()); mockProvider2.Verify(); mockProvider2.Verify(vpp => vpp.FileExists(It.IsAny <string>()), Times.Once()); mockProvider2.Verify(vpp => vpp.GetFile(It.IsAny <string>()), Times.Once()); }
public void IsNonPrecompiledAppReturnsFalseIfPrecompiledConfigFileDoesNotExist() { // Arrange var vpp = new Mock <VirtualPathProvider>(); vpp.Setup(c => c.FileExists(It.IsAny <string>())).Returns(false); var buildManagerWrapper = new BuildManagerWrapper(vpp.Object, GetVirtualPathUtility()); // Act var isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.False(isPrecompiled); vpp.Verify(); }
public void IsNonPrecompiledAppReturnsFalseIfConfigFileDoesNotContainExpectedElements() { // Arrange var fileContent = @"<?xml version=""1.0""?><configuration><appSettings></appSettings></configuration>"; var vpp = new Mock <VirtualPathProvider>(); vpp.Setup(c => c.FileExists(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); vpp.Setup(c => c.GetFile(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile(fileContent)).Verifiable(); var buildManagerWrapper = new BuildManagerWrapper(vpp.Object, GetVirtualPathUtility()); // Act var isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.False(isPrecompiled); vpp.Verify(); }
public void IsNonPrecompiledAppReturnsTrueIfConfigFileIsValidAndIsAppIsNotUpdatable() { // Arrange var fileContent = @"<precompiledApp version=""2"" updatable=""false""/>"; var vpp = new Mock <VirtualPathProvider>(); vpp.Setup(c => c.FileExists(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); vpp.Setup(c => c.GetFile(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile(fileContent)).Verifiable(); var buildManagerWrapper = new BuildManagerWrapper(vpp.Object, GetVirtualPathUtility()); // Act var isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.True(isPrecompiled); vpp.Verify(); }
public void IsNonPrecompiledAppReturnsFalseIfPrecompiledConfigFileIsNotValidXml() { // Arrange var vpp = new Mock <VirtualPathProvider>(); vpp.Setup(c => c.FileExists(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); var file = new Mock <VirtualFile>(); vpp.Setup(c => c.GetFile(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile("some random text that is clearly not xml!")); var buildManagerWrapper = new BuildManagerWrapper(vpp.Object, GetVirtualPathUtility()); // Act var isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.False(isPrecompiled); vpp.Verify(); }
public void IsNonPrecompiledAppReturnsFalseIfPrecompiledConfigFileDoesNotExist() { // Arrange var vpp = new Mock<VirtualPathProvider>(); vpp.Setup(c => c.FileExists(It.IsAny<string>())).Returns(false); var buildManagerWrapper = new BuildManagerWrapper(vpp.Object, GetVirtualPathUtility()); // Act var isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.False(isPrecompiled); vpp.Verify(); }
public void IsNonPrecompiledAppReturnsTrueIfConfigFileIsValidAndIsAppIsNotUpdatable() { // Arrange var fileContent = @"<precompiledApp version=""2"" updatable=""false""/>"; var vpp = new Mock<VirtualPathProvider>(); vpp.Setup(c => c.FileExists(It.Is<string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); vpp.Setup(c => c.GetFile(It.Is<string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile(fileContent)).Verifiable(); var buildManagerWrapper = new BuildManagerWrapper(vpp.Object, GetVirtualPathUtility()); // Act var isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.True(isPrecompiled); vpp.Verify(); }
public void IsNonPrecompiledAppReturnsFalseIfConfigFileDoesNotContainExpectedElements() { // Arrange var fileContent = @"<?xml version=""1.0""?><configuration><appSettings></appSettings></configuration>"; var vpp = new Mock<VirtualPathProvider>(); vpp.Setup(c => c.FileExists(It.Is<string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); vpp.Setup(c => c.GetFile(It.Is<string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile(fileContent)).Verifiable(); var buildManagerWrapper = new BuildManagerWrapper(vpp.Object, GetVirtualPathUtility()); // Act var isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.False(isPrecompiled); vpp.Verify(); }
public void IsNonPrecompiledAppReturnsFalseIfPrecompiledConfigFileIsNotValidXml() { // Arrange var vpp = new Mock<VirtualPathProvider>(); vpp.Setup(c => c.FileExists(It.Is<string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); var file = new Mock<VirtualFile>(); vpp.Setup(c => c.GetFile(It.Is<string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile("some random text that is clearly not xml!")); var buildManagerWrapper = new BuildManagerWrapper(vpp.Object, GetVirtualPathUtility()); // Act var isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.False(isPrecompiled); vpp.Verify(); }
public void IsNonPrecompiledAppReturnsTrue_VPPRegistrationChanging() { // Arrange string fileContent = @"<precompiledApp version=""2"" updatable=""false""/>"; IVirtualPathUtility pathUtility = GetVirtualPathUtility(); Mock<VirtualPathProvider> mockProvider1 = new Mock<VirtualPathProvider>(); mockProvider1.Setup(c => c.FileExists(It.Is<string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); mockProvider1.Setup(c => c.GetFile(It.Is<string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile(fileContent)).Verifiable(); Mock<VirtualPathProvider> mockProvider2 = new Mock<VirtualPathProvider>(); mockProvider2.Setup(c => c.FileExists(It.Is<string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); mockProvider2.Setup(c => c.GetFile(It.Is<string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile(fileContent)).Verifiable(); VirtualPathProvider provider = mockProvider1.Object; // Act; uses one VirtualPathProvider in constructor and the other when IsNonUpdatablePrecompiledApp() is called directly BuildManagerWrapper buildManagerWrapper = new BuildManagerWrapper(() => provider, pathUtility); // The moral equivalent of HostingEnvironment.RegisterVirtualPathProvider(provider2.Object) provider = mockProvider2.Object; bool isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.True(isPrecompiled); mockProvider1.Verify(); mockProvider1.Verify(vpp => vpp.FileExists(It.IsAny<string>()), Times.Once()); mockProvider1.Verify(vpp => vpp.GetFile(It.IsAny<string>()), Times.Once()); mockProvider2.Verify(); mockProvider2.Verify(vpp => vpp.FileExists(It.IsAny<string>()), Times.Once()); mockProvider2.Verify(vpp => vpp.GetFile(It.IsAny<string>()), Times.Once()); }