Beispiel #1
0
        public void TestCreateDockerAppExperimentalRequest()
        {
            string json = @"{
  ""name"": ""docker_app"",
  ""space_guid"": ""9db1fb73-ae3f-450f-9a4b-c20a0d96e980"",
  ""docker_image"": ""cloudfoundry/hello"",
  ""diego"": true
}";

            CreateDockerAppExperimentalRequest request = new CreateDockerAppExperimentalRequest();

            request.Name        = "docker_app";
            request.SpaceGuid   = new Guid("9db1fb73-ae3f-450f-9a4b-c20a0d96e980");
            request.DockerImage = "cloudfoundry/hello";
            request.Diego       = true;
            string result = JsonConvert.SerializeObject(request, Formatting.None);

            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
Beispiel #2
0
        public void TestCreateDockerAppExperimentalRequest()
        {
            string json = @"{
  ""name"": ""docker_app"",
  ""space_guid"": ""b8b3a76f-fbcb-434a-b456-3d783ae2ccf7"",
  ""docker_image"": ""cloudfoundry/hello"",
  ""environment_json"": {
    ""DIEGO_STAGE_BETA"": ""true"",
    ""DIEGO_RUN_BETA"": ""true""
  }
}";

            CreateDockerAppExperimentalRequest request = new CreateDockerAppExperimentalRequest();

            request.Name = "docker_app";
            request.SpaceGuid = new Guid("b8b3a76f-fbcb-434a-b456-3d783ae2ccf7");
            request.DockerImage = "cloudfoundry/hello";
            request.EnvironmentJson = TestUtil.GetJsonDictonary(@"{""DIEGO_STAGE_BETA"":""true"",""DIEGO_RUN_BETA"":""true""}");

            string result = JsonConvert.SerializeObject(request, Formatting.None);
            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
Beispiel #3
0
        public void TestCreateDockerAppExperimentalRequest()
        {
            string json = @"{
  ""name"": ""docker_app"",
  ""space_guid"": ""2a9a2f67-1907-441d-9bbf-0222e80120fb"",
  ""docker_image"": ""cloudfoundry/hello"",
  ""environment_json"": {
    ""DIEGO_STAGE_BETA"": ""true"",
    ""DIEGO_RUN_BETA"": ""true""
  }
}";

            CreateDockerAppExperimentalRequest request = new CreateDockerAppExperimentalRequest();

            request.Name            = "docker_app";
            request.SpaceGuid       = new Guid("2a9a2f67-1907-441d-9bbf-0222e80120fb");
            request.DockerImage     = "cloudfoundry/hello";
            request.EnvironmentJson = TestUtil.GetJsonDictonary(@"{""DIEGO_STAGE_BETA"":""true"",""DIEGO_RUN_BETA"":""true""}");

            string result = JsonConvert.SerializeObject(request, Formatting.None);

            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
Beispiel #4
0
 /// <summary>
 /// Creating a Docker App (experimental)
 /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/195/apps/creating_a_docker_app_(experimental).html"</para>
 /// </summary>
 public async Task<CreateDockerAppExperimentalResponse> CreateDockerAppExperimental(CreateDockerAppExperimentalRequest value)
 {
     UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);
     uriBuilder.Path = "/v2/apps";
     var client = this.GetHttpClient();
     client.Uri = uriBuilder.Uri;
     client.Method = HttpMethod.Post;
     var authHeader = await BuildAuthenticationHeader();
     if (!string.IsNullOrWhiteSpace(authHeader.Key))
     {
         client.Headers.Add(authHeader);
     }
     client.ContentType = "application/x-www-form-urlencoded";
     client.Content = JsonConvert.SerializeObject(value).ConvertToStream();
     var expectedReturnStatus = 201;
     var response = await this.SendAsync(client, expectedReturnStatus);
     return Utilities.DeserializeJson<CreateDockerAppExperimentalResponse>(await response.ReadContentAsStringAsync());
 }
Beispiel #5
0
        public void CreateDockerAppExperimentalTest()
        {
            using (ShimsContext.Create())
            {
                MockClients clients = new MockClients();

                string json = @"{
  ""metadata"": {
    ""guid"": ""a3395953-2118-4a19-9e0f-e80c8ca4b5bd"",
    ""url"": ""/v2/apps/a3395953-2118-4a19-9e0f-e80c8ca4b5bd"",
    ""created_at"": ""2015-05-19T15:27:05+00:00"",
    ""updated_at"": null
  },
  ""entity"": {
    ""name"": ""docker_app"",
    ""production"": false,
    ""space_guid"": ""b8b3a76f-fbcb-434a-b456-3d783ae2ccf7"",
    ""stack_guid"": ""a22cb008-1cda-43c3-b7d1-e406088a2a09"",
    ""buildpack"": null,
    ""detected_buildpack"": null,
    ""environment_json"": {
      ""DIEGO_STAGE_BETA"": ""true"",
      ""DIEGO_RUN_BETA"": ""true""
    },
    ""memory"": 1024,
    ""instances"": 1,
    ""disk_quota"": 1024,
    ""state"": ""STOPPED"",
    ""version"": ""c7ed3236-cf9c-48e2-b0c8-59e9038ee3f3"",
    ""command"": null,
    ""console"": false,
    ""debug"": null,
    ""staging_task_id"": null,
    ""package_state"": ""PENDING"",
    ""health_check_type"": ""port"",
    ""health_check_timeout"": null,
    ""staging_failed_reason"": null,
    ""docker_image"": ""cloudfoundry/hello:latest"",
    ""package_updated_at"": ""2015-05-19T15:27:05+00:00"",
    ""detected_start_command"": """",
    ""space_url"": ""/v2/spaces/b8b3a76f-fbcb-434a-b456-3d783ae2ccf7"",
    ""stack_url"": ""/v2/stacks/a22cb008-1cda-43c3-b7d1-e406088a2a09"",
    ""events_url"": ""/v2/apps/a3395953-2118-4a19-9e0f-e80c8ca4b5bd/events"",
    ""service_bindings_url"": ""/v2/apps/a3395953-2118-4a19-9e0f-e80c8ca4b5bd/service_bindings"",
    ""routes_url"": ""/v2/apps/a3395953-2118-4a19-9e0f-e80c8ca4b5bd/routes""
  }
}";
                clients.JsonResponse = json;

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

                CreateDockerAppExperimentalRequest value = new CreateDockerAppExperimentalRequest();


                var obj = cfClient.Apps.CreateDockerAppExperimental(value).Result;


                Assert.AreEqual("a3395953-2118-4a19-9e0f-e80c8ca4b5bd", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true);
                Assert.AreEqual("/v2/apps/a3395953-2118-4a19-9e0f-e80c8ca4b5bd", TestUtil.ToTestableString(obj.EntityMetadata.Url), true);
                Assert.AreEqual("2015-05-19T15:27:05+00:00", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true);
                Assert.AreEqual("docker_app", TestUtil.ToTestableString(obj.Name), true);
                Assert.AreEqual("false", TestUtil.ToTestableString(obj.Production), true);
                Assert.AreEqual("b8b3a76f-fbcb-434a-b456-3d783ae2ccf7", TestUtil.ToTestableString(obj.SpaceGuid), true);
                Assert.AreEqual("a22cb008-1cda-43c3-b7d1-e406088a2a09", TestUtil.ToTestableString(obj.StackGuid), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.Buildpack), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.DetectedBuildpack), true);
                Assert.AreEqual("1024", TestUtil.ToTestableString(obj.Memory), true);
                Assert.AreEqual("1", TestUtil.ToTestableString(obj.Instances), true);
                Assert.AreEqual("1024", TestUtil.ToTestableString(obj.DiskQuota), true);
                Assert.AreEqual("STOPPED", TestUtil.ToTestableString(obj.State), true);
                Assert.AreEqual("c7ed3236-cf9c-48e2-b0c8-59e9038ee3f3", TestUtil.ToTestableString(obj.Version), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.Command), true);
                Assert.AreEqual("false", TestUtil.ToTestableString(obj.Console), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.Debug), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.StagingTaskId), true);
                Assert.AreEqual("PENDING", TestUtil.ToTestableString(obj.PackageState), true);
                Assert.AreEqual("port", TestUtil.ToTestableString(obj.HealthCheckType), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.HealthCheckTimeout), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.StagingFailedReason), true);
                Assert.AreEqual("cloudfoundry/hello:latest", TestUtil.ToTestableString(obj.DockerImage), true);
                Assert.AreEqual("2015-05-19T15:27:05+00:00", TestUtil.ToTestableString(obj.PackageUpdatedAt), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.DetectedStartCommand), true);
                Assert.AreEqual("/v2/spaces/b8b3a76f-fbcb-434a-b456-3d783ae2ccf7", TestUtil.ToTestableString(obj.SpaceUrl), true);
                Assert.AreEqual("/v2/stacks/a22cb008-1cda-43c3-b7d1-e406088a2a09", TestUtil.ToTestableString(obj.StackUrl), true);
                Assert.AreEqual("/v2/apps/a3395953-2118-4a19-9e0f-e80c8ca4b5bd/events", TestUtil.ToTestableString(obj.EventsUrl), true);
                Assert.AreEqual("/v2/apps/a3395953-2118-4a19-9e0f-e80c8ca4b5bd/service_bindings", TestUtil.ToTestableString(obj.ServiceBindingsUrl), true);
                Assert.AreEqual("/v2/apps/a3395953-2118-4a19-9e0f-e80c8ca4b5bd/routes", TestUtil.ToTestableString(obj.RoutesUrl), true);

            }
        }
Beispiel #6
0
        /// <summary>
        /// Creating a Docker App (experimental)
        /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/205/apps/creating_a_docker_app_(experimental).html"</para>
        /// </summary>
        public async Task <CreateDockerAppExperimentalResponse> CreateDockerAppExperimental(CreateDockerAppExperimentalRequest value)
        {
            UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);

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

            client.Uri    = uriBuilder.Uri;
            client.Method = HttpMethod.Post;
            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 <CreateDockerAppExperimentalResponse>(await response.ReadContentAsStringAsync()));
        }