@ -264,6 +264,49 @@ func TestMetrics(t *testing.T) {
ts . Close ( )
} )
} )
Convey ( "Test update total stats" , t , func ( ) {
uss := & UsageStatsService {
Bus : bus . New ( ) ,
Cfg : setting . NewCfg ( ) ,
}
uss . Cfg . MetricsEndpointEnabled = true
uss . Cfg . MetricsEndpointDisableTotalStats = false
getSystemStatsWasCalled := false
uss . Bus . AddHandler ( func ( query * models . GetSystemStatsQuery ) error {
query . Result = & models . SystemStats { }
getSystemStatsWasCalled = true
return nil
} )
Convey ( "should not update stats when metrics is disabled and total stats is disabled" , func ( ) {
uss . Cfg . MetricsEndpointEnabled = false
uss . Cfg . MetricsEndpointDisableTotalStats = true
uss . updateTotalStats ( )
So ( getSystemStatsWasCalled , ShouldBeFalse )
} )
Convey ( "should not update stats when metrics is disabled and total stats enabled" , func ( ) {
uss . Cfg . MetricsEndpointEnabled = false
uss . Cfg . MetricsEndpointDisableTotalStats = false
uss . updateTotalStats ( )
So ( getSystemStatsWasCalled , ShouldBeFalse )
} )
Convey ( "should not update stats when metrics is enabled and total stats disabled" , func ( ) {
uss . Cfg . MetricsEndpointEnabled = true
uss . Cfg . MetricsEndpointDisableTotalStats = true
uss . updateTotalStats ( )
So ( getSystemStatsWasCalled , ShouldBeFalse )
} )
Convey ( "should update stats when metrics is enabled and total stats enabled" , func ( ) {
uss . Cfg . MetricsEndpointEnabled = true
uss . Cfg . MetricsEndpointDisableTotalStats = false
uss . updateTotalStats ( )
So ( getSystemStatsWasCalled , ShouldBeTrue )
} )
} )
}
func waitTimeout ( wg * sync . WaitGroup , timeout time . Duration ) bool {