public void TestBindingServiceInstanceToRouteRequest() { string json = @"{ ""parameters"": { ""the_service_broker"": ""wants this object"" } }"; BindingServiceInstanceToRouteRequest request = new BindingServiceInstanceToRouteRequest(); request.Parameters = TestUtil.GetJsonDictonary(@"{""the_service_broker"":""wants this object""}"); string result = JsonConvert.SerializeObject(request, Formatting.None); Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result); }
/// <summary> /// Binding a Service Instance to a Route /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/241/service_instances/binding_a_service_instance_to_a_route.html"</para> /// </summary> public async Task <BindingServiceInstanceToRouteResponse> BindingServiceInstanceToRoute(Guid?service_instance_guid, Guid?route_guid, BindingServiceInstanceToRouteRequest value) { UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget); uriBuilder.Path = string.Format(CultureInfo.InvariantCulture, "/v2/service_instances/{0}/routes/{1}", service_instance_guid, route_guid); var client = this.GetHttpClient(); client.Uri = uriBuilder.Uri; client.Method = HttpMethod.Put; var authHeader = await BuildAuthenticationHeader(); if (!string.IsNullOrWhiteSpace(authHeader.Key)) { client.Headers.Add(authHeader); } client.ContentType = "application/x-www-form-urlencoded"; client.Content = ((string)JsonConvert.SerializeObject(value)).ConvertToStream(); var expectedReturnStatus = 201; var response = await this.SendAsync(client, expectedReturnStatus); return(Utilities.DeserializeJson <BindingServiceInstanceToRouteResponse>(await response.ReadContentAsStringAsync())); }
/// <summary> /// Binding a Service Instance to a Route /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/250/service_instances/binding_a_service_instance_to_a_route.html"</para> /// </summary> public async Task <BindingServiceInstanceToRouteResponse> BindingServiceInstanceToRoute(Guid?service_instance_guid, Guid?route_guid, BindingServiceInstanceToRouteRequest value) { UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget); uriBuilder.Path = string.Format(CultureInfo.InvariantCulture, "/v2/service_instances/{0}/routes/{1}", service_instance_guid, route_guid); var client = this.GetHttpClient(); client.Uri = uriBuilder.Uri; client.Method = HttpMethod.Put; client.Content = ((string)JsonConvert.SerializeObject(value)).ConvertToStream(); var expectedReturnStatus = 201; var response = await this.SendAsync(client, expectedReturnStatus); return(Utilities.DeserializeJson <BindingServiceInstanceToRouteResponse>(await response.Content.ReadAsStringAsync())); }
public void BindingServiceInstanceToRouteTest() { using (ShimsContext.Create()) { MockClients clients = new MockClients(); string json = @"{ ""metadata"": { ""guid"": ""f6a46d54-82a6-40e1-a5fb-242a1dba147a"", ""url"": ""/v2/service_instances/1d89a957-c412-42e6-be54-b4788f91f3b4"", ""created_at"": ""2016-09-02T11:52:07Z"", ""updated_at"": null }, ""entity"": { ""name"": ""name-652"", ""credentials"": { ""creds-key-12"": ""creds-val-12"" }, ""service_plan_guid"": ""f6a46d54-82a6-40e1-a5fb-242a1dba147a"", ""space_guid"": ""f6a46d54-82a6-40e1-a5fb-242a1dba147a"", ""gateway_data"": null, ""dashboard_url"": null, ""type"": ""managed_service_instance"", ""last_operation"": null, ""tags"": [ ], ""space_url"": ""/v2/spaces/959d353f-19f8-4abd-a1c5-6448b89ee350"", ""service_plan_url"": ""/v2/service_plans/4a69b14b-9d24-4cae-a2d8-37dba71cda6d"", ""service_bindings_url"": ""/v2/service_instances/1d89a957-c412-42e6-be54-b4788f91f3b4/service_bindings"", ""service_keys_url"": ""/v2/service_instances/1d89a957-c412-42e6-be54-b4788f91f3b4/service_keys"", ""routes_url"": ""/v2/service_instances/1d89a957-c412-42e6-be54-b4788f91f3b4/routes"" } }"; clients.JsonResponse = json; clients.ExpectedStatusCode = (HttpStatusCode)201; var cfClient = clients.CreateCloudFoundryClient(); Guid?service_instance_guid = Guid.NewGuid(); Guid?route_guid = Guid.NewGuid(); BindingServiceInstanceToRouteRequest value = new BindingServiceInstanceToRouteRequest(); var obj = cfClient.ServiceInstances.BindingServiceInstanceToRoute(service_instance_guid, route_guid, value).Result; Assert.AreEqual("f6a46d54-82a6-40e1-a5fb-242a1dba147a", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true); Assert.AreEqual("/v2/service_instances/1d89a957-c412-42e6-be54-b4788f91f3b4", TestUtil.ToTestableString(obj.EntityMetadata.Url), true); Assert.AreEqual("2016-09-02T11:52:07Z", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true); Assert.AreEqual("name-652", TestUtil.ToTestableString(obj.Name), true); Assert.AreEqual("f6a46d54-82a6-40e1-a5fb-242a1dba147a", TestUtil.ToTestableString(obj.ServicePlanGuid), true); Assert.AreEqual("f6a46d54-82a6-40e1-a5fb-242a1dba147a", TestUtil.ToTestableString(obj.SpaceGuid), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.GatewayData), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.DashboardUrl), true); Assert.AreEqual("managed_service_instance", TestUtil.ToTestableString(obj.Type), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.LastOperation), true); Assert.AreEqual("/v2/spaces/959d353f-19f8-4abd-a1c5-6448b89ee350", TestUtil.ToTestableString(obj.SpaceUrl), true); Assert.AreEqual("/v2/service_plans/4a69b14b-9d24-4cae-a2d8-37dba71cda6d", TestUtil.ToTestableString(obj.ServicePlanUrl), true); Assert.AreEqual("/v2/service_instances/1d89a957-c412-42e6-be54-b4788f91f3b4/service_bindings", TestUtil.ToTestableString(obj.ServiceBindingsUrl), true); Assert.AreEqual("/v2/service_instances/1d89a957-c412-42e6-be54-b4788f91f3b4/service_keys", TestUtil.ToTestableString(obj.ServiceKeysUrl), true); Assert.AreEqual("/v2/service_instances/1d89a957-c412-42e6-be54-b4788f91f3b4/routes", TestUtil.ToTestableString(obj.RoutesUrl), true); } }