Chore: Enable Go linter gocritic (#26224)

* Chore: Enable gocritic linter

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
Arve Knudsen
2020-07-16 14:39:01 +02:00
committed by GitHub
parent 317c7b269c
commit d4e4cb4c71
43 changed files with 184 additions and 171 deletions
+1 -1
View File
@@ -36,7 +36,7 @@ func (s *queryReducer) Reduce(series *tsdb.TimeSeries) null.Float {
}
}
if validPointsCount > 0 {
value = value / float64(validPointsCount)
value /= float64(validPointsCount)
}
case "sum":
for _, point := range series.Points {
+4 -3
View File
@@ -214,11 +214,12 @@ func (e *AlertEngine) processJob(attemptID int, attemptChan chan int, cancelChan
evalContext.Ctx = resultHandleCtx
evalContext.Rule.State = evalContext.GetNewState()
if err := e.resultHandler.handle(evalContext); err != nil {
if xerrors.Is(err, context.Canceled) {
switch {
case xerrors.Is(err, context.Canceled):
e.log.Debug("Result handler returned context.Canceled")
} else if xerrors.Is(err, context.DeadlineExceeded) {
case xerrors.Is(err, context.DeadlineExceeded):
e.log.Debug("Result handler returned context.DeadlineExceeded")
} else {
default:
e.log.Error("Failed to handle result", "err", err)
}
}
+1
View File
@@ -16,6 +16,7 @@ import (
)
// for stubbing in tests
//nolint: gocritic
var newImageUploaderProvider = func() (imguploader.ImageUploader, error) {
return imguploader.NewImageUploader()
}
+1 -1
View File
@@ -85,7 +85,7 @@ func (kn *KafkaNotifier) Notify(evalContext *alerting.EvalContext) error {
customData := triggMetrString
for _, evt := range evalContext.EvalMatches {
customData = customData + fmt.Sprintf("%s: %v\n", evt.Metric, evt.Value)
customData += fmt.Sprintf("%s: %v\n", evt.Metric, evt.Value)
}
kn.log.Info("Notifying Kafka", "alert_state", state)
+4 -6
View File
@@ -67,13 +67,11 @@ type LineNotifier struct {
// Notify send an alert notification to LINE
func (ln *LineNotifier) Notify(evalContext *alerting.EvalContext) error {
ln.log.Info("Executing line notification", "ruleId", evalContext.Rule.ID, "notification", ln.Name)
var err error
switch evalContext.Rule.State {
case models.AlertStateAlerting:
err = ln.createAlert(evalContext)
if evalContext.Rule.State == models.AlertStateAlerting {
return ln.createAlert(evalContext)
}
return err
return nil
}
func (ln *LineNotifier) createAlert(evalContext *alerting.EvalContext) error {
+1 -1
View File
@@ -142,7 +142,7 @@ func (on *OpsGenieNotifier) createAlert(evalContext *alerting.EvalContext) error
customData := triggMetrString
for _, evt := range evalContext.EvalMatches {
customData = customData + fmt.Sprintf("%s: %v\n", evt.Metric, evt.Value)
customData += fmt.Sprintf("%s: %v\n", evt.Metric, evt.Value)
}
bodyJSON := simplejson.New()
+4 -3
View File
@@ -130,11 +130,12 @@ func (sn *SensuNotifier) Notify(evalContext *alerting.EvalContext) error {
bodyJSON.Set("output", "Grafana Metric Condition Met")
bodyJSON.Set("evalMatches", evalContext.EvalMatches)
if evalContext.Rule.State == "alerting" {
switch evalContext.Rule.State {
case "alerting":
bodyJSON.Set("status", 2)
} else if evalContext.Rule.State == "no_data" {
case "no_data":
bodyJSON.Set("status", 1)
} else {
default:
bodyJSON.Set("status", 0)
}
+3 -3
View File
@@ -125,16 +125,16 @@ func (tn *TelegramNotifier) buildMessageLinkedImage(evalContext *alerting.EvalCo
ruleURL, err := evalContext.GetRuleURL()
if err == nil {
message = message + fmt.Sprintf("URL: %s\n", ruleURL)
message += fmt.Sprintf("URL: %s\n", ruleURL)
}
if evalContext.ImagePublicURL != "" {
message = message + fmt.Sprintf("Image: %s\n", evalContext.ImagePublicURL)
message += fmt.Sprintf("Image: %s\n", evalContext.ImagePublicURL)
}
metrics := generateMetricsMessage(evalContext)
if metrics != "" {
message = message + fmt.Sprintf("\n<i>Metrics:</i>%s", metrics)
message += fmt.Sprintf("\n<i>Metrics:</i>%s", metrics)
}
return tn.generateTelegramCmd(message, "text", "sendMessage", func(w *multipart.Writer) {
+2 -2
View File
@@ -177,10 +177,10 @@ func (notifier *ThreemaNotifier) Notify(evalContext *alerting.EvalContext) error
evalContext.Rule.Name, evalContext.Rule.Message)
ruleURL, err := evalContext.GetRuleURL()
if err == nil {
message = message + fmt.Sprintf("*URL:* %s\n", ruleURL)
message += fmt.Sprintf("*URL:* %s\n", ruleURL)
}
if notifier.NeedsImage() && evalContext.ImagePublicURL != "" {
message = message + fmt.Sprintf("*Image:* %s\n", evalContext.ImagePublicURL)
message += fmt.Sprintf("*Image:* %s\n", evalContext.ImagePublicURL)
}
data.Set("text", message)
+4 -3
View File
@@ -100,11 +100,12 @@ func (handler *defaultResultHandler) handle(evalContext *EvalContext) error {
}
if err := handler.notifier.SendIfNeeded(evalContext); err != nil {
if xerrors.Is(err, context.Canceled) {
switch {
case xerrors.Is(err, context.Canceled):
handler.log.Debug("handler.notifier.SendIfNeeded returned context.Canceled")
} else if xerrors.Is(err, context.DeadlineExceeded) {
case xerrors.Is(err, context.DeadlineExceeded):
handler.log.Debug("handler.notifier.SendIfNeeded returned context.DeadlineExceeded")
} else {
default:
handler.log.Error("handler.notifier.SendIfNeeded failed", "err", err)
}
}
+1 -1
View File
@@ -89,7 +89,7 @@ func getTimeDurationStringToSeconds(str string) (int64, error) {
matches := valueFormatRegex.FindAllString(str, 1)
if len(matches) <= 0 {
if len(matches) == 0 {
return 0, ErrFrequencyCouldNotBeParsed
}
+1 -1
View File
@@ -190,7 +190,7 @@ func (f permissionFlags) String() string {
r = append(r, "<no access>")
}
return strings.Join(r[:], ", ")
return strings.Join(r, ", ")
}
func (sc *scenarioContext) reportSuccess() {
+5 -4
View File
@@ -173,11 +173,12 @@ func (server *Server) Login(query *models.LoginUserQuery) (
var authAndBind bool
// Check if we can use a search user
if server.shouldAdminBind() {
switch {
case server.shouldAdminBind():
if err := server.AdminBind(); err != nil {
return nil, err
}
} else if server.shouldSingleBind() {
case server.shouldSingleBind():
authAndBind = true
err = server.UserBind(
server.singleBindDN(query.Username),
@@ -186,7 +187,7 @@ func (server *Server) Login(query *models.LoginUserQuery) (
if err != nil {
return nil, err
}
} else {
default:
err := server.Connection.UnauthenticatedBind(server.Config.BindDN)
if err != nil {
return nil, err
@@ -368,7 +369,7 @@ func (server *Server) getSearchRequest(
-1,
)
search = search + query
search += query
}
filter := fmt.Sprintf("(|%s)", search)
+4 -3
View File
@@ -54,13 +54,14 @@ func TestLDAPHelpers(t *testing.T) {
result := getUsersIteration(logins, func(previous, current int) error {
i++
if i == 1 {
switch i {
case 1:
So(previous, ShouldEqual, 0)
So(current, ShouldEqual, 500)
} else if i == 2 {
case 2:
So(previous, ShouldEqual, 500)
So(current, ShouldEqual, 1000)
} else {
default:
So(previous, ShouldEqual, 1000)
So(current, ShouldEqual, 1500)
}
+4 -4
View File
@@ -469,13 +469,13 @@ type mockLDAP struct {
// Login test fn
func (mock *mockLDAP) Login(*models.LoginUserQuery) (*models.ExternalUserInfo, error) {
mock.loginCalledTimes = mock.loginCalledTimes + 1
mock.loginCalledTimes++
return mock.loginReturn, mock.loginErrReturn
}
// Users test fn
func (mock *mockLDAP) Users([]string) ([]*models.ExternalUserInfo, error) {
mock.usersCalledTimes = mock.usersCalledTimes + 1
mock.usersCalledTimes++
if mock.usersCalledTimes == 1 {
return mock.usersFirstReturn, mock.usersErrReturn
@@ -491,13 +491,13 @@ func (mock *mockLDAP) UserBind(string, string) error {
// Dial test fn
func (mock *mockLDAP) Dial() error {
mock.dialCalledTimes = mock.dialCalledTimes + 1
mock.dialCalledTimes++
return mock.dialErrReturn
}
// Close test fn
func (mock *mockLDAP) Close() {
mock.closeCalledTimes = mock.closeCalledTimes + 1
mock.closeCalledTimes++
}
func (mock *mockLDAP) Bind() error {
@@ -99,7 +99,7 @@ func validateDefaultUniqueness(datasources []*configs) error {
}
if ds.IsDefault {
defaultCount[ds.OrgID] = defaultCount[ds.OrgID] + 1
defaultCount[ds.OrgID]++
if defaultCount[ds.OrgID] > 1 {
return ErrInvalidConfigToManyDefault
}
+19 -14
View File
@@ -59,13 +59,14 @@ func (rs *RenderingService) Init() error {
}
// set value used for domain attribute of renderKey cookie
if rs.Cfg.RendererUrl != "" {
switch {
case rs.Cfg.RendererUrl != "":
// RendererCallbackUrl has already been passed, it won't generate an error.
u, _ := url.Parse(rs.Cfg.RendererCallbackUrl)
rs.domain = u.Hostname()
} else if setting.HttpAddr != setting.DEFAULT_HTTP_ADDR {
case setting.HttpAddr != setting.DEFAULT_HTTP_ADDR:
rs.domain = setting.HttpAddr
} else {
default:
rs.domain = "localhost"
}
@@ -132,19 +133,23 @@ func (rs *RenderingService) renderUnavailableImage() *RenderResult {
func (rs *RenderingService) Render(ctx context.Context, opts Opts) (*RenderResult, error) {
startTime := time.Now()
result, err := rs.render(ctx, opts)
elapsedTime := time.Since(startTime).Milliseconds()
if err == ErrTimeout {
metrics.MRenderingRequestTotal.WithLabelValues("timeout").Inc()
metrics.MRenderingSummary.WithLabelValues("timeout").Observe(float64(elapsedTime))
} else if err != nil {
metrics.MRenderingRequestTotal.WithLabelValues("failure").Inc()
metrics.MRenderingSummary.WithLabelValues("failure").Observe(float64(elapsedTime))
} else {
metrics.MRenderingRequestTotal.WithLabelValues("success").Inc()
metrics.MRenderingSummary.WithLabelValues("success").Observe(float64(elapsedTime))
result, err := rs.render(ctx, opts)
if err != nil {
if err == ErrTimeout {
metrics.MRenderingRequestTotal.WithLabelValues("timeout").Inc()
metrics.MRenderingSummary.WithLabelValues("timeout").Observe(float64(elapsedTime))
} else {
metrics.MRenderingRequestTotal.WithLabelValues("failure").Inc()
metrics.MRenderingSummary.WithLabelValues("failure").Observe(float64(elapsedTime))
}
return nil, err
}
return result, err
metrics.MRenderingRequestTotal.WithLabelValues("success").Inc()
metrics.MRenderingSummary.WithLabelValues("success").Observe(float64(elapsedTime))
return result, nil
}
func (rs *RenderingService) render(ctx context.Context, opts Opts) (*RenderResult, error) {
+4 -3
View File
@@ -102,11 +102,12 @@ func SearchDashboardSnapshots(query *models.GetDashboardSnapshotsQuery) error {
}
// admins can see all snapshots, everyone else can only see their own snapshots
if query.SignedInUser.OrgRole == models.ROLE_ADMIN {
switch {
case query.SignedInUser.OrgRole == models.ROLE_ADMIN:
sess.Where("org_id = ?", query.OrgId)
} else if !query.SignedInUser.IsAnonymous {
case !query.SignedInUser.IsAnonymous:
sess.Where("org_id = ? AND user_id = ?", query.OrgId, query.SignedInUser.UserId)
} else {
default:
query.Result = snapshots
return nil
}
+4 -2
View File
@@ -116,7 +116,8 @@ func UpdateOrgQuota(cmd *models.UpdateOrgQuotaCmd) error {
}
} else {
//update existing quota entry in the DB.
if _, err := sess.ID(quota.Id).Update(&quota); err != nil {
_, err := sess.ID(quota.Id).Update(&quota)
if err != nil {
return err
}
}
@@ -218,7 +219,8 @@ func UpdateUserQuota(cmd *models.UpdateUserQuotaCmd) error {
}
} else {
//update existing quota entry in the DB.
if _, err := sess.ID(quota.Id).Update(&quota); err != nil {
_, err := sess.ID(quota.Id).Update(&quota)
if err != nil {
return err
}
}
+6 -3
View File
@@ -8,12 +8,15 @@ func EnsureTagsExist(sess *DBSession, tags []*models.Tag) ([]*models.Tag, error)
var existingTag models.Tag
// check if it exists
if exists, err := sess.Table("tag").Where("`key`=? AND `value`=?", tag.Key, tag.Value).Get(&existingTag); err != nil {
exists, err := sess.Table("tag").Where("`key`=? AND `value`=?", tag.Key, tag.Value).Get(&existingTag)
if err != nil {
return nil, err
} else if exists {
}
if exists {
tag.Id = existingTag.Id
} else {
if _, err := sess.Table("tag").Insert(tag); err != nil {
_, err := sess.Table("tag").Insert(tag)
if err != nil {
return nil, err
}
}
+4 -3
View File
@@ -395,11 +395,12 @@ func GetSignedInUser(query *models.GetSignedInUserQuery) error {
LEFT OUTER JOIN org on org.id = org_user.org_id `
sess := x.Table("user")
if query.UserId > 0 {
switch {
case query.UserId > 0:
sess.SQL(rawSql+"WHERE u.id=?", query.UserId)
} else if query.Login != "" {
case query.Login != "":
sess.SQL(rawSql+"WHERE u.login=?", query.Login)
} else if query.Email != "" {
case query.Email != "":
sess.SQL(rawSql+"WHERE u.email=?", query.Email)
}