Пример #1
0
        public void CacheStore_MultipleUris_StoresAll()
        {
            // Arrange

            var servers = new List <Uri>
            {
                Uri1,
                Uri2
            };

            var provider = new DefaultVersionProvider();

            // Act

            provider.CacheStore(servers, Version45);

            // Assert

            var result = provider.CacheLookup(servers.Take(1));

            Assert.AreEqual(Version45, result);

            result = provider.CacheLookup(servers.Skip(1));
            Assert.AreEqual(Version45, result);
        }
Пример #2
0
        public void GetVersionNumber_NoDeadlock()
        {
            // Using an asynchronous HttpClient request within an MVC Web API action may cause
            // a deadlock when we wait for the result synchronously.

            var context = new Mock <SynchronizationContext>
            {
                CallBase = true
            };

            SynchronizationContext.SetSynchronizationContext(context.Object);
            try
            {
                var provider = new DefaultVersionProvider();

                provider.GetVersion(ClusterHelper.GetBucket("beer-sample"));

                // If view queries are incorrectly awaiting on the current SynchronizationContext
                // We will see calls to Post or Send on the mock

                context.Verify(m => m.Post(It.IsAny <SendOrPostCallback>(), It.IsAny <object>()), Times.Never);
                context.Verify(m => m.Send(It.IsAny <SendOrPostCallback>(), It.IsAny <object>()), Times.Never);
            }
            finally
            {
                SynchronizationContext.SetSynchronizationContext(null);
            }
        }
        public void GetVersionNumber_NoDeadlock()
        {
            // Using an asynchronous HttpClient request within an MVC Web API action may cause
            // a deadlock when we wait for the result synchronously.

            var context = new Mock<SynchronizationContext>
            {
                CallBase = true
            };

            SynchronizationContext.SetSynchronizationContext(context.Object);
            try
            {
                var provider = new DefaultVersionProvider();

                provider.GetVersion(ClusterHelper.GetBucket("beer-sample"));

                // If view queries are incorrectly awaiting on the current SynchronizationContext
                // We will see calls to Post or Send on the mock

                context.Verify(m => m.Post(It.IsAny<SendOrPostCallback>(), It.IsAny<object>()), Times.Never);
                context.Verify(m => m.Send(It.IsAny<SendOrPostCallback>(), It.IsAny<object>()), Times.Never);
            }
            finally
            {
                SynchronizationContext.SetSynchronizationContext(null);
            }
        }
Пример #4
0
        public void CacheLookup_MultipleUrisOneInCache_ReturnsVersion()
        {
            // Arrange

            var servers1 = new List <Uri>
            {
                Uri1
            };

            var servers2 = new List <Uri>
            {
                Uri2
            };

            var provider = new DefaultVersionProvider();

            provider.CacheStore(servers2, Version45);

            // Act

            var result = provider.CacheLookup(servers1.Concat(servers2));

            // Assert

            Assert.AreEqual(Version45, result);
        }
Пример #5
0
        public void GetVersionNumber_ReturnsVersion()
        {
            // Arrange

            var provider = new DefaultVersionProvider();

            // Act

            var version = provider.GetVersion(ClusterHelper.GetBucket("beer-sample"));

            // Assert

            Assert.NotNull(version);
        }
        public void GetVersionNumber_ReturnsVersion()
        {
            // Arrange

            var provider = new DefaultVersionProvider();

            // Act

            var version = provider.GetVersion(ClusterHelper.GetBucket("beer-sample"));

            // Assert

            Assert.NotNull(version);
        }
Пример #7
0
        public void ExtractVersion_NullConfig_ReturnsNull()
        {
            // Arrange

            var provider = new DefaultVersionProvider();

            // Act

            var result = provider.ExtractVersion(null);

            // Assert

            Assert.IsNull(result);
        }
        public void CacheLookup_EmptyCache_ReturnsNull()
        {
            // Arrange

            var servers = new Mock <ICluster>();

            var provider = new DefaultVersionProvider();

            // Act

            var result = provider.CacheLookup(servers.Object);

            // Assert

            Assert.IsNull(result);
        }
Пример #9
0
        public void ExtractVersion_InvalidVersion_ReturnsNull()
        {
            // Arrange

            var provider = new DefaultVersionProvider();

            // Act

            var result = provider.ExtractVersion(new DefaultVersionProvider.Bootstrap()
            {
                ImplementationVersion = "4.5.0a"
            });

            // Assert

            Assert.IsNull(result);
        }
