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  }