From 08924fa54918e75f85af75fd7d7d10e7b25e6ee5 Mon Sep 17 00:00:00 2001 From: Anderson Queiroz Date: Wed, 30 Oct 2024 10:43:11 +0100 Subject: [PATCH] add tests --- kibana/fleet.go | 24 +++++++-------- kibana/fleet_integration_test.go | 51 ++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 12 deletions(-) diff --git a/kibana/fleet.go b/kibana/fleet.go index 45e9e04..870c2af 100644 --- a/kibana/fleet.go +++ b/kibana/fleet.go @@ -585,6 +585,7 @@ func (client *Client) GetFleetServerHost(ctx context.Context, request GetFleetSe // Fleet Package Policy // +// PackagePolicyRequest // https://www.elastic.co/guide/en/fleet/8.8/fleet-apis.html#createPackagePolicy // request https://www.elastic.co/guide/en/fleet/8.8/fleet-apis.html#package_policy_request type PackagePolicyRequest struct { @@ -603,11 +604,13 @@ type PackagePolicyRequestPackage struct { Version string `json:"version"` } +// PackagePolicyResponse // https://www.elastic.co/guide/en/fleet/8.8/fleet-apis.html#create_package_policy_200_response type PackagePolicyResponse struct { Item PackagePolicy `json:"item"` } +// PackagePolicy // https://www.elastic.co/guide/en/fleet/8.8/fleet-apis.html#package_policy type PackagePolicy struct { ID string `json:"id,omitempty"` @@ -622,6 +625,7 @@ type PackagePolicy struct { Description string `json:"description"` } +// DeletePackagePolicyResponse // https://www.elastic.co/guide/en/fleet/8.8/fleet-apis.html#delete_package_policy_200_response type DeletePackagePolicyResponse struct { ID string `json:"id"` @@ -694,18 +698,14 @@ type ProxiesRequest struct { type ProxiesResponse struct { Item struct { - Certificate string `json:"certificate"` - CertificateAuthorities string `json:"certificate_authorities"` - CertificateKey string `json:"certificate_key"` - ID string `json:"id"` - IsPreconfigured bool `json:"is_preconfigured"` - Name string `json:"name"` - ProxyHeaders struct { - AdditionalProp1 string `json:"additionalProp1"` - AdditionalProp2 string `json:"additionalProp2"` - AdditionalProp3 string `json:"additionalProp3"` - } `json:"proxy_headers"` - URL string `json:"url"` + Certificate string `json:"certificate"` + CertificateAuthorities string `json:"certificate_authorities"` + CertificateKey string `json:"certificate_key"` + ID string `json:"id"` + IsPreconfigured bool `json:"is_preconfigured"` + Name string `json:"name"` + ProxyHeaders map[string]string `json:"proxy_headers"` + URL string `json:"url"` } `json:"item"` } diff --git a/kibana/fleet_integration_test.go b/kibana/fleet_integration_test.go index 2343591..2e64a50 100644 --- a/kibana/fleet_integration_test.go +++ b/kibana/fleet_integration_test.go @@ -417,6 +417,57 @@ func TestListFleetServerHosts(t *testing.T) { require.NotEmpty(t, resp.Items) } +func TestNewFleetServerHosts(t *testing.T) { + cfg := mustGetEnv(t) + ctx, cn := context.WithCancel(context.Background()) + defer cn() + + client, err := NewClientWithConfig(&cfg, "", "", "", "") + require.NoError(t, err) + + id := uuid.Must(uuid.NewV4()).String() + req := ListFleetServerHostsRequest{ + ID: "NewFleetServerHosts" + id, + Name: "NewFleetServerHosts" + id, + HostURLs: []string{"https://fleet.elastic.co"}, + IsDefault: false, + } + got, err := client.NewFleetServerHosts(ctx, req) + require.NoError(t, err, "error creating new fleet host") + + require.Equal(t, req.ID, got.Item.ID) + require.Equal(t, req.HostURLs, got.Item.HostUrls) +} + +func TestCreateFleetProxy(t *testing.T) { + cfg := mustGetEnv(t) + ctx, cn := context.WithCancel(context.Background()) + defer cn() + + client, err := NewClientWithConfig(&cfg, "", "", "", "") + require.NoError(t, err) + + id := uuid.Must(uuid.NewV4()).String() + req := ProxiesRequest{ + ID: "NewFleetServerHosts" + id, + Name: "NewFleetServerHosts" + id, + URL: "https://proxy.elastic.co", + CertificateAuthorities: "some CA", + Certificate: "some certificate", + CertificateKey: "some certificate key", + IsPreconfigured: true, + ProxyHeaders: map[string]string{ + "h1": "v1", + "h2": "v2", + }, + } + got, err := client.CreateFleetProxy(ctx, req) + require.NoError(t, err, "error creating new fleet host") + + require.Equal(t, req.ID, got.Item.ID) + require.Equal(t, req, got.Item) +} + func TestGetFleetServerHost(t *testing.T) { cfg := mustGetEnv(t)