Пример #10
0
        public void ExtractVersion_VersionWithDash_ReturnsVersion()
        {
            // Arrange

            var provider = new DefaultVersionProvider();

            // Act

            var result = provider.ExtractVersion(new DefaultVersionProvider.Bootstrap()
            {
                ImplementationVersion = "4.5.0-somethingelse"
            });

            // Assert

            Assert.AreEqual(Version45, result);
        }
        public void CacheLookup_IsInCache_ReturnsVersion()
        {
            // Arrange

            var cluster = new Mock <ICluster>();

            var provider = new DefaultVersionProvider();

            provider.CacheStore(cluster.Object, Version45);

            // Act

            var result = provider.CacheLookup(cluster.Object);

            // Assert

            Assert.AreEqual(Version45, result);
        }
        public void CacheLookup_EmptyCache_ReturnsNull()
        {
            // Arrange

            var servers = new List<Uri>
            {
                Uri1
            };

            var provider = new DefaultVersionProvider();

            // Act

            var result = provider.CacheLookup(servers);

            // Assert

            Assert.IsNull(result);
        }
Пример #13
0
        public void CacheLookup_EmptyCache_ReturnsNull()
        {
            // Arrange

            var servers = new List <Uri>
            {
                Uri1
            };

            var provider = new DefaultVersionProvider();

            // Act

            var result = provider.CacheLookup(servers);

            // Assert

            Assert.IsNull(result);
        }
Пример #14
0
        public void CacheLookup_IsInCache_ReturnsVersion()
        {
            // Arrange

            var servers = new List <Uri>
            {
                Uri1
            };

            var provider = new DefaultVersionProvider();

            provider.CacheStore(servers, Version45);

            // Act

            var result = provider.CacheLookup(servers);

            // Assert

            Assert.AreEqual(Version45, result);
        }
        public void CacheLookup_IsInCache_ReturnsVersion()
        {
            // Arrange

            var servers = new List<Uri>
            {
                Uri1
            };

            var provider = new DefaultVersionProvider();

            provider.CacheStore(servers, Version45);

            // Act

            var result = provider.CacheLookup(servers);

            // Assert

            Assert.AreEqual(Version45, result);
        }
        public void GetVersion_Fails_Returns4()
        {
            // Arrange

            var bucket = new Mock <IBucket>();

            bucket
            .SetupGet(m => m.Cluster)
            .Returns(new Mock <ICluster>().Object);
            bucket
            .Setup(m => m.GetClusterVersionAsync())
            .Returns(Task.FromResult <ClusterVersion?>(null));

            var provider = new DefaultVersionProvider();

            // Act

            var result = provider.GetVersion(bucket.Object);

            // Assert

            Assert.AreEqual(Version40, result);
        }
        public void CacheStore_MultipleUris_StoresAll()
        {
            // Arrange

            var servers = new List<Uri>
            {
                Uri1,
                Uri2
            };

            var provider = new DefaultVersionProvider();

            // Act

            provider.CacheStore(servers, Version45);

            // Assert

            var result = provider.CacheLookup(servers.Take(1));
            Assert.AreEqual(Version45, result);

            result = provider.CacheLookup(servers.Skip(1));
            Assert.AreEqual(Version45, result);
        }
        public void ExtractVersion_InvalidVersion_ReturnsNull()
        {
            // Arrange

            var provider = new DefaultVersionProvider();

            // Act

            var result = provider.ExtractVersion(new DefaultVersionProvider.Bootstrap()
            {
                ImplementationVersion = "4.5.0a"
            });

            // Assert

            Assert.IsNull(result);
        }
        public void ExtractVersion_NullConfig_ReturnsNull()
        {
            // Arrange

            var provider = new DefaultVersionProvider();

            // Act

            var result = provider.ExtractVersion(null);

            // Assert

            Assert.IsNull(result);
        }
        public void CacheLookup_MultipleUrisOneInCache_ReturnsVersion()
        {
            // Arrange

            var servers1 = new List<Uri>
            {
                Uri1
            };

            var servers2 = new List<Uri>
            {
                Uri2
            };

            var provider = new DefaultVersionProvider();

            provider.CacheStore(servers2, Version45);

            // Act

            var result = provider.CacheLookup(servers1.Concat(servers2));

            // Assert

            Assert.AreEqual(Version45, result);
        }
Пример #21
0
        public void GetProgramVersion()
        {
            var versionProvider = new DefaultVersionProvider();

            Assert.Equal(string.Empty, versionProvider.DataVersion);
        }
        public void ExtractVersion_VersionWithoutDash_ReturnsVersion()
        {
            // Arrange

            var provider = new DefaultVersionProvider();

            // Act

            var result = provider.ExtractVersion(new DefaultVersionProvider.Bootstrap()
            {
                ImplementationVersion = "4.5.0"
            });

            // Assert

            Assert.AreEqual(Version45, result);
        }