mirror of https://github.com/grafana/loki
Fix promtail client default values (#2049)
parent
d975b1fdd8
commit
83873d1c6f
@ -0,0 +1,81 @@ |
||||
package client |
||||
|
||||
import ( |
||||
"net/url" |
||||
"reflect" |
||||
"testing" |
||||
"time" |
||||
|
||||
"github.com/cortexproject/cortex/pkg/util" |
||||
"github.com/cortexproject/cortex/pkg/util/flagext" |
||||
"github.com/stretchr/testify/require" |
||||
|
||||
"gopkg.in/yaml.v2" |
||||
) |
||||
|
||||
var clientConfig = Config{} |
||||
|
||||
var clientDefaultConfig = (` |
||||
url: http://localhost:3100/loki/api/v1/push
|
||||
`) |
||||
|
||||
var clientCustomConfig = ` |
||||
url: http://localhost:3100/loki/api/v1/push
|
||||
backoff_config: |
||||
max_retries: 20 |
||||
min_period: 5s |
||||
max_period: 1m |
||||
batchwait: 5s |
||||
batchsize: 204800 |
||||
timeout: 5s |
||||
` |
||||
|
||||
func Test_Config(t *testing.T) { |
||||
u, err := url.Parse("http://localhost:3100/loki/api/v1/push") |
||||
require.NoError(t, err) |
||||
tests := []struct { |
||||
configValues string |
||||
expectedConfig Config |
||||
}{ |
||||
{ |
||||
clientDefaultConfig, |
||||
Config{ |
||||
URL: flagext.URLValue{ |
||||
u, |
||||
}, |
||||
BackoffConfig: util.BackoffConfig{ |
||||
MaxBackoff: 5 * time.Minute, |
||||
MaxRetries: 10, |
||||
MinBackoff: 500 * time.Millisecond, |
||||
}, |
||||
BatchSize: 100 * 1024, |
||||
BatchWait: 1 * time.Second, |
||||
Timeout: 10 * time.Second, |
||||
}, |
||||
}, |
||||
{ |
||||
clientCustomConfig, |
||||
Config{ |
||||
URL: flagext.URLValue{ |
||||
u, |
||||
}, |
||||
BackoffConfig: util.BackoffConfig{ |
||||
MaxBackoff: 1 * time.Minute, |
||||
MaxRetries: 20, |
||||
MinBackoff: 5 * time.Second, |
||||
}, |
||||
BatchSize: 100 * 2048, |
||||
BatchWait: 5 * time.Second, |
||||
Timeout: 5 * time.Second, |
||||
}, |
||||
}, |
||||
} |
||||
for _, tc := range tests { |
||||
err := yaml.Unmarshal([]byte(tc.configValues), &clientConfig) |
||||
require.NoError(t, err) |
||||
|
||||
if !reflect.DeepEqual(tc.expectedConfig, clientConfig) { |
||||
t.Errorf("Configs does not match, expected: %v, recieved: %v", tc.expectedConfig, clientConfig) |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue