/// <summary>
        /// Create a Service Key
        /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/250/service_keys/create_a_service_key.html"</para>
        /// </summary>
        public async Task <CreateServiceKeyResponse> CreateServiceKey(CreateServiceKeyRequest value)
        {
            UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);

            uriBuilder.Path = "/v2/service_keys";
            var client = this.GetHttpClient();

            client.Uri    = uriBuilder.Uri;
            client.Method = HttpMethod.Post;
            var authHeader = await BuildAuthenticationHeader();

            if (!string.IsNullOrWhiteSpace(authHeader.Key))
            {
                if (client.Headers.ContainsKey(authHeader.Key))
                {
                    client.Headers[authHeader.Key] = authHeader.Value;
                }
                else
                {
                    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 <CreateServiceKeyResponse>(await response.ReadContentAsStringAsync()));
        }
        public void TestCreateServiceKeyRequest()
        {
            string json = @"{
  ""service_instance_guid"": ""b03972e4-83b6-4ef0-8dd6-5c9bd79a5bf3"",
  ""name"": ""name-2275""
}";

            CreateServiceKeyRequest request = new CreateServiceKeyRequest();

            request.ServiceInstanceGuid = new Guid("b03972e4-83b6-4ef0-8dd6-5c9bd79a5bf3");
            request.Name = "name-2275";
            string result = JsonConvert.SerializeObject(request, Formatting.None);

            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
        /// <summary>
        /// Create a Service Key
        /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/250/service_keys/create_a_service_key.html"</para>
        /// </summary>
        public async Task <CreateServiceKeyResponse> CreateServiceKey(CreateServiceKeyRequest value)
        {
            UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);

            uriBuilder.Path = "/v2/service_keys";
            var client = this.GetHttpClient();

            client.Uri    = uriBuilder.Uri;
            client.Method = HttpMethod.Post;


            client.Content = ((string)JsonConvert.SerializeObject(value)).ConvertToStream();
            var expectedReturnStatus = 201;
            var response             = await this.SendAsync(client, expectedReturnStatus);

            return(Utilities.DeserializeJson <CreateServiceKeyResponse>(await response.Content.ReadAsStringAsync()));
        }
示例#4
0
        public void CreateServiceKeyTest()
        {
            using (ShimsContext.Create())
            {
                MockClients clients = new MockClients();

                string json = @"{
  ""metadata"": {
    ""guid"": ""b03972e4-83b6-4ef0-8dd6-5c9bd79a5bf3"",
    ""url"": ""/v2/service_keys/5fdf844d-d4c7-4afa-928f-e60a79bab6a2"",
    ""created_at"": ""2016-09-02T11:52:25Z"",
    ""updated_at"": null
  },
  ""entity"": {
    ""name"": ""name-2275"",
    ""service_instance_guid"": ""b03972e4-83b6-4ef0-8dd6-5c9bd79a5bf3"",
    ""credentials"": {
      ""creds-key-64"": ""creds-val-64""
    },
    ""service_instance_url"": ""/v2/service_instances/891d1dc7-e1f9-4c86-aca4-f869b8c6bb8e""
  }
}";
                clients.JsonResponse = json;

                clients.ExpectedStatusCode = (HttpStatusCode)201;
                var cfClient = clients.CreateCloudFoundryClient();

                CreateServiceKeyRequest value = new CreateServiceKeyRequest();


                var obj = cfClient.ServiceKeys.CreateServiceKey(value).Result;


                Assert.AreEqual("b03972e4-83b6-4ef0-8dd6-5c9bd79a5bf3", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true);
                Assert.AreEqual("/v2/service_keys/5fdf844d-d4c7-4afa-928f-e60a79bab6a2", TestUtil.ToTestableString(obj.EntityMetadata.Url), true);
                Assert.AreEqual("2016-09-02T11:52:25Z", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true);
                Assert.AreEqual("name-2275", TestUtil.ToTestableString(obj.Name), true);
                Assert.AreEqual("b03972e4-83b6-4ef0-8dd6-5c9bd79a5bf3", TestUtil.ToTestableString(obj.ServiceInstanceGuid), true);
                Assert.AreEqual("/v2/service_instances/891d1dc7-e1f9-4c86-aca4-f869b8c6bb8e", TestUtil.ToTestableString(obj.ServiceInstanceUrl), true);
            }
        }