diff --git a/chronograf.go b/chronograf.go index 7a839a233..0e416f883 100644 --- a/chronograf.go +++ b/chronograf.go @@ -136,7 +136,7 @@ type Source struct { URL string `json:"url"` // URL are the connections to the source MetaURL string `json:"metaUrl,omitempty"` // MetaURL is the url for the meta node InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"` // InsecureSkipVerify as true means any certificate presented by the source is accepted. - Default bool `json:"default"` // Default specifies the default source for the application + Default bool `json:"isDefault"` // Default specifies the default source for the application Telegraf string `json:"telegraf"` // Telegraf is the db telegraf is written to. By default it is "telegraf" } @@ -316,6 +316,7 @@ type UsersStore interface { Update(context.Context, *User) error } +// Database represents a database in a time series source type Database struct { Name string `json:"name"` // a unique string identifier for the database Duration string `json:"duration,omitempty"` // the duration (when creating a default retention policy) @@ -323,6 +324,7 @@ type Database struct { ShardDuration string `json:"shardDuration,omitempty"` // the shard duration (when creating a default retention policy) } +// RetentionPolicy represents a retention policy in a time series source type RetentionPolicy struct { Name string `json:"name"` // a unique string identifier for the retention policy Duration string `json:"duration,omitempty"` // the duration @@ -331,6 +333,7 @@ type RetentionPolicy struct { Default bool `json:"default,omitempty"` // whether the RP should be the default } +// Databases represents a databases in a time series source type Databases interface { // All lists all databases AllDB(context.Context) ([]Database, error) diff --git a/server/databases_test.go b/server/databases_test.go new file mode 100644 index 000000000..c17ee676a --- /dev/null +++ b/server/databases_test.go @@ -0,0 +1,349 @@ +package server + +import ( + "net/http" + "testing" + + "github.com/influxdata/chronograf" +) + +func TestService_GetDatabases(t *testing.T) { + type fields struct { + SourcesStore chronograf.SourcesStore + ServersStore chronograf.ServersStore + LayoutStore chronograf.LayoutStore + AlertRulesStore chronograf.AlertRulesStore + UsersStore chronograf.UsersStore + DashboardsStore chronograf.DashboardsStore + TimeSeriesClient TimeSeriesClient + Logger chronograf.Logger + UseAuth bool + Databases chronograf.Databases + } + type args struct { + w http.ResponseWriter + r *http.Request + } + tests := []struct { + name string + fields fields + args args + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + h := &Service{ + SourcesStore: tt.fields.SourcesStore, + ServersStore: tt.fields.ServersStore, + LayoutStore: tt.fields.LayoutStore, + AlertRulesStore: tt.fields.AlertRulesStore, + UsersStore: tt.fields.UsersStore, + DashboardsStore: tt.fields.DashboardsStore, + TimeSeriesClient: tt.fields.TimeSeriesClient, + Logger: tt.fields.Logger, + UseAuth: tt.fields.UseAuth, + Databases: tt.fields.Databases, + } + h.GetDatabases(tt.args.w, tt.args.r) + }) + } +} + +func TestService_NewDatabase(t *testing.T) { + type fields struct { + SourcesStore chronograf.SourcesStore + ServersStore chronograf.ServersStore + LayoutStore chronograf.LayoutStore + AlertRulesStore chronograf.AlertRulesStore + UsersStore chronograf.UsersStore + DashboardsStore chronograf.DashboardsStore + TimeSeriesClient TimeSeriesClient + Logger chronograf.Logger + UseAuth bool + Databases chronograf.Databases + } + type args struct { + w http.ResponseWriter + r *http.Request + } + tests := []struct { + name string + fields fields + args args + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + h := &Service{ + SourcesStore: tt.fields.SourcesStore, + ServersStore: tt.fields.ServersStore, + LayoutStore: tt.fields.LayoutStore, + AlertRulesStore: tt.fields.AlertRulesStore, + UsersStore: tt.fields.UsersStore, + DashboardsStore: tt.fields.DashboardsStore, + TimeSeriesClient: tt.fields.TimeSeriesClient, + Logger: tt.fields.Logger, + UseAuth: tt.fields.UseAuth, + Databases: tt.fields.Databases, + } + h.NewDatabase(tt.args.w, tt.args.r) + }) + } +} + +func TestService_DropDatabase(t *testing.T) { + type fields struct { + SourcesStore chronograf.SourcesStore + ServersStore chronograf.ServersStore + LayoutStore chronograf.LayoutStore + AlertRulesStore chronograf.AlertRulesStore + UsersStore chronograf.UsersStore + DashboardsStore chronograf.DashboardsStore + TimeSeriesClient TimeSeriesClient + Logger chronograf.Logger + UseAuth bool + Databases chronograf.Databases + } + type args struct { + w http.ResponseWriter + r *http.Request + } + tests := []struct { + name string + fields fields + args args + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + h := &Service{ + SourcesStore: tt.fields.SourcesStore, + ServersStore: tt.fields.ServersStore, + LayoutStore: tt.fields.LayoutStore, + AlertRulesStore: tt.fields.AlertRulesStore, + UsersStore: tt.fields.UsersStore, + DashboardsStore: tt.fields.DashboardsStore, + TimeSeriesClient: tt.fields.TimeSeriesClient, + Logger: tt.fields.Logger, + UseAuth: tt.fields.UseAuth, + Databases: tt.fields.Databases, + } + h.DropDatabase(tt.args.w, tt.args.r) + }) + } +} + +func TestService_RetentionPolicies(t *testing.T) { + type fields struct { + SourcesStore chronograf.SourcesStore + ServersStore chronograf.ServersStore + LayoutStore chronograf.LayoutStore + AlertRulesStore chronograf.AlertRulesStore + UsersStore chronograf.UsersStore + DashboardsStore chronograf.DashboardsStore + TimeSeriesClient TimeSeriesClient + Logger chronograf.Logger + UseAuth bool + Databases chronograf.Databases + } + type args struct { + w http.ResponseWriter + r *http.Request + } + tests := []struct { + name string + fields fields + args args + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + h := &Service{ + SourcesStore: tt.fields.SourcesStore, + ServersStore: tt.fields.ServersStore, + LayoutStore: tt.fields.LayoutStore, + AlertRulesStore: tt.fields.AlertRulesStore, + UsersStore: tt.fields.UsersStore, + DashboardsStore: tt.fields.DashboardsStore, + TimeSeriesClient: tt.fields.TimeSeriesClient, + Logger: tt.fields.Logger, + UseAuth: tt.fields.UseAuth, + Databases: tt.fields.Databases, + } + h.RetentionPolicies(tt.args.w, tt.args.r) + }) + } +} + +func TestService_NewRetentionPolicy(t *testing.T) { + type fields struct { + SourcesStore chronograf.SourcesStore + ServersStore chronograf.ServersStore + LayoutStore chronograf.LayoutStore + AlertRulesStore chronograf.AlertRulesStore + UsersStore chronograf.UsersStore + DashboardsStore chronograf.DashboardsStore + TimeSeriesClient TimeSeriesClient + Logger chronograf.Logger + UseAuth bool + Databases chronograf.Databases + } + type args struct { + w http.ResponseWriter + r *http.Request + } + tests := []struct { + name string + fields fields + args args + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + h := &Service{ + SourcesStore: tt.fields.SourcesStore, + ServersStore: tt.fields.ServersStore, + LayoutStore: tt.fields.LayoutStore, + AlertRulesStore: tt.fields.AlertRulesStore, + UsersStore: tt.fields.UsersStore, + DashboardsStore: tt.fields.DashboardsStore, + TimeSeriesClient: tt.fields.TimeSeriesClient, + Logger: tt.fields.Logger, + UseAuth: tt.fields.UseAuth, + Databases: tt.fields.Databases, + } + h.NewRetentionPolicy(tt.args.w, tt.args.r) + }) + } +} + +func TestService_UpdateRetentionPolicy(t *testing.T) { + type fields struct { + SourcesStore chronograf.SourcesStore + ServersStore chronograf.ServersStore + LayoutStore chronograf.LayoutStore + AlertRulesStore chronograf.AlertRulesStore + UsersStore chronograf.UsersStore + DashboardsStore chronograf.DashboardsStore + TimeSeriesClient TimeSeriesClient + Logger chronograf.Logger + UseAuth bool + Databases chronograf.Databases + } + type args struct { + w http.ResponseWriter + r *http.Request + } + tests := []struct { + name string + fields fields + args args + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + h := &Service{ + SourcesStore: tt.fields.SourcesStore, + ServersStore: tt.fields.ServersStore, + LayoutStore: tt.fields.LayoutStore, + AlertRulesStore: tt.fields.AlertRulesStore, + UsersStore: tt.fields.UsersStore, + DashboardsStore: tt.fields.DashboardsStore, + TimeSeriesClient: tt.fields.TimeSeriesClient, + Logger: tt.fields.Logger, + UseAuth: tt.fields.UseAuth, + Databases: tt.fields.Databases, + } + h.UpdateRetentionPolicy(tt.args.w, tt.args.r) + }) + } +} + +func TestService_DropRetentionPolicy(t *testing.T) { + type fields struct { + SourcesStore chronograf.SourcesStore + ServersStore chronograf.ServersStore + LayoutStore chronograf.LayoutStore + AlertRulesStore chronograf.AlertRulesStore + UsersStore chronograf.UsersStore + DashboardsStore chronograf.DashboardsStore + TimeSeriesClient TimeSeriesClient + Logger chronograf.Logger + UseAuth bool + Databases chronograf.Databases + } + type args struct { + w http.ResponseWriter + r *http.Request + } + tests := []struct { + name string + fields fields + args args + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + h := &Service{ + SourcesStore: tt.fields.SourcesStore, + ServersStore: tt.fields.ServersStore, + LayoutStore: tt.fields.LayoutStore, + AlertRulesStore: tt.fields.AlertRulesStore, + UsersStore: tt.fields.UsersStore, + DashboardsStore: tt.fields.DashboardsStore, + TimeSeriesClient: tt.fields.TimeSeriesClient, + Logger: tt.fields.Logger, + UseAuth: tt.fields.UseAuth, + Databases: tt.fields.Databases, + } + h.DropRetentionPolicy(tt.args.w, tt.args.r) + }) + } +} + +func TestValidDatabaseRequest(t *testing.T) { + type args struct { + d *chronograf.Database + } + tests := []struct { + name string + args args + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if err := ValidDatabaseRequest(tt.args.d); (err != nil) != tt.wantErr { + t.Errorf("ValidDatabaseRequest() error = %v, wantErr %v", err, tt.wantErr) + } + }) + } +} + +func TestValidRetentionPolicyRequest(t *testing.T) { + type args struct { + rp *chronograf.RetentionPolicy + } + tests := []struct { + name string + args args + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if err := ValidRetentionPolicyRequest(tt.args.rp); (err != nil) != tt.wantErr { + t.Errorf("ValidRetentionPolicyRequest() error = %v, wantErr %v", err, tt.wantErr) + } + }) + } +}