github.com/kuoss/venti@v0.2.20/pkg/service/service_test.go (about) 1 package service 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/kuoss/common/logger" 8 "github.com/kuoss/venti/pkg/model" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func init() { 13 err := os.Chdir("../..") 14 if err != nil { 15 panic(err) 16 } 17 logger.SetCallerSkip(9) 18 logger.SetLevel(logger.DebugLevel) 19 logger.Infof("init") 20 } 21 22 func TestNewServices(t *testing.T) { 23 datasourceConfig := model.DatasourceConfig{ 24 Datasources: []model.Datasource{ 25 {Name: "mainPrometheus", Type: model.DatasourceTypePrometheus, URL: "http://prometheus:9090", IsMain: true}, 26 {Name: "subPrometheus1", Type: model.DatasourceTypePrometheus, URL: "http://prometheus1:9090", IsMain: false}, 27 {Name: "subPrometheus2", Type: model.DatasourceTypePrometheus, URL: "http://prometheus2:9090", IsMain: false}, 28 {Name: "mainLethe", Type: model.DatasourceTypeLethe, URL: "http://lethe:3100", IsMain: true}, 29 {Name: "subLethe1", Type: model.DatasourceTypeLethe, URL: "http://lethe1:3100", IsMain: false}, 30 {Name: "subLethe2", Type: model.DatasourceTypeLethe, URL: "http://lethe2:3100", IsMain: false}, 31 }, 32 Discovery: model.Discovery{ 33 Enabled: false, 34 ByNamePrometheus: true, 35 ByNameLethe: true, 36 }, 37 } 38 got, err := NewServices(&model.Config{DatasourceConfig: datasourceConfig}) 39 assert.NoError(t, err) 40 assert.NotEmpty(t, got) 41 assert.NotEmpty(t, got.AlertRuleService) 42 assert.NotEmpty(t, got.AlertingService) 43 assert.NotEmpty(t, got.DashboardService) 44 assert.NotEmpty(t, got.DatasourceService) 45 assert.NotEmpty(t, got.RemoteService) 46 assert.NotEmpty(t, got.StatusService) 47 assert.NotEmpty(t, got.UserService) 48 } 49 50 func TestNewServicesError(t *testing.T) { 51 got, err := NewServices(&model.Config{}) 52 assert.NoError(t, err) 53 assert.NotEmpty(t, got) 54 assert.NotEmpty(t, got.AlertRuleService) 55 assert.NotEmpty(t, got.AlertingService) 56 assert.NotEmpty(t, got.DashboardService) 57 assert.Empty(t, got.DatasourceService) 58 assert.NotEmpty(t, got.RemoteService) 59 assert.NotEmpty(t, got.StatusService) 60 assert.NotEmpty(t, got.UserService) 61 }