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()));
        }
Beispiel #4
0
        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);
            }
        }