Skip to content

Commit

Permalink
chore: cleanup ErrorMessage
Browse files Browse the repository at this point in the history
  • Loading branch information
adityathebe committed Apr 29, 2024
1 parent 3dbd73a commit 2380288
Show file tree
Hide file tree
Showing 22 changed files with 63 additions and 80 deletions.
2 changes: 1 addition & 1 deletion checks/alertmanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ func (c *AlertManagerChecker) Check(ctx *context.Context, extConfig external.Che
Filter: filters,
})
if err != nil {
results.ErrorMessage(fmt.Errorf("Error fetching from alertmanager: %v", err))
results.Errorf("error fetching from alertmanager: %v", err)
return results
}

Expand Down
6 changes: 3 additions & 3 deletions checks/aws_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func (c *AwsConfigChecker) Check(ctx *context.Context, extConfig external.Check)

cfg, err := awsUtil.NewSession(ctx.Context, *check.AWSConnection)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

client := configservice.NewFromConfig(*cfg)
Expand All @@ -56,15 +56,15 @@ func (c *AwsConfigChecker) Check(ctx *context.Context, extConfig external.Check)
Expression: &check.Query,
})
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
result.AddDetails(output.Results)
} else {
output, err := client.SelectResourceConfig(ctx, &configservice.SelectResourceConfigInput{
Expression: &check.Query,
})
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
result.AddDetails(output.Results)
}
Expand Down
10 changes: 5 additions & 5 deletions checks/azure_devops.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ func (t *AzureDevopsChecker) check(ctx *context.Context, check v1.AzureDevopsChe
connection := azuredevops.NewPatConnection(fmt.Sprintf("https://dev.azure.com/%s", check.Organization), c.Password)
coreClient, err := core.NewClient(ctx, connection)
if err != nil {
return results.ErrorMessage(fmt.Errorf("failed to create core client: %w", err))
return results.Errorf("failed to create core client: %w", err)

Check failure on line 54 in checks/azure_devops.go

View workflow job for this annotation

GitHub Actions / lint

printf: (github.com/flanksource/canary-checker/pkg.Results).Errorf does not support error-wrapping directive %w (govet)
}

project, err := coreClient.GetProject(ctx, core.GetProjectArgs{ProjectId: &check.Project})
if err != nil {
return results.ErrorMessage(fmt.Errorf("failed to get project (name=%s): %w", check.Project, err))
return results.Errorf("failed to get project (name=%s): %w", check.Project, err)

Check failure on line 59 in checks/azure_devops.go

View workflow job for this annotation

GitHub Actions / lint

printf: (github.com/flanksource/canary-checker/pkg.Results).Errorf does not support error-wrapping directive %w (govet)
}
projectID := project.Id.String()

Expand All @@ -68,7 +68,7 @@ func (t *AzureDevopsChecker) check(ctx *context.Context, check v1.AzureDevopsChe
pipelineClient := pipelines.NewClient(ctx, connection)
allPipelines, err := pipelineClient.ListPipelines(ctx, pipelines.ListPipelinesArgs{Project: &projectID})
if err != nil {
return results.ErrorMessage(fmt.Errorf("failed to get pipeline (project=%s): %w", check.Project, err))
return results.Errorf("failed to get pipeline (project=%s): %w", check.Project, err)

Check failure on line 71 in checks/azure_devops.go

View workflow job for this annotation

GitHub Actions / lint

printf: (github.com/flanksource/canary-checker/pkg.Results).Errorf does not support error-wrapping directive %w (govet)
}

for _, pipeline := range *allPipelines {
Expand All @@ -89,7 +89,7 @@ func (t *AzureDevopsChecker) check(ctx *context.Context, check v1.AzureDevopsChe
// https://learn.microsoft.com/en-us/rest/api/azure/devops/pipelines/runs/list?view=azure-devops-rest-7.1
runs, err := pipelineClient.ListRuns(ctx, pipelines.ListRunsArgs{PipelineId: pipeline.Id, Project: &projectID})
if err != nil {
return results.ErrorMessage(fmt.Errorf("failed to get runs (pipeline=%s): %w", check.Pipeline, err))
return results.Errorf("failed to get runs (pipeline=%s): %w", check.Pipeline, err)
}

latestRun := getLatestCompletedRun(*runs)
Expand All @@ -105,7 +105,7 @@ func (t *AzureDevopsChecker) check(ctx *context.Context, check v1.AzureDevopsChe
// because the ListRuns API doesn't return Resources.
latestRun, err = pipelineClient.GetRun(ctx, pipelines.GetRunArgs{Project: &projectID, PipelineId: pipeline.Id, RunId: (*runs)[0].Id})
if err != nil {
return results.ErrorMessage(fmt.Errorf("failed to get run (pipeline=%s): %w", check.Pipeline, err))
return results.Errorf("failed to get run (pipeline=%s): %w", check.Pipeline, err)
}

if !matchBranchNames(check.Branches, latestRun.Resources) {
Expand Down
6 changes: 3 additions & 3 deletions checks/cloudwatch.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ func (c *CloudWatchChecker) Check(ctx *context.Context, extConfig external.Check

cfg, err := awsUtil.NewSession(ctx.Context, check.AWSConnection)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
client := cloudwatch.NewFromConfig(*cfg)
maxRecords := int32(100)
Expand All @@ -56,10 +56,10 @@ func (c *CloudWatchChecker) Check(ctx *context.Context, extConfig external.Check
MaxRecords: &maxRecords,
})
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
if o, err := unstructure(alarms); err != nil {
return results.ErrorMessage(err)
return results.Error(err)
} else {
result.AddDetails(o)
}
Expand Down
3 changes: 1 addition & 2 deletions checks/database_backup.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package checks

import (
"github.com/pkg/errors"
"github.com/prometheus/client_golang/prometheus"

"github.com/flanksource/canary-checker/api/context"
Expand Down Expand Up @@ -60,5 +59,5 @@ func FailDatabaseBackupParse(ctx *context.Context, check v1.DatabaseBackupCheck)
result := pkg.Fail(check, ctx.Canary)
var results pkg.Results
results = append(results, result)
return results.ErrorMessage(errors.New("Could not parse databaseBackup input"))
return results.Errorf("Could not parse databaseBackup input")
}
7 changes: 3 additions & 4 deletions checks/database_backup_gcp.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package checks

import (
"errors"
"fmt"
"strings"
"time"
Expand Down Expand Up @@ -36,15 +35,15 @@ func GCPDatabaseBackupCheck(ctx *context.Context, check v1.DatabaseBackupCheck)
svc, err := gcp.NewSQLAdmin(ctx.Context, check.GCP.GCPConnection)
if err != nil {
databaseScanFailCount.WithLabelValues(check.GCP.Project, check.GCP.Instance).Inc()
return results.ErrorMessage(err)
return results.Error(err)
}

// Only checking one backup for now, but setting up the logic that this could maybe be configurable.
// Would need some extra parsing on the age to select latest
backupList, err := svc.BackupRuns.List(check.GCP.Project, check.GCP.Instance).MaxResults(1).Do()
if err != nil {
databaseScanFailCount.WithLabelValues(check.GCP.Project, check.GCP.Instance).Inc()
return results.ErrorMessage(err)
return results.Error(err)
}
var errorMessages []string
for _, backup := range backupList.Items {
Expand Down Expand Up @@ -103,7 +102,7 @@ func GCPDatabaseBackupCheck(ctx *context.Context, check v1.DatabaseBackupCheck)
}
if len(errorMessages) > 0 {
databaseScanFailCount.WithLabelValues(check.GCP.Project, check.GCP.Instance).Inc()
return results.ErrorMessage(errors.New(strings.Join(errorMessages, ", ")))
return results.Errorf(strings.Join(errorMessages, ", "))
}

backupRaw, err := backupList.Items[0].MarshalJSON()
Expand Down
17 changes: 6 additions & 11 deletions checks/elasticsearch.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package checks

import (
"encoding/json"
"fmt"
"strings"

"github.com/flanksource/canary-checker/api/context"
Expand Down Expand Up @@ -47,7 +46,7 @@ func (c *ElasticsearchChecker) Check(ctx *context.Context, extConfig external.Ch

es, err := elasticsearch.NewClient(cfg)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

body := strings.NewReader(check.Query)
Expand All @@ -58,21 +57,19 @@ func (c *ElasticsearchChecker) Check(ctx *context.Context, extConfig external.Ch
)

if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

if res.IsError() {
var e map[string]any
if err := json.NewDecoder(res.Body).Decode(&e); err != nil {
return results.ErrorMessage(
fmt.Errorf("Error parsing the response body: %s", err),
)
return results.Errorf("error parsing the response body: %s", err)
} else {
return results.ErrorMessage(fmt.Errorf("Error from elasticsearch [%s]: %v, %v",
return results.Errorf("error from elasticsearch [%s]: %v, %v",
res.Status(),
e["error"].(map[string]any)["type"],
e["error"].(map[string]any)["reason"],
))
)
}
}

Expand All @@ -81,9 +78,7 @@ func (c *ElasticsearchChecker) Check(ctx *context.Context, extConfig external.Ch
defer res.Body.Close()
var r map[string]any
if err := json.NewDecoder(res.Body).Decode(&r); err != nil {
return results.ErrorMessage(
fmt.Errorf("Error parsing the response body: %s", err),
)
return results.Errorf("Error parsing the response body: %s", err)
}

count := int(r["hits"].(map[string]any)["total"].(map[string]any)["value"].(float64))
Expand Down
4 changes: 2 additions & 2 deletions checks/exec.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ func (c *ExecChecker) Check(ctx *context.Context, extConfig external.Check) pkg.

env, err := c.prepareEnvironment(ctx, check)
if err != nil {
return results.Invalidf(err.Error())
return results.Error(err)
}

switch runtime.GOOS {
Expand Down Expand Up @@ -175,7 +175,7 @@ func execBash(ctx *context.Context, check v1.ExecCheck, envParams *execEnv) pkg.
}

if err := setupConnection(ctx, check, cmd); err != nil {
return results.Invalidf("failed to setup connection: %v", err)
return results.Errorf("failed to setup connection: %v", err)
}

return checkCmd(ctx, check, cmd, result)
Expand Down
4 changes: 2 additions & 2 deletions checks/folder.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,14 @@ func checkLocalFolder(ctx *context.Context, check v1.FolderCheck) pkg.Results {
// Form a dummy connection to get a local filesystem
localFS, err := artifacts.GetFSForConnection(ctx.Context, models.Connection{Type: models.ConnectionTypeFolder})
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

folders, err := genericFolderCheck(localFS, check.Path, check.Recursive, check.Filter)
result.AddDetails(folders)

if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

if test := folders.Test(check.FolderTest); test != "" {
Expand Down
7 changes: 3 additions & 4 deletions checks/folder_gcs.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package checks

import (
"errors"
"strings"

gcs "cloud.google.com/go/storage"
Expand All @@ -23,7 +22,7 @@ func CheckGCSBucket(ctx *context.Context, check v1.FolderCheck) pkg.Results {
results = append(results, result)

if check.GCSConnection == nil {
return results.ErrorMessage(errors.New("missing GCS connection"))
return results.Errorf("missing GCS connection")
}

var bucket string
Expand All @@ -46,12 +45,12 @@ func CheckGCSBucket(ctx *context.Context, check v1.FolderCheck) pkg.Results {

fs, err := artifacts.GetFSForConnection(ctx.Context, *connection)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

folders, err := genericFolderCheckWithoutPrecheck(fs, check.Path, check.Recursive, check.Filter)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
result.AddDetails(folders)

Expand Down
7 changes: 3 additions & 4 deletions checks/folder_s3.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
package checks

import (
"errors"
"strings"

"github.com/aws/aws-sdk-go-v2/service/s3"
Expand All @@ -25,7 +24,7 @@ func CheckS3Bucket(ctx *context.Context, check v1.FolderCheck) pkg.Results {
results = append(results, result)

if check.S3Connection == nil {
return results.ErrorMessage(errors.New("missing AWS connection"))
return results.Errorf("missing AWS connection")
}

var bucket string
Expand All @@ -48,12 +47,12 @@ func CheckS3Bucket(ctx *context.Context, check v1.FolderCheck) pkg.Results {

fs, err := artifacts.GetFSForConnection(ctx.Context, *connection)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

folders, err := genericFolderCheckWithoutPrecheck(fs, check.Path, check.Recursive, check.Filter)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
result.AddDetails(folders)

Expand Down
6 changes: 3 additions & 3 deletions checks/folder_sftp.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@ func CheckSFTP(ctx *context.Context, check v1.FolderCheck) pkg.Results {
if !foundConn {
auth, err = ctx.GetAuthValues(check.SFTPConnection.Authentication)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
}

client, err := sftp.SSHConnect(fmt.Sprintf("%s:%d", check.SFTPConnection.Host, check.SFTPConnection.GetPort()), auth.GetUsername(), auth.GetPassword())
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
defer client.Close()

session := artifacts.Filesystem(client)
folders, err := genericFolderCheck(session, check.Path, check.Recursive, check.Filter)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
result.AddDetails(folders)

Expand Down
8 changes: 4 additions & 4 deletions checks/folder_smb.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ func CheckSmb(ctx *context.Context, check v1.FolderCheck) pkg.Results {
var serverPath = strings.TrimPrefix(check.Path, "smb://")
server, sharename, path, err := extractServerDetails(serverPath)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

foundConn, err := check.SMBConnection.HydrateConnection(ctx)
Expand All @@ -30,21 +30,21 @@ func CheckSmb(ctx *context.Context, check v1.FolderCheck) pkg.Results {
if !foundConn {
auth, err = ctx.GetAuthValues(check.SMBConnection.Authentication)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
}

session, err := smb.SMBConnect(server, fmt.Sprintf("%d", check.SMBConnection.GetPort()), sharename, auth)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
if session != nil {
defer session.Close()
}

folders, err := genericFolderCheck(session, path, check.Recursive, check.Filter)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

var totalBlockCount, freeBlockCount, blockSize int // TODO:
Expand Down
8 changes: 4 additions & 4 deletions checks/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,20 +174,20 @@ func (c *HTTPChecker) Check(ctx *context.Context, check v1.HTTPCheck) pkg.Result

request, err := c.generateHTTPRequest(ctx, check, connection)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

if body != "" {
if err := request.Body(body); err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
}

start := time.Now()

response, err := request.Do(check.GetMethod(), connection.URL)
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}

elapsed := time.Since(start)
Expand Down Expand Up @@ -219,7 +219,7 @@ func (c *HTTPChecker) Check(ctx *context.Context, check v1.HTTPCheck) pkg.Result

responseBody, err := response.AsString()
if err != nil {
return results.ErrorMessage(err)
return results.Error(err)
}
data["content"] = responseBody

Expand Down
Loading

0 comments on commit 2380288

Please sign in to comment.