Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions internal/certs/certs.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,9 @@ import (
"net"
"os"
"path/filepath"
"slices"
"strings"
"time"

"github.com/elastic/elastic-package/internal/common"
)

// Certificate contains the key and certificate for an issued certificate.
Expand Down Expand Up @@ -133,7 +132,7 @@ type Option func(template *x509.Certificate)
func WithName(name string) Option {
return func(template *x509.Certificate) {
template.Subject.CommonName = name
if !common.StringSliceContains(template.DNSNames, name) {
if !slices.Contains(template.DNSNames, name) {
template.DNSNames = append(template.DNSNames, name)
}
}
Expand Down
17 changes: 4 additions & 13 deletions internal/common/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package common

import (
"fmt"
"slices"
"strings"
)

Expand All @@ -16,22 +17,12 @@ func TrimStringSlice(slice []string) {
}
}

// StringSliceContains checks if the slice contains the given string.
func StringSliceContains(slice []string, s string) bool {
for i := range slice {
if slice[i] == s {
return true
}
}
return false
}

// StringSlicesUnion joins multiple slices and returns an slice with the distinct
// elements of all of them.
func StringSlicesUnion(slices ...[]string) (result []string) {
for _, slice := range slices {
func StringSlicesUnion(ss ...[]string) (result []string) {
for _, slice := range ss {
for _, elem := range slice {
if StringSliceContains(result, elem) {
if slices.Contains(result, elem) {
continue
}
result = append(result, elem)
Expand Down
21 changes: 0 additions & 21 deletions internal/common/helpers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,6 @@ func TestTrimStringSlice(t *testing.T) {
require.Equal(t, expected, strs)
}

func TestStringSliceContains(t *testing.T) {
cases := []struct {
slice []string
s string
expected bool
}{
{nil, "", false},
{nil, "foo", false},
{[]string{"foo"}, "foo", true},
{[]string{"foo", "bar"}, "foo", true},
{[]string{"foo", "bar"}, "bar", true},
{[]string{"foo", "bar"}, "foobar", false},
{[]string{"foo", "bar"}, "fo", false},
}

for _, c := range cases {
found := StringSliceContains(c.slice, c.s)
assert.Equalf(t, c.expected, found, "checking if slice %v contains '%s'", c.slice, c.s)
}
}

func TestStringSlicesUnion(t *testing.T) {
cases := []struct {
slices [][]string
Expand Down
4 changes: 2 additions & 2 deletions internal/dump/agentpolicies.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import (
"encoding/json"
"fmt"
"path/filepath"
"slices"

"github.com/elastic/elastic-package/internal/common"
"github.com/elastic/elastic-package/internal/kibana"
)

Expand Down Expand Up @@ -106,7 +106,7 @@ func (d *AgentPoliciesDumper) getAgentPoliciesFilteredByPackage(ctx context.Cont
}
if packageName != "" {
packageNames := getPackagesUsingAgentPolicy(policyPackages.PackagePolicies)
if !common.StringSliceContains(packageNames, packageName) {
if !slices.Contains(packageNames, packageName) {
continue
}
}
Expand Down
4 changes: 2 additions & 2 deletions internal/dump/indextemplates.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import (
"encoding/json"
"fmt"
"io"
"slices"

"github.com/elastic/elastic-package/internal/common"
"github.com/elastic/elastic-package/internal/elasticsearch"
)

Expand Down Expand Up @@ -111,5 +111,5 @@ func getIndexTemplatesForPackage(ctx context.Context, api *elasticsearch.API, pa

func managedByFleet(managedBy string) bool {
var managers = []string{"ingest-manager", "fleet"}
return common.StringSliceContains(managers, managedBy)
return slices.Contains(managers, managedBy)
}
6 changes: 3 additions & 3 deletions internal/dump/ingestpipelines.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import (
"encoding/json"
"fmt"
"io"
"slices"

"github.com/elastic/elastic-package/internal/common"
"github.com/elastic/elastic-package/internal/elasticsearch"
)

Expand Down Expand Up @@ -105,10 +105,10 @@ func pendingNestedPipelines(pipelines []IngestPipeline, collected []string) []st
continue
}
name := processor.Pipeline.Name
if common.StringSliceContains(collected, name) {
if slices.Contains(collected, name) {
continue
}
if common.StringSliceContains(names, name) {
if slices.Contains(names, name) {
continue
}
names = append(names, name)
Expand Down
8 changes: 4 additions & 4 deletions internal/dump/installedobjects.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (
"context"
"fmt"
"path/filepath"
"slices"

"github.com/elastic/elastic-package/internal/common"
"github.com/elastic/elastic-package/internal/elasticsearch"
)

Expand Down Expand Up @@ -137,7 +137,7 @@ func getComponentTemplatesFromIndexTemplates(indexTemplates []IndexTemplate) []s
continue
}
for _, ct := range composedOf {
if !common.StringSliceContains(templates, ct) {
if !slices.Contains(templates, ct) {
templates = append(templates, ct)
}
}
Expand Down Expand Up @@ -182,7 +182,7 @@ func getILMPoliciesFromTemplates(templates []TemplateWithSettings) []string {
var policies []string
for _, template := range templates {
name := template.TemplateSettings().Index.Lifecycle.Name
if name != "" && !common.StringSliceContains(policies, name) {
if name != "" && !slices.Contains(policies, name) {
policies = append(policies, name)
}
}
Expand Down Expand Up @@ -260,7 +260,7 @@ func getIngestPipelinesFromTemplates(templates []TemplateWithSettings) []string
if pipeline == "" {
continue
}
if common.StringSliceContains(pipelines, pipeline) {
if slices.Contains(pipelines, pipeline) {
continue
}
pipelines = append(pipelines, pipeline)
Expand Down
3 changes: 2 additions & 1 deletion internal/fields/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package fields

import (
"fmt"
"slices"
"strings"

"gopkg.in/yaml.v3"
Expand Down Expand Up @@ -211,7 +212,7 @@ func (avs AllowedValues) IsAllowed(value string) bool {
// No configured allowed values, any value is allowed.
return true
}
return common.StringSliceContains(avs.Values(), value)
return slices.Contains(avs.Values(), value)
}

// Values returns the list of allowed values.
Expand Down
5 changes: 3 additions & 2 deletions internal/fields/validate.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import (
"os"
"path/filepath"
"regexp"
"slices"
"sort"
"strings"

Expand Down Expand Up @@ -882,7 +883,7 @@ func ensureAllowedValues(key, value string, definition FieldDefinition) error {
if !definition.AllowedValues.IsAllowed(value) {
return fmt.Errorf("field %q's value %q is not one of the allowed values (%s)", key, value, strings.Join(definition.AllowedValues.Values(), ", "))
}
if e := definition.ExpectedValues; len(e) > 0 && !common.StringSliceContains(e, value) {
if e := definition.ExpectedValues; len(e) > 0 && !slices.Contains(e, value) {
return fmt.Errorf("field %q's value %q is not one of the expected values (%s)", key, value, strings.Join(e, ", "))
}
return nil
Expand All @@ -906,7 +907,7 @@ func ensureExpectedEventType(key string, values []string, definition FieldDefini
return nil
}
for _, eventType := range eventTypes {
if !common.StringSliceContains(expected, eventType) {
if !slices.Contains(expected, eventType) {
return fmt.Errorf("field \"event.type\" value %q is not one of the expected values (%s) for any of the values of %q (%s)", eventType, strings.Join(expected, ", "), key, strings.Join(values, ", "))
}
}
Expand Down
4 changes: 2 additions & 2 deletions internal/stack/serverless.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import (
"context"
"errors"
"fmt"
"slices"
"strings"
"time"

"github.com/elastic/elastic-package/internal/common"
"github.com/elastic/elastic-package/internal/compose"
"github.com/elastic/elastic-package/internal/docker"
"github.com/elastic/elastic-package/internal/elasticsearch"
Expand Down Expand Up @@ -229,7 +229,7 @@ func (sp *serverlessProvider) BootUp(options Options) error {
return err
}

if !common.StringSliceContains(allowedProjectTypes, settings.Type) {
if !slices.Contains(allowedProjectTypes, settings.Type) {
return fmt.Errorf("serverless project type not supported: %s", settings.Type)
}

Expand Down
3 changes: 2 additions & 1 deletion internal/testrunner/runners/system/runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"os"
"path/filepath"
"regexp"
"slices"
"strings"
"time"

Expand Down Expand Up @@ -949,7 +950,7 @@ func findPolicyTemplateForDataStream(pkg packages.PackageManifest, ds packages.D
}

// Does the policy_template apply to this data stream (when data streams are specified)?
if len(policyTemplate.DataStreams) > 0 && !common.StringSliceContains(policyTemplate.DataStreams, ds.Name) {
if len(policyTemplate.DataStreams) > 0 && !slices.Contains(policyTemplate.DataStreams, ds.Name) {
continue
}

Expand Down