Skip to content

Commit

Permalink
fix(tests): Fix db mock usages
Browse files Browse the repository at this point in the history
  • Loading branch information
kodmi committed Mar 13, 2020
1 parent 134a33e commit 8019364
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 42 deletions.
1 change: 1 addition & 0 deletions filter/patterns_storage_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ func TestProcessIncomingMetric(t *testing.T) {

mockCtrl := gomock.NewController(t)
database := mock_moira_alert.NewMockDatabase(mockCtrl)
database.EXPECT().AllowStale().AnyTimes().Return(database)
logger, _ := logging.GetLogger("Scheduler")

Convey("Create new pattern storage, GetPatterns returns error, should error", t, func() {
Expand Down
49 changes: 25 additions & 24 deletions metric_source/local/fetchdata_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ func BenchmarkUnpackMetricValues(b *testing.B) {

func TestFetchData(t *testing.T) {
mockCtrl := gomock.NewController(t)
dataBase := mock_moira_alert.NewMockDatabase(mockCtrl)
database := mock_moira_alert.NewMockDatabase(mockCtrl)
database.EXPECT().AllowStale().AnyTimes().Return(database)
pattern := "super-puper-pattern"
metric := "super-puper-metric"
dataList := map[string][]*moira.MetricValue{
Expand Down Expand Up @@ -110,34 +111,34 @@ func TestFetchData(t *testing.T) {

Convey("Errors Test", t, func() {
Convey("GetPatternMetricsError", func() {
dataBase.EXPECT().GetPatternMetrics(pattern).Return(nil, patternErr)
metricData, metrics, err := FetchData(dataBase, pattern, from, until, true)
database.EXPECT().GetPatternMetrics(pattern).Return(nil, patternErr)
metricData, metrics, err := FetchData(database, pattern, from, until, true)
So(metricData, ShouldBeNil)
So(metrics, ShouldBeNil)
So(err, ShouldResemble, patternErr)
})
Convey("GetMetricRetentionError", func() {
dataBase.EXPECT().GetPatternMetrics(pattern).Return([]string{metric}, nil)
dataBase.EXPECT().GetMetricRetention(metric).Return(int64(0), retentionErr)
metricData, metrics, err := FetchData(dataBase, pattern, from, until, true)
database.EXPECT().GetPatternMetrics(pattern).Return([]string{metric}, nil)
database.EXPECT().GetMetricRetention(metric).Return(int64(0), retentionErr)
metricData, metrics, err := FetchData(database, pattern, from, until, true)
So(metricData, ShouldBeNil)
So(metrics, ShouldBeNil)
So(err, ShouldResemble, retentionErr)
})
Convey("GetMetricsValuesError", func() {
dataBase.EXPECT().GetPatternMetrics(pattern).Return([]string{metric}, nil)
dataBase.EXPECT().GetMetricRetention(metric).Return(retention, nil)
dataBase.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(nil, metricErr)
metricData, metrics, err := FetchData(dataBase, pattern, from, until, true)
database.EXPECT().GetPatternMetrics(pattern).Return([]string{metric}, nil)
database.EXPECT().GetMetricRetention(metric).Return(retention, nil)
database.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(nil, metricErr)
metricData, metrics, err := FetchData(database, pattern, from, until, true)
So(metricData, ShouldBeNil)
So(metrics, ShouldBeNil)
So(err, ShouldResemble, metricErr)
})
})

Convey("Test no metrics", t, func() {
dataBase.EXPECT().GetPatternMetrics(pattern).Return([]string{}, nil)
metricData, metrics, err := FetchData(dataBase, pattern, from, until, false)
database.EXPECT().GetPatternMetrics(pattern).Return([]string{}, nil)
metricData, metrics, err := FetchData(database, pattern, from, until, false)
fetchResponse := pb.FetchResponse{
Name: pattern,
StartTime: from,
Expand All @@ -152,10 +153,10 @@ func TestFetchData(t *testing.T) {
})

Convey("Test allowRealTimeAlerting=false", t, func() {
dataBase.EXPECT().GetPatternMetrics(pattern).Return([]string{metric}, nil)
dataBase.EXPECT().GetMetricRetention(metric).Return(retention, nil)
dataBase.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
metricData, metrics, err := FetchData(dataBase, pattern, from, until, false)
database.EXPECT().GetPatternMetrics(pattern).Return([]string{metric}, nil)
database.EXPECT().GetMetricRetention(metric).Return(retention, nil)
database.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
metricData, metrics, err := FetchData(database, pattern, from, until, false)
fetchResponse := pb.FetchResponse{
Name: metric,
StartTime: from,
Expand All @@ -170,10 +171,10 @@ func TestFetchData(t *testing.T) {
})

Convey("Test allowRealTimeAlerting=true", t, func() {
dataBase.EXPECT().GetPatternMetrics(pattern).Return([]string{metric}, nil)
dataBase.EXPECT().GetMetricRetention(metric).Return(retention, nil)
dataBase.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
metricData, metrics, err := FetchData(dataBase, pattern, from, until, true)
database.EXPECT().GetPatternMetrics(pattern).Return([]string{metric}, nil)
database.EXPECT().GetMetricRetention(metric).Return(retention, nil)
database.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
metricData, metrics, err := FetchData(database, pattern, from, until, true)
fetchResponse := pb.FetchResponse{
Name: metric,
StartTime: from,
Expand Down Expand Up @@ -217,10 +218,10 @@ func TestFetchData(t *testing.T) {
}

Convey("Test multiple metrics", t, func() {
dataBase.EXPECT().GetPatternMetrics(pattern).Return([]string{metric, metric2}, nil)
dataBase.EXPECT().GetMetricRetention(metric).Return(retention, nil)
dataBase.EXPECT().GetMetricsValues([]string{metric, metric2}, from, until).Return(dataList, nil)
metricData, metrics, err := FetchData(dataBase, pattern, from, until, true)
database.EXPECT().GetPatternMetrics(pattern).Return([]string{metric, metric2}, nil)
database.EXPECT().GetMetricRetention(metric).Return(retention, nil)
database.EXPECT().GetMetricsValues([]string{metric, metric2}, from, until).Return(dataList, nil)
metricData, metrics, err := FetchData(database, pattern, from, until, true)
fetchResponse := pb.FetchResponse{
Name: metric,
StartTime: from,
Expand Down
37 changes: 19 additions & 18 deletions metric_source/local/local_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@ func init() {

func TestEvaluateTarget(t *testing.T) {
mockCtrl := gomock.NewController(t)
dataBase := mock_moira_alert.NewMockDatabase(mockCtrl)
localSource := Create(dataBase)
database := mock_moira_alert.NewMockDatabase(mockCtrl)
database.EXPECT().AllowStale().AnyTimes().Return(database)
localSource := Create(database)
defer mockCtrl.Finish()

pattern := "super.puper.pattern"
Expand Down Expand Up @@ -70,27 +71,27 @@ func TestEvaluateTarget(t *testing.T) {
})

Convey("Error in fetch data", func() {
dataBase.EXPECT().GetPatternMetrics(pattern).Return([]string{metric}, nil)
dataBase.EXPECT().GetMetricRetention(metric).Return(retention, nil)
dataBase.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(nil, metricErr)
database.EXPECT().GetPatternMetrics(pattern).Return([]string{metric}, nil)
database.EXPECT().GetMetricRetention(metric).Return(retention, nil)
database.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(nil, metricErr)
result, err := localSource.Fetch("super.puper.pattern", from, until, true)
So(err, ShouldResemble, metricErr)
So(result, ShouldBeNil)
})

Convey("Error evaluate target", func() {
dataBase.EXPECT().GetPatternMetrics("super.puper.pattern").Return([]string{metric}, nil)
dataBase.EXPECT().GetMetricRetention(metric).Return(retention, nil)
dataBase.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
database.EXPECT().GetPatternMetrics("super.puper.pattern").Return([]string{metric}, nil)
database.EXPECT().GetMetricRetention(metric).Return(retention, nil)
database.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
result, err := localSource.Fetch("aliasByNoe(super.puper.pattern, 2)", from, until, true)
So(err.Error(), ShouldResemble, "Unknown graphite function: \"aliasByNoe\"")
So(result, ShouldBeNil)
})

Convey("Panic while evaluate target", func() {
dataBase.EXPECT().GetPatternMetrics("super.puper.pattern").Return([]string{metric}, nil)
dataBase.EXPECT().GetMetricRetention(metric).Return(retention, nil)
dataBase.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
database.EXPECT().GetPatternMetrics("super.puper.pattern").Return([]string{metric}, nil)
database.EXPECT().GetMetricRetention(metric).Return(retention, nil)
database.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
result, err := localSource.Fetch("movingAverage(super.puper.pattern, -1)", from, until, true)
expectedErrSubstring := strings.Split(ErrEvaluateTargetFailedWithPanic{target: "movingAverage(super.puper.pattern, -1)"}.Error(), ":")[0]
So(err.Error(), ShouldStartWith, expectedErrSubstring)
Expand All @@ -99,7 +100,7 @@ func TestEvaluateTarget(t *testing.T) {
})

Convey("Test no metrics", t, func() {
dataBase.EXPECT().GetPatternMetrics("super.puper.pattern").Return([]string{}, nil)
database.EXPECT().GetPatternMetrics("super.puper.pattern").Return([]string{}, nil)
result, err := localSource.Fetch("aliasByNode(super.puper.pattern, 2)", from, until, true)
So(err, ShouldBeNil)
So(result, ShouldResemble, &FetchResult{
Expand All @@ -117,9 +118,9 @@ func TestEvaluateTarget(t *testing.T) {
})

Convey("Test success evaluate", t, func() {
dataBase.EXPECT().GetPatternMetrics("super.puper.pattern").Return([]string{metric}, nil)
dataBase.EXPECT().GetMetricRetention(metric).Return(retention, nil)
dataBase.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
database.EXPECT().GetPatternMetrics("super.puper.pattern").Return([]string{metric}, nil)
database.EXPECT().GetMetricRetention(metric).Return(retention, nil)
database.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
result, err := localSource.Fetch("aliasByNode(super.puper.pattern, 2)", from, until, true)
So(err, ShouldBeNil)
So(result, ShouldResemble, &FetchResult{
Expand All @@ -137,9 +138,9 @@ func TestEvaluateTarget(t *testing.T) {
})

Convey("Test success evaluate pipe target", t, func() {
dataBase.EXPECT().GetPatternMetrics("super.puper.pattern").Return([]string{metric}, nil)
dataBase.EXPECT().GetMetricRetention(metric).Return(retention, nil)
dataBase.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
database.EXPECT().GetPatternMetrics("super.puper.pattern").Return([]string{metric}, nil)
database.EXPECT().GetMetricRetention(metric).Return(retention, nil)
database.EXPECT().GetMetricsValues([]string{metric}, from, until).Return(dataList, nil)
result, err := localSource.Fetch("super.puper.pattern | scale(100) | aliasByNode(2)", from, until, true)
So(err, ShouldBeNil)
So(result, ShouldResemble, &FetchResult{
Expand Down
1 change: 1 addition & 0 deletions perfomance_tests/filter/filter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ func BenchmarkProcessIncomingMetric(b *testing.B) {

mockCtrl := gomock.NewController(b)
database := mock_moira_alert.NewMockDatabase(mockCtrl)
database.EXPECT().AllowStale().AnyTimes().Return(database)
logger, _ := logging.GetLogger("Benchmark")

database.EXPECT().GetPatterns().Return(patterns, nil)
Expand Down

0 comments on commit 8019364

Please sign in to comment.