public void CheckNameAvailability_409()
        {
            RedisManagementClient client = Utility.GetRedisManagementClient(null, null, HttpStatusCode.Conflict);

            Assert.Throws <ErrorResponseException>(() => client.Redis.CheckNameAvailability(parameters: new CheckNameAvailabilityParameters
            {
                Name = "cachename",
                Type = "Microsoft.Cache/Redis"
            }));
        }
        public void CheckNameAvailability_200()
        {
            RedisManagementClient client = Utility.GetRedisManagementClient(null, null, HttpStatusCode.OK);

            client.Redis.CheckNameAvailability(parameters: new CheckNameAvailabilityParameters
            {
                Name = "cachename",
                Type = "Microsoft.Cache/Redis"
            });
        }
Пример #3
0
        public void CommonErrModel_BasicTests()
        {
            PlaybackTestHandler   testHandler = new PlaybackTestHandler(CloudErrorTestResponse.MockCreateOrUpdateWithTwoTries());
            RedisManagementClient redisClient = GetRedisClient(testHandler);

            CloudException cEx = Assert.Throws <CloudException>(() =>
                                                                redisClient.RedisOperations.CreateOrUpdate(RGroupName, ResourceName, RedisCreateUpdateParams, SubId)
                                                                );

            Assert.Equal("BadArgument", cEx.Body.Code);
        }
Пример #4
0
        public void Get_EmptyJSONFromCSM()
        {
            string responseString          = (@"{}");
            RedisManagementClient client   = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            RedisResource         response = client.Redis.Get(resourceGroupName: "resource-group", name: "cachename");

            Assert.Null(response.Id);
            Assert.Null(response.Location);
            Assert.Null(response.Name);
            Assert.Null(response.Type);
        }
Пример #5
0
        public void List_404()
        {
            RedisManagementClient client = Utility.GetRedisManagementClient(null, null, HttpStatusCode.NotFound);

            Assert.Throws <ErrorResponseException>(() => client.Redis.ListByResourceGroup(resourceGroupName: "resource-group"));
            client = Utility.GetRedisManagementClient(null, null, HttpStatusCode.NotFound);
            Assert.Throws <ErrorResponseException>(() => client.Redis.ListByResourceGroupNext(nextPageLink: nextLinkForAllInResourceGroup));
            client = Utility.GetRedisManagementClient(null, null, HttpStatusCode.NotFound);
            Assert.Throws <ErrorResponseException>(() => client.Redis.ListBySubscription());
            client = Utility.GetRedisManagementClient(null, null, HttpStatusCode.NotFound);
            Assert.Throws <ErrorResponseException>(() => client.Redis.ListBySubscriptionNext(nextPageLink: nextLinkForAllInSubscription));
        }
        public void RegenerateKey_Basic()
        {
            string requestIdHeader          = "0d33aff8-8a4e-4565-b893-a10e52260de0";
            RedisManagementClient  client   = Utility.GetRedisManagementClient(null, requestIdHeader, HttpStatusCode.OK);
            AzureOperationResponse response = client.Redis.RegenerateKey(resourceGroupName: "resource-group", name: "cachename", parameters: new RedisRegenerateKeyParameters()
            {
                KeyType = RedisKeyType.Primary
            });

            Assert.Equal(requestIdHeader, response.RequestId);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
Пример #7
0
        public void CommonErrModel_NonEmptyAdditionalInfo()
        {
            PlaybackTestHandler   testHandler = new PlaybackTestHandler(CloudErrorTestResponse.CreateUpdate_ErrWithNonEmptyAdditionalInfo());
            RedisManagementClient redisClient = GetRedisClient(testHandler);

            CloudException cEx = Assert.Throws <CloudException>(() =>
                                                                redisClient.RedisOperations.CreateOrUpdate(RGroupName, ResourceName, RedisCreateUpdateParams, SubId)
                                                                );

            Assert.Equal("BadArgument", cEx.Body.Code);
            Assert.Equal(1, cEx.Body.AdditionalInfo.Count);
            Assert.Equal("PolicyViolation", cEx.Body.AdditionalInfo[0].Type);
        }
        public void List_InvalidJSONFromCSM()
        {
            string responseString        = (@"Exception: Any exception from CSM");
            RedisManagementClient client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);

            Assert.Throws <Newtonsoft.Json.JsonReaderException>(() => client.Redis.List(resourceGroupName: "resource-group"));
            client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            Assert.Throws <Newtonsoft.Json.JsonReaderException>(() => client.Redis.ListNext(nextLink: nextLinkForAllInResourceGroup));
            client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            Assert.Throws <Newtonsoft.Json.JsonReaderException>(() => client.Redis.List(null));
            client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            Assert.Throws <Newtonsoft.Json.JsonReaderException>(() => client.Redis.ListNext(nextLink: nextLinkForAllInSubscription));
        }
Пример #9
0
        public void List_InvalidJSONFromCSM()
        {
            string responseString        = (@"Exception: Any exception from CSM");
            RedisManagementClient client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);

            Assert.Throws <SerializationException>(() => client.Redis.ListByResourceGroup(resourceGroupName: "resource-group"));
            client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            Assert.Throws <SerializationException>(() => client.Redis.ListByResourceGroupNext(nextPageLink: nextLinkForAllInResourceGroup));
            client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            Assert.Throws <SerializationException>(() => client.Redis.ListBySubscription());
            client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            Assert.Throws <SerializationException>(() => client.Redis.ListBySubscriptionNext(nextPageLink: nextLinkForAllInSubscription));
        }
Пример #10
0
        public void List_InvalidCastFromJSONValueToJSONArray()
        {
            string responseString        = (@" {""value"" : ""Invalid Non-Array Value""} ");
            RedisManagementClient client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);

            Assert.Throws <SerializationException>(() => client.Redis.ListByResourceGroup(resourceGroupName: "resource-group"));
            client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            Assert.Throws <SerializationException>(() => client.Redis.ListByResourceGroupNext(nextPageLink: nextLinkForAllInResourceGroup));
            client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            Assert.Throws <SerializationException>(() => client.Redis.ListBySubscription());
            client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            Assert.Throws <SerializationException>(() => client.Redis.ListBySubscriptionNext(nextPageLink: nextLinkForAllInSubscription));
        }
Пример #11
0
        public void ListKeys_Basic()
        {
            string responseString = (@"{
	            ""primaryKey"": ""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa="",
	            ""secondaryKey"": ""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=""
            }
            ");
            string requestIdHeader       = "0d33aff8-8a4e-4565-b893-a10e52260de0";
            RedisManagementClient client = Utility.GetRedisManagementClient(responseString, requestIdHeader, HttpStatusCode.OK);
            var response = client.Redis.ListKeys(resourceGroupName: "resource-group", name: "cachename");

            Assert.Equal("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=", response.PrimaryKey);
            Assert.Equal("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=", response.SecondaryKey);
        }
Пример #12
0
            //private static RedisManagementClient GetClient(DelegatingHandler handlerToAdd)
            //{
            //    var tokenCredentials = new TokenCredentials("123", "abc");
            //    var fakeClient = new RedisManagementClient(tokenCredentials, handlerToAdd);
            //    fakeClient.LongRunningOperationInitialTimeout = fakeClient.LongRunningOperationRetryTimeout = 0;
            //    return fakeClient;
            //}

            //private static void VerifyRequestCount(string httpStrMethod, PlaybackTestHandler handler, int putCount = 0, int patchCount = 0)
            //{
            //    if (httpStrMethod.Equals("PUT"))
            //        Assert.Equal(putCount, handler.Requests.Count);
            //    else if (httpStrMethod.Equals("PATCH"))
            //        Assert.Equal(patchCount, handler.Requests.Count);
            //}

            ////private static void VerifyHttpMethod(HttpMethod expectedStrMethod, PlaybackTestHandler handler, int requestIndex = 0)
            ////{
            ////    Assert.Equal(expectedStrMethod, handler.Requests[requestIndex].Method);
            ////}
            //private static void VerifyHttpMethod(string expectedStrMethod, PlaybackTestHandler handler, int requestIndex = 0)
            //{
            //    HttpMethod expMethod = null;

            //    switch (expectedStrMethod)
            //    {
            //        case "PUT":
            //            expMethod = HttpMethod.Put;
            //            break;

            //        case "PATCH":
            //            expMethod = new HttpMethod("PATCH");
            //            break;

            //        case "POST":
            //            expMethod = HttpMethod.Post;
            //            break;

            //        case "DELETE":
            //            expMethod = HttpMethod.Delete;
            //            break;
            //    }

            //    Assert.Equal(expMethod, handler.Requests[requestIndex].Method);
            //}

            //private static void VerifyRequestUrl(string expectedUrl, PlaybackTestHandler handler, int requestIndex = 0)
            //{
            //    Assert.Equal(expectedUrl, handler.Requests[requestIndex].RequestUri.ToString());
            //}

            private static RedisResource ExecuteOperation(string httpMethod, RedisManagementClient fakeClient)
            {
                if (httpMethod.Equals("PUT"))
                {
                    return(fakeClient.RedisOperations.CreateOrUpdate("rg", "redis", new RedisCreateOrUpdateParameters(), "1234"));
                }
                else if (httpMethod.Equals("PATCH"))
                {
                    return(fakeClient.RedisOperations.Patch("rg", "redis", new RedisCreateOrUpdateParameters(), "1234"));
                }
                else
                {
                    return(null);
                }
            }
Пример #13
0
        public void Get_Basic()
        {
            string responseString = (@"
            {
	            ""id"" : ""/subscriptions/a559b6fd-3a84-40bb-a450-b0db5ed37dfe/resourceGroups/HydraTest07152014/providers/Microsoft.Cache/Redis/hydraradiscache"",
	            ""location"" : ""North Europe"",
	            ""name"" : ""hydraradiscache"",
	            ""type"" : ""Microsoft.Cache/Redis"",
	            ""tags"" : {""update"": ""done""},
	            ""properties"" : {
		            ""provisioningState"" : ""Succeeded"",
		            ""sku"": {
                            ""name"": ""Basic"",
                            ""family"": ""C"",
                            ""capacity"": 1
                        },
		            ""redisVersion"" : ""2.8"",
		            ""redisConfiguration"": {""maxmemory-policy"": ""allkeys-lru""},
		            ""accessKeys"" : null,
		            ""hostName"" : ""hydraradiscache.cache.icbbvt.windows-int.net"",
		            ""port"" : 6379,
		            ""sslPort"" : 6380,
                    ""minimumTlsVersion"": ""1.2""
	            }
            }
            ");

            string requestIdHeader         = "0d33aff8-8a4e-4565-b893-a10e52260de0";
            RedisManagementClient client   = Utility.GetRedisManagementClient(responseString, requestIdHeader, HttpStatusCode.OK);
            RedisResource         response = client.Redis.Get(resourceGroupName: "resource-group", name: "cachename");

            Assert.Equal("/subscriptions/a559b6fd-3a84-40bb-a450-b0db5ed37dfe/resourceGroups/HydraTest07152014/providers/Microsoft.Cache/Redis/hydraradiscache", response.Id);
            Assert.Equal("North Europe", response.Location);
            Assert.Equal("hydraradiscache", response.Name);
            Assert.Equal("Microsoft.Cache/Redis", response.Type);

            Assert.Equal(ProvisioningState.Succeeded, response.ProvisioningState);
            Assert.Equal(SkuName.Basic, response.Sku.Name);
            Assert.Equal(SkuFamily.C, response.Sku.Family);
            Assert.Equal(1, response.Sku.Capacity);
            Assert.Equal("2.8", response.RedisVersion);
            Assert.Equal("allkeys-lru", response.RedisConfiguration["maxmemory-policy"]);

            Assert.Equal("hydraradiscache.cache.icbbvt.windows-int.net", response.HostName);
            Assert.Equal(6379, response.Port);
            Assert.Equal(6380, response.SslPort);
            Assert.Equal(TlsVersion.OneFullStopTwo, response.MinimumTlsVersion);
        }
Пример #14
0
        public static RedisManagementClient GetRedisManagementClient(string responseString, string requestIdHeader, HttpStatusCode statusCode)
        {
            var httpResponse = new HttpResponseMessage();

            httpResponse.Content = new StreamContent(GenerateStreamFromString(responseString));
            if (!String.IsNullOrEmpty(requestIdHeader))
            {
                httpResponse.Headers.Add("x-ms-request-id", requestIdHeader);
            }
            httpResponse.StatusCode = statusCode;

            var token = new TokenCloudCredentials(Guid.NewGuid().ToString(), "abc123");
            RedisManagementClient client = new RedisManagementClient(token).WithHandler(new DummyResponseDelegatingHandler(httpResponse));

            return(client);
        }
Пример #15
0
        public void CreateOrUpdate_404()
        {
            RedisManagementClient client = Utility.GetRedisManagementClient(null, null, HttpStatusCode.NotFound);

            Assert.Throws <ErrorResponseException>(() => client.Redis.Create(resourceGroupName: "resource-group", name: "cachename",
                                                                             parameters: new RedisCreateParameters
            {
                Location = "North Europe",
                Sku      = new Sku()
                {
                    Name     = SkuName.Basic,
                    Family   = SkuFamily.C,
                    Capacity = 1
                }
            }));
        }
Пример #16
0
        public void ListKeys_Basic()
        {
            string responseString = (@"
            {
	            ""primaryKey"": ""sJ+jruGKPHDKsEC8kmoybobH3TZx2njBR3ipEsquZFo="",
	            ""secondaryKey"": ""LwizcpMV3wyVjXJEd/lxMhIlpM3rYx5UlB/aVSl3lUE=""
            }
            ");
            string requestIdHeader         = "0d33aff8-8a4e-4565-b893-a10e52260de0";
            RedisManagementClient client   = Utility.GetRedisManagementClient(responseString, requestIdHeader, HttpStatusCode.OK);
            RedisListKeysResponse response = client.Redis.ListKeys(resourceGroupName: "resource-group", name: "cachename");

            Assert.Equal(requestIdHeader, response.RequestId);
            Assert.Equal("sJ+jruGKPHDKsEC8kmoybobH3TZx2njBR3ipEsquZFo=", response.PrimaryKey);
            Assert.Equal("LwizcpMV3wyVjXJEd/lxMhIlpM3rYx5UlB/aVSl3lUE=", response.SecondaryKey);
        }
Пример #17
0
        static void Main(string[] args)
        {
            //https://msdn.microsoft.com/en-us/library/azure/dn790557.aspx#bk_portal
            string token = GetAuthorizationHeader();

            TokenCloudCredentials creds = new TokenCloudCredentials(subscriptionId, token);

            RedisManagementClient client = new RedisManagementClient(creds);
            var redisProperties          = new RedisProperties();

            redisProperties.Sku          = new Sku(redisSKUName, redisSKUFamily, redisSKUCapacity);
            redisProperties.RedisVersion = redisVersion;
            var redisParams = new RedisCreateOrUpdateParameters(redisProperties, redisCacheRegion);

            client.Redis.CreateOrUpdate(resourceGroupName, cacheName, redisParams);
        }
Пример #18
0
        public static RedisManagementClient GetRedisManagementClient(string responseString, string requestIdHeader, HttpStatusCode statusCode)
        {
            var httpResponse = new HttpResponseMessage();

            httpResponse.Content = new StreamContent(GenerateStreamFromString(responseString));
            if (!String.IsNullOrEmpty(requestIdHeader))
            {
                httpResponse.Headers.Add("x-ms-request-id", requestIdHeader);
            }
            httpResponse.StatusCode = statusCode;

            var token = new TokenCredentials(Guid.NewGuid().ToString(), "abc123");
            RedisManagementClient client = new RedisManagementClient(token, new DummyResponseDelegatingHandler(httpResponse));

            client.SubscriptionId = "a559b6fd-3a84-40bb-a450-b0db5ed37dfe";
            return(client);
        }
        public void RegenerateKey_ParametersChecking()
        {
            RedisManagementClient client = Utility.GetRedisManagementClient(null, null, HttpStatusCode.NotFound);
            Exception             e      = Assert.Throws <ValidationException>(() => client.Redis.RegenerateKey(resourceGroupName: null, name: "cachename", parameters: new RedisRegenerateKeyParameters()
            {
                KeyType = RedisKeyType.Primary
            }));

            Assert.Contains("resourceGroupName", e.Message);
            e = Assert.Throws <ValidationException>(() => client.Redis.RegenerateKey(resourceGroupName: "resource-group", name: null, parameters: new RedisRegenerateKeyParameters()
            {
                KeyType = RedisKeyType.Primary
            }));
            Assert.Contains("name", e.Message);
            e = Assert.Throws <ValidationException>(() => client.Redis.RegenerateKey(resourceGroupName: "resource-group", name: "cachename", parameters: null));
            Assert.Contains("parameters", e.Message);
        }
Пример #20
0
        private static void CreateRedisCache(Dictionary <string, string> jsonSecurityToken)
        {
            TokenCredentials serviceClientCredentials = CreateTokenCredential(jsonSecurityToken);

            Microsoft.Azure.Management.Redis.RedisManagementClient redisClient =
                new RedisManagementClient(serviceClientCredentials);

            redisClient.SubscriptionId = jsonSecurityToken["subscriptionId"];
            var redisResource = redisClient.Redis.Create(jsonSecurityToken["resourcegroupname"],
                                                         jsonSecurityToken["storagegroupname"], new RedisCreateParameters()
            {
                EnableNonSslPort = false,
                Location         = LocationNames.NorthEurope,
                Sku = new Sku()
                {
                    Family = SkuFamily.C,
                    Name   = SkuName.Basic
                }
            }
                                                         );
        }
Пример #21
0
        public void CreateOrUpdate_EmptyJSONFromCSM()
        {
            string responseString        = (@"{}");
            RedisManagementClient client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            var response = client.Redis.Create(resourceGroupName: "resource-group", name: "cachename",
                                               parameters: new RedisCreateParameters
            {
                Location = "North Europe",
                Sku      = new Sku()
                {
                    Name     = SkuName.Basic,
                    Family   = SkuFamily.C,
                    Capacity = 1
                }
            });

            Assert.Null(response.Id);
            Assert.Null(response.Location);
            Assert.Null(response.Name);
            Assert.Null(response.Type);
        }
Пример #22
0
        public void List_EmptyJSONFromCSM()
        {
            string responseString = (@"{}");

            IPage <RedisResource>[] list = new IPage <RedisResource> [4];

            RedisManagementClient client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);

            list[0] = client.Redis.ListByResourceGroup(resourceGroupName: "resource-group");
            client  = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            list[1] = client.Redis.ListByResourceGroupNext(nextPageLink: nextLinkForAllInResourceGroup);
            client  = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            list[2] = client.Redis.ListBySubscription();
            client  = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            list[3] = client.Redis.ListBySubscriptionNext(nextPageLink: nextLinkForAllInSubscription);

            foreach (IPage <RedisResource> responseList in list)
            {
                Assert.Empty(responseList);
                Assert.Null(responseList.NextPageLink);
            }
        }
        public void List_EmptyJSONFromCSM()
        {
            string responseString = (@"{}");

            RedisListResponse[] list = new RedisListResponse[4];

            RedisManagementClient client = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);

            list[0] = client.Redis.List(resourceGroupName: "resource-group");
            client  = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            list[1] = client.Redis.ListNext(nextLink: nextLinkForAllInResourceGroup);
            client  = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            list[2] = client.Redis.List(null);
            client  = Utility.GetRedisManagementClient(responseString, null, HttpStatusCode.OK);
            list[3] = client.Redis.ListNext(nextLink: nextLinkForAllInSubscription);

            foreach (RedisListResponse responseList in list)
            {
                Assert.Equal(0, responseList.Value.Count);
                Assert.Null(responseList.NextLink);
            }
        }
Пример #24
0
        public void CommonErrModel_DetailsWithAdditionalInfo()
        {
            PlaybackTestHandler   testHandler = new PlaybackTestHandler(CloudErrorTestResponse.CreateUpdate_DetailsWithAdditionalInfo());
            RedisManagementClient redisClient = GetRedisClient(testHandler);

            CloudException cEx = Assert.Throws <CloudException>(() =>
                                                                redisClient.RedisOperations.CreateOrUpdate(RGroupName, ResourceName, RedisCreateUpdateParams, SubId)
                                                                );

            CloudError ce = cEx.Body;

            Assert.Equal(1, ce.Details.Count);
            Assert.Equal("PolicyViolation", ce.Details[0].AdditionalInfo[0].Type);

            AdditionalErrorInfo aInfo = ce.Details[0].AdditionalInfo[0];
            JObject             jo    = aInfo.Info;

            Assert.NotNull(jo);

            string infoVal = jo.Value <string>("policySetDefinitionDisplayName");

            Assert.Equal("Secure the environment", infoVal);
        }
Пример #25
0
        public void Get_404()
        {
            RedisManagementClient client = Utility.GetRedisManagementClient(null, null, HttpStatusCode.NotFound);

            Assert.Throws <ErrorResponseException>(() => client.Redis.Get(resourceGroupName: "resource-group", name: "cachename"));
        }
 public RedisCacheClient(IAzureContext context)
 {
     _client                   = AzureSession.Instance.ClientFactory.CreateArmClient <RedisManagementClient>(context, AzureEnvironment.Endpoint.ResourceManager);
     _insightsClient           = AzureSession.Instance.ClientFactory.CreateClient <InsightsManagementClient>(context, AzureEnvironment.Endpoint.ResourceManager);
     _resourceManagementClient = AzureSession.Instance.ClientFactory.CreateArmClient <ResourceManagementClient>(context, AzureEnvironment.Endpoint.ResourceManager);
 }
Пример #27
0
 public RedisCacheClient(AzureContext context)
 {
     _client = AzureSession.ClientFactory.CreateClient <RedisManagementClient>(context, AzureEnvironment.Endpoint.ResourceManager);
 }
Пример #28
0
        public void List_Basic()
        {
            string responseString = (@"
            {
	            ""value"": [{
		            ""id"": ""/subscriptions/a559b6fd-3a84-40bb-a450-b0db5ed37dfe/resourceGroups/HydraTest07152014/providers/Microsoft.Cache/Redis/hydraradiscache3"",
		            ""location"": ""NorthCentralUS"",
		            ""name"": ""hydraradiscache3"",
		            ""type"": ""Microsoft.Cache/Redis"",
		            ""tags"": {},
		            ""properties"": {
			            ""provisioningState"": ""Succeeded"",
			            ""sku"": {
                            ""name"": ""Basic"",
                            ""family"": ""C"",
                            ""capacity"": 1
                        },
		                ""redisVersion"" : ""2.8"",
		                ""accessKeys"": null,
			            ""hostName"": ""hydraradiscache3.cache.icbbvt.windows-int.net"",
			            ""port"": 6379,
			            ""sslPort"": 6380,
                        ""minimumTlsVersion"": ""1.2""
		            }
	            },
	            {
		            ""id"": ""/subscriptions/a559b6fd-3a84-40bb-a450-b0db5ed37dfe/resourceGroups/HydraTest07152014/providers/Microsoft.Cache/Redis/hydraradiscache"",
		            ""location"": ""NorthEurope"",
		            ""name"": ""hydraradiscache"",
		            ""type"": ""Microsoft.Cache/Redis"",
		            ""tags"": {""update"": ""done""},
		            ""properties"": {
			            ""provisioningState"": ""Succeeded"",
			            ""sku"": {
                            ""name"": ""Basic"",
                            ""family"": ""C"",
                            ""capacity"": 1
                        },
		                ""redisVersion"" : ""2.8"",
		                ""maxMemoryPolicy"": ""AllKeysLRU"",
			            ""accessKeys"": null,
			            ""hostName"": ""hydraradiscache.cache.icbbvt.windows-int.net"",
			            ""port"": 6379,
			            ""sslPort"": 6380,
                        ""minimumTlsVersion"": ""1.2""
		            }
	            }]
            }");

            string requestIdHeader = "0d33aff8-8a4e-4565-b893-a10e52260de0";

            IPage <RedisResource>[] list   = new IPage <RedisResource> [4];
            RedisManagementClient   client = Utility.GetRedisManagementClient(responseString, requestIdHeader, HttpStatusCode.OK);

            list[0] = client.Redis.ListByResourceGroup(resourceGroupName: "resource-group");
            client  = Utility.GetRedisManagementClient(responseString, requestIdHeader, HttpStatusCode.OK);
            list[1] = client.Redis.ListByResourceGroupNext(nextPageLink: nextLinkForAllInResourceGroup);
            client  = Utility.GetRedisManagementClient(responseString, requestIdHeader, HttpStatusCode.OK);
            list[2] = client.Redis.ListBySubscription();
            client  = Utility.GetRedisManagementClient(responseString, requestIdHeader, HttpStatusCode.OK);
            list[3] = client.Redis.ListBySubscriptionNext(nextPageLink: nextLinkForAllInSubscription);

            foreach (IPage <RedisResource> responseList in list)
            {
                Assert.Equal(2, responseList.Count());

                foreach (RedisResource response in responseList)
                {
                    Assert.Contains("/subscriptions/a559b6fd-3a84-40bb-a450-b0db5ed37dfe/resourceGroups/HydraTest07152014/providers/Microsoft.Cache/Redis/hydraradiscache", response.Id);
                    Assert.Contains("North", response.Location);
                    Assert.Contains("hydraradiscache", response.Name);
                    Assert.Equal("Microsoft.Cache/Redis", response.Type);
                    Assert.Equal(ProvisioningState.Succeeded, response.ProvisioningState);
                    Assert.Equal(SkuName.Basic, response.Sku.Name);
                    Assert.Equal(SkuFamily.C, response.Sku.Family);
                    Assert.Equal(1, response.Sku.Capacity);
                    Assert.Equal("2.8", response.RedisVersion);
                    Assert.Contains(".cache.icbbvt.windows-int.net", response.HostName);
                    Assert.Equal(6379, response.Port);
                    Assert.Equal(6380, response.SslPort);
                    Assert.Equal(TlsVersion.OneFullStopTwo, response.MinimumTlsVersion);
                }
            }
        }
Пример #29
0
        public void CreateOrUpdate_BasicWithTagsAndConfig()
        {
            string responseString = (@"
            {
	            ""id"" : ""/subscriptions/a559b6fd-3a84-40bb-a450-b0db5ed37dfe/resourceGroups/HydraTest07152014/providers/Microsoft.Cache/Redis/hydraradiscache"",
	            ""location"" : ""North Europe"",
	            ""name"" : ""hydraradiscache"",
	            ""type"" : ""Microsoft.Cache/Redis"",
	            ""tags"" : {""update"": ""done""},
	            ""properties"" : {
		            ""provisioningState"" : ""Succeeded"",
		            ""sku"": {
                            ""name"": ""Basic"",
                            ""family"": ""C"",
                            ""capacity"": 1
                        },
		            ""redisVersion"" : ""2.8"",
                    ""redisConfiguration"": {""maxmemory-policy"": ""allkeys-lru""},
		            ""accessKeys"" : {
			            ""primaryKey"" : ""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa="",
			            ""secondaryKey"" : ""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=""
		            },
		            ""hostName"" : ""hydraradiscache.cache.icbbvt.windows-int.net"",
		            ""port"" : 6379,
		            ""sslPort"" : 6380,
                    ""minimumTlsVersion"": ""1.2"",
                    ""replicasPerMaster"": ""2"",
                    ""instances"": [
                    {
                        ""sslPort"": 15000,
                        ""nonSslPort"": 13000
                    },
                    {
                        ""sslPort"": 15001,
                        ""nonSslPort"": 13001
                    },
                    {
                        ""sslPort"": 15002,
                        ""nonSslPort"": 13002
                    },
                    ]
	            }
            }
            ");

            string requestIdHeader = "0d33aff8-8a4e-4565-b893-a10e52260de0";

            RedisManagementClient client = Utility.GetRedisManagementClient(responseString, requestIdHeader, HttpStatusCode.Created);
            var response = client.Redis.Create(resourceGroupName: "resource-group", name: "cachename",
                                               parameters: new RedisCreateParameters
            {
                Location = "North Europe",
                Sku      = new Sku()
                {
                    Name     = SkuName.Basic,
                    Family   = SkuFamily.C,
                    Capacity = 1
                },
                RedisConfiguration = new Dictionary <string, string>()
                {
                    { "maxmemory-policy", "allkeys-lru" }
                },
                MinimumTlsVersion = TlsVersion.OneFullStopTwo,
                ReplicasPerMaster = 2
            });

            Assert.Equal("/subscriptions/a559b6fd-3a84-40bb-a450-b0db5ed37dfe/resourceGroups/HydraTest07152014/providers/Microsoft.Cache/Redis/hydraradiscache", response.Id);
            Assert.Equal("North Europe", response.Location);
            Assert.Equal("hydraradiscache", response.Name);
            Assert.Equal("Microsoft.Cache/Redis", response.Type);

            Assert.Equal(ProvisioningState.Succeeded, response.ProvisioningState);
            Assert.Equal(SkuName.Basic, response.Sku.Name);
            Assert.Equal(SkuFamily.C, response.Sku.Family);
            Assert.Equal(1, response.Sku.Capacity);
            Assert.Equal("2.8", response.RedisVersion);
            Assert.Equal("allkeys-lru", response.RedisConfiguration["maxmemory-policy"]);

            Assert.Equal("hydraradiscache.cache.icbbvt.windows-int.net", response.HostName);
            Assert.Equal(6379, response.Port);
            Assert.Equal(6380, response.SslPort);
            Assert.Equal(TlsVersion.OneFullStopTwo, response.MinimumTlsVersion);
            Assert.Equal(2, response.ReplicasPerMaster);

            Assert.Equal(3, response.Instances.Count);
            for (int i = 0; i < response.Instances.Count; i++)
            {
                Assert.Equal(15000 + i, response.Instances[i].SslPort);
                Assert.Equal(13000 + i, response.Instances[i].NonSslPort);
                Assert.Null(response.Instances[i].ShardId);
                Assert.Null(response.Instances[i].Zone);
            }
        }
Пример #30
0
        public void CreateOrUpdate_ParametersChecking()
        {
            RedisManagementClient client = Utility.GetRedisManagementClient(null, null, HttpStatusCode.NotFound);

            Exception e = Assert.Throws <ValidationException>(() => client.Redis.Create(resourceGroupName: null, name: "cachename",
                                                                                        parameters: new RedisCreateParameters
            {
                Location = "North Europe",
                Sku      = new Sku()
                {
                    Name     = SkuName.Basic,
                    Family   = SkuFamily.C,
                    Capacity = 1
                }
            }));

            Assert.Contains("resourceGroupName", e.Message);
            e = Assert.Throws <ValidationException>(() => client.Redis.Create(resourceGroupName: "resource-group", name: null,
                                                                              parameters: new RedisCreateParameters
            {
                Location = "North Europe",
                Sku      = new Sku()
                {
                    Name     = SkuName.Basic,
                    Family   = SkuFamily.C,
                    Capacity = 1
                }
            }));
            Assert.Contains("name", e.Message);
            e = Assert.Throws <ValidationException>(() => client.Redis.Create(resourceGroupName: "resource-group", name: "cachename", parameters: null));
            Assert.Contains("parameters", e.Message);
            e = Assert.Throws <ValidationException>(() => client.Redis.Create(resourceGroupName: "resource-group", name: "cachename",
                                                                              parameters: new RedisCreateParameters
            {
                Location = null,
                Sku      = new Sku()
                {
                    Name     = SkuName.Basic,
                    Family   = SkuFamily.C,
                    Capacity = 1
                }
            }));
            Assert.Contains("Location", e.Message);
            e = Assert.Throws <ValidationException>(() => client.Redis.Create(resourceGroupName: "resource-group", name: "cachename",
                                                                              parameters: new RedisCreateParameters
            {
                Location = "North Europe",
                Sku      = null
            }));
            Assert.Contains("Sku", e.Message);
            e = Assert.Throws <ValidationException>(() => client.Redis.Create(resourceGroupName: "resource-group", name: "cachename",
                                                                              parameters: new RedisCreateParameters
            {
                Location = "North Europe",
                Sku      = new Sku()
                {
                    Name     = null,
                    Family   = SkuFamily.C,
                    Capacity = 1
                }
            }));
            Assert.Contains("Name", e.Message);
            e = Assert.Throws <ValidationException>(() => client.Redis.Create(resourceGroupName: "resource-group", name: "cachename",
                                                                              parameters: new RedisCreateParameters
            {
                Location = "North Europe",
                Sku      = new Sku()
                {
                    Name     = SkuName.Basic,
                    Family   = null,
                    Capacity = 1
                }
            }));
            Assert.Contains("Family", e.Message);
        }