mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-07 00:55:55 +00:00
these were occaisionally referenced elsewhere in the codebase - in all but one case, there were workarounds that are actually better I think. In the one case there wasn't I created a single top level DefaultConfig object which is instantiated with all the default values and can be referred to if necessary. There was a bug in fragment.go with the way MaxWritesPerRequest was treated if it was 0. Elsewhere, 0 meant no limit, but here, it would have caused a division by 0. Changed the default metrics provider from "nop" to "none", although "nop" will still work. Previously, any value other than "statsd" or "expvar" was treated as "nop", but I've changed this behavior to return an error if an invalid string is provided. I think this is better behavior, because in the case that someone bothered to change the default, they were probably interested in actually getting stats, and might be annoyed when it silently failed.
68 lines
1.8 KiB
Go
68 lines
1.8 KiB
Go
// Copyright 2017 Pilosa Corp.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package pilosa_test
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/pilosa/pilosa"
|
|
)
|
|
|
|
func Test_NewConfig(t *testing.T) {
|
|
c := pilosa.NewConfig()
|
|
|
|
if c.Cluster.Disabled {
|
|
t.Fatalf("unexpected Cluster.Disabled: %v", c.Cluster.Disabled)
|
|
}
|
|
|
|
// Ensure that hosts can't be specificed on a non-disabled cluster.
|
|
c.Cluster.Hosts = []string{c.Bind, "localhost:10102"}
|
|
|
|
// Change cluster type from the default (gossip) to an invalid string.
|
|
if err := c.Validate(); err != pilosa.ErrConfigClusterEnabledHosts {
|
|
t.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func TestDuration(t *testing.T) {
|
|
d := pilosa.Duration(time.Second * 182)
|
|
if d.String() != "3m2s" {
|
|
t.Fatalf("Unexpected time Duration %s", d)
|
|
}
|
|
|
|
b := []byte{51, 109, 50, 115}
|
|
v, _ := d.MarshalText()
|
|
if !reflect.DeepEqual(b, v) {
|
|
t.Fatalf("Unexpected marshalled value %v", v)
|
|
}
|
|
|
|
v, _ = d.MarshalTOML()
|
|
if !reflect.DeepEqual(b, v) {
|
|
t.Fatalf("Unexpected marshalled value %v", v)
|
|
}
|
|
|
|
err := d.UnmarshalText([]byte("5"))
|
|
if err.Error() != "time: missing unit in duration 5" {
|
|
t.Fatalf("expected time: missing unit in duration: %s", err)
|
|
}
|
|
|
|
err = d.UnmarshalText([]byte("3m2s"))
|
|
v, _ = d.MarshalText()
|
|
if !reflect.DeepEqual(b, v) {
|
|
t.Fatalf("Unexpected marshalled value %v", v)
|
|
}
|
|
}
|