chore: sql mock expectation added
This commit is contained in:
@@ -112,6 +112,17 @@ func (m *MockSQLRuleStore) ExpectGetStoredRules(orgID string, rules []*ruletypes
|
||||
WillReturnRows(rows)
|
||||
}
|
||||
|
||||
// ExpectGetStoredRulesByMetricName sets up SQL expectations for GetStoredRulesByMetricName operation
|
||||
func (m *MockSQLRuleStore) ExpectGetStoredRulesByMetricName(orgID string, metricName string, rules []*ruletypes.Rule) {
|
||||
rows := sqlmock.NewRows([]string{"id", "created_at", "updated_at", "created_by", "updated_by", "deleted", "data", "org_id"})
|
||||
for _, rule := range rules {
|
||||
rows.AddRow(rule.ID, rule.CreatedAt, rule.UpdatedAt, rule.CreatedBy, rule.UpdatedBy, rule.Deleted, rule.Data, rule.OrgID)
|
||||
}
|
||||
expectedPattern := `SELECT (.+) FROM "rule".+WHERE \(.+org_id.+'` + orgID + `'\)`
|
||||
m.mock.ExpectQuery(expectedPattern).
|
||||
WillReturnRows(rows)
|
||||
}
|
||||
|
||||
// AssertExpectations asserts that all SQL expectations were met
|
||||
func (m *MockSQLRuleStore) AssertExpectations() error {
|
||||
return m.mock.ExpectationsWereMet()
|
||||
|
||||
@@ -132,9 +132,7 @@ func (r *rule) GetStoredRulesByMetricName(ctx context.Context, orgID string, met
|
||||
for _, storedRule := range storedRules {
|
||||
var ruleData ruletypes.PostableRule
|
||||
if err := json.Unmarshal([]byte(storedRule.Data), &ruleData); err != nil {
|
||||
if r.logger != nil {
|
||||
r.logger.WarnContext(ctx, "failed to unmarshal rule data", "rule_id", storedRule.ID.StringValue(), "error", err)
|
||||
}
|
||||
r.logger.WarnContext(ctx, "failed to unmarshal rule data", "rule_id", storedRule.ID.StringValue(), "error", err)
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -166,14 +164,9 @@ func (r *rule) GetStoredRulesByMetricName(ctx context.Context, orgID string, met
|
||||
}
|
||||
case qbtypes.QueryTypePromQL:
|
||||
if spec, ok := queryEnvelope.Spec.(qbtypes.PromQuery); ok {
|
||||
if r.queryParser == nil {
|
||||
continue
|
||||
}
|
||||
result, err := r.queryParser.AnalyzeQueryFilter(ctx, qbtypes.QueryTypePromQL, spec.Query)
|
||||
if err != nil {
|
||||
if r.logger != nil {
|
||||
r.logger.DebugContext(ctx, "failed to parse PromQL query", "query", spec.Query, "error", err)
|
||||
}
|
||||
r.logger.WarnContext(ctx, "failed to parse PromQL query", "query", spec.Query, "error", err)
|
||||
continue
|
||||
}
|
||||
if slices.Contains(result.MetricNames, metricName) {
|
||||
@@ -183,14 +176,9 @@ func (r *rule) GetStoredRulesByMetricName(ctx context.Context, orgID string, met
|
||||
}
|
||||
case qbtypes.QueryTypeClickHouseSQL:
|
||||
if spec, ok := queryEnvelope.Spec.(qbtypes.ClickHouseQuery); ok {
|
||||
if r.queryParser == nil {
|
||||
continue
|
||||
}
|
||||
result, err := r.queryParser.AnalyzeQueryFilter(ctx, qbtypes.QueryTypeClickHouseSQL, spec.Query)
|
||||
if err != nil {
|
||||
if r.logger != nil {
|
||||
r.logger.DebugContext(ctx, "failed to parse ClickHouse query", "query", spec.Query, "error", err)
|
||||
}
|
||||
r.logger.WarnContext(ctx, "failed to parse ClickHouse query", "query", spec.Query, "error", err)
|
||||
continue
|
||||
}
|
||||
if slices.Contains(result.MetricNames, metricName) {
|
||||
|
||||
Reference in New Issue
Block a user