Commit a677bac4 authored by Marc Gravell's avatar Marc Gravell

Merge pull request #375 from deepakverma/defaultversion

Set default version to 3.0 for Azure
parents 9825f67f 89a5b98a
...@@ -188,45 +188,59 @@ public void CreateDisconnectedNonsenseConnection_DNS() ...@@ -188,45 +188,59 @@ public void CreateDisconnectedNonsenseConnection_DNS()
} }
[Test] [Test]
public void AbortConnectFalseForAzure() public void ConfigurationOptionsDefaultForAzure()
{ {
var options = ConfigurationOptions.Parse("contoso.redis.cache.windows.net"); var options = ConfigurationOptions.Parse("contoso.redis.cache.windows.net");
Assert.IsTrue(options.DefaultVersion.Equals(new Version(3, 0, 0)));
Assert.IsFalse(options.AbortOnConnectFail); Assert.IsFalse(options.AbortOnConnectFail);
} }
[Test] [Test]
public void AbortConnectTrueForAzureWhenSpecified() public void ConfigurationOptionsForAzureWhenSpecified()
{ {
var options = ConfigurationOptions.Parse("contoso.redis.cache.windows.net,abortConnect=true"); var options = ConfigurationOptions.Parse("contoso.redis.cache.windows.net,abortConnect=true, version=2.1.1");
Assert.IsTrue(options.DefaultVersion.Equals(new Version(2, 1, 1)));
Assert.IsTrue(options.AbortOnConnectFail); Assert.IsTrue(options.AbortOnConnectFail);
} }
[Test] [Test]
public void AbortConnectFalseForAzureChina() public void ConfigurationOptionsDefaultForAzureChina()
{ {
// added a few upper case chars to validate comparison // added a few upper case chars to validate comparison
var options = ConfigurationOptions.Parse("contoso.REDIS.CACHE.chinacloudapi.cn"); var options = ConfigurationOptions.Parse("contoso.REDIS.CACHE.chinacloudapi.cn");
Assert.IsTrue(options.DefaultVersion.Equals(new Version(3, 0, 0)));
Assert.IsFalse(options.AbortOnConnectFail); Assert.IsFalse(options.AbortOnConnectFail);
} }
[Test] [Test]
public void AbortConnectFalseForAzureUSGov() public void ConfigurationOptionsDefaultForAzureGermany()
{
var options = ConfigurationOptions.Parse("contoso.redis.cache.cloudapi.de");
Assert.IsTrue(options.DefaultVersion.Equals(new Version(3, 0, 0)));
Assert.IsFalse(options.AbortOnConnectFail);
}
[Test]
public void ConfigurationOptionsDefaultForAzureUSGov()
{ {
var options = ConfigurationOptions.Parse("contoso.redis.cache.usgovcloudapi.net"); var options = ConfigurationOptions.Parse("contoso.redis.cache.usgovcloudapi.net");
Assert.IsTrue(options.DefaultVersion.Equals(new Version(3, 0, 0)));
Assert.IsFalse(options.AbortOnConnectFail); Assert.IsFalse(options.AbortOnConnectFail);
} }
[Test] [Test]
public void AbortConnectTrueForNonAzure() public void ConfigurationOptionsDefaultForNonAzure()
{ {
var options = ConfigurationOptions.Parse("redis.contoso.com"); var options = ConfigurationOptions.Parse("redis.contoso.com");
Assert.IsTrue(options.DefaultVersion.Equals(new Version(2, 0, 0)));
Assert.IsTrue(options.AbortOnConnectFail); Assert.IsTrue(options.AbortOnConnectFail);
} }
[Test] [Test]
public void AbortConnectDefaultWhenNoEndpointsSpecifiedYet() public void ConfigurationOptionsDefaultWhenNoEndpointsSpecifiedYet()
{ {
var options = new ConfigurationOptions(); var options = new ConfigurationOptions();
Assert.IsTrue(options.DefaultVersion.Equals(new Version(2, 0, 0)));
Assert.IsTrue(options.AbortOnConnectFail); Assert.IsTrue(options.AbortOnConnectFail);
} }
......
...@@ -210,7 +210,7 @@ public CommandMap CommandMap ...@@ -210,7 +210,7 @@ public CommandMap CommandMap
/// <summary> /// <summary>
/// The server version to assume /// The server version to assume
/// </summary> /// </summary>
public Version DefaultVersion { get { return defaultVersion ?? RedisFeatures.v2_0_0; } set { defaultVersion = value; } } public Version DefaultVersion { get { return defaultVersion ?? (IsAzureEndpoint() ? RedisFeatures.v3_0_0 : RedisFeatures.v2_0_0); } set { defaultVersion = value; } }
/// <summary> /// <summary>
/// The endpoints defined for this configuration /// The endpoints defined for this configuration
...@@ -656,6 +656,7 @@ private bool IsAzureEndpoint() ...@@ -656,6 +656,7 @@ private bool IsAzureEndpoint()
case ".redis.cache.windows.net": case ".redis.cache.windows.net":
case ".redis.cache.chinacloudapi.cn": case ".redis.cache.chinacloudapi.cn":
case ".redis.cache.usgovcloudapi.net": case ".redis.cache.usgovcloudapi.net":
case ".redis.cache.cloudapi.de":
return true; return true;
} }
} }
......
...@@ -26,7 +26,8 @@ public struct RedisFeatures ...@@ -26,7 +26,8 @@ public struct RedisFeatures
v2_8_0 = new Version(2, 8, 0), v2_8_0 = new Version(2, 8, 0),
v2_8_12 = new Version(2, 8, 12), v2_8_12 = new Version(2, 8, 12),
v2_8_18 = new Version(2, 8, 18), v2_8_18 = new Version(2, 8, 18),
v2_9_5 = new Version(2, 9, 5); v2_9_5 = new Version(2, 9, 5),
v3_0_0 = new Version(3, 0, 0);
private readonly Version version; private readonly Version version;
/// <summary> /// <summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment