Skip to content

Commit

Permalink
Unit test for command
Browse files Browse the repository at this point in the history
  • Loading branch information
dimuon committed Dec 13, 2023
1 parent da2f192 commit f3de702
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions cmd/deployment/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -454,6 +454,57 @@ Deployment [%s] - [Apm][%s]: running step "waiting-for-some-step" (Plan duration
"\n" + "Request ID: some_request_id" + "\n",
},
},
{
name: "removes Apm from payload when creating deployment with default values if version is 8.x",
args: testutils.Args{
Cmd: createCmd,
Args: []string{
"create",
"--version=8.11.3",
"--deployment-template=aws-io-optimized-v2",
"--request-id=some_request_id",
"--name=with_default",
},
Cfg: testutils.MockCfg{Responses: []mock.Response{
{
Response: http.Response{
StatusCode: 200,
Body: mock.NewByteBody(awsIoOptimisedTemplate),
},
Assert: &mock.RequestAssertion{
Method: "GET",
Header: api.DefaultReadMockHeaders,
Path: "/api/v1/deployments/templates/aws-io-optimized-v2",
Host: api.DefaultMockHost,
Query: url.Values{
"region": {"ece-region"},
"show_instance_configurations": {"true"},
"stack_version": {"8.11.3"},
},
},
},
{
Response: http.Response{
StatusCode: 201,
Body: mock.NewStructBody(defaultCreateResponse),
},
Assert: &mock.RequestAssertion{
Method: "POST",
Header: api.DefaultWriteMockHeaders,
Body: mock.NewStringBody(`{"name":"with_default","resources":{"apm":null,"appsearch":null,"elasticsearch":[{"plan":{"autoscaling_enabled":false,"cluster_topology":[{"id":"coordinating","instance_configuration_id":"aws.coordinating.m5d","node_roles":["ingest","remote_cluster_client"],"size":{"resource":"memory","value":0},"topology_element_control":{"min":{"resource":"memory","value":0}},"zone_count":2},{"autoscaling_max":{"resource":"memory","value":118784},"elasticsearch":{"node_attributes":{"data":"hot"}},"id":"hot_content","instance_configuration_id":"aws.data.highio.i3","node_roles":["master","ingest","remote_cluster_client","data_hot","transform","data_content"],"size":{"resource":"memory","value":8192},"topology_element_control":{"min":{"resource":"memory","value":1024}},"zone_count":2},{"autoscaling_max":{"resource":"memory","value":118784},"elasticsearch":{"node_attributes":{"data":"warm"}},"id":"warm","instance_configuration_id":"aws.data.highstorage.d3","node_roles":["data_warm","remote_cluster_client"],"size":{"resource":"memory","value":0},"topology_element_control":{"min":{"resource":"memory","value":0}},"zone_count":2},{"autoscaling_max":{"resource":"memory","value":59392},"elasticsearch":{"node_attributes":{"data":"cold"}},"id":"cold","instance_configuration_id":"aws.data.highstorage.d3","node_roles":["data_cold","remote_cluster_client"],"size":{"resource":"memory","value":0},"topology_element_control":{"min":{"resource":"memory","value":0}},"zone_count":1},{"id":"master","instance_configuration_id":"aws.master.r5d","node_roles":["master"],"size":{"resource":"memory","value":0},"topology_element_control":{"min":{"resource":"memory","value":0}},"zone_count":3},{"autoscaling_max":{"resource":"memory","value":61440},"autoscaling_min":{"resource":"memory","value":0},"id":"ml","instance_configuration_id":"aws.ml.m5d","node_roles":["ml","remote_cluster_client"],"size":{"resource":"memory","value":0},"topology_element_control":{"min":{"resource":"memory","value":0}},"zone_count":1}],"deployment_template":{"id":"aws-io-optimized-v2"},"elasticsearch":{"version":"8.11.3"}},"ref_id":"main-elasticsearch","region":"us-east-1","settings":{"dedicated_masters_threshold":6}}],"enterprise_search":[{"elasticsearch_cluster_ref_id":"main-elasticsearch","plan":{"cluster_topology":[{"instance_configuration_id":"aws.enterprisesearch.m5d","node_type":{"appserver":true,"connector":true,"worker":true},"size":{"resource":"memory","value":0},"zone_count":2}],"enterprise_search":{"version":"8.11.3"}},"ref_id":"main-enterprise_search","region":"us-east-1"}],"integrations_server":null,"kibana":[{"elasticsearch_cluster_ref_id":"main-elasticsearch","plan":{"cluster_topology":[{"instance_configuration_id":"aws.kibana.r5d","size":{"resource":"memory","value":1024},"zone_count":1}],"kibana":{"version":"8.11.3"}},"ref_id":"main-kibana","region":"us-east-1"}]}}` + "\n"),
Path: "/api/v1/deployments",
Host: api.DefaultMockHost,
Query: url.Values{
"request_id": {"some_request_id"},
},
},
},
}},
},
want: testutils.Assertion{
Stdout: string(defaultCreateResponseBytes),
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
Expand Down

0 comments on commit f3de702

Please sign in to comment.