2017-03-07 07:34:31 +00:00
|
|
|
/*
|
|
|
|
Copyright 2017 The Kubernetes Authors.
|
|
|
|
|
|
|
|
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.
|
|
|
|
*/
|
|
|
|
|
2017-02-27 10:00:31 +00:00
|
|
|
package config
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestBuildLogFormatUpstream(t *testing.T) {
|
|
|
|
|
|
|
|
testCases := []struct {
|
|
|
|
useProxyProtocol bool // use proxy protocol
|
2017-03-03 12:02:36 +00:00
|
|
|
curLogFormat string
|
2017-02-27 10:00:31 +00:00
|
|
|
expected string
|
|
|
|
}{
|
2017-06-21 04:38:54 +00:00
|
|
|
{true, logFormatUpstream, fmt.Sprintf(logFormatUpstream, "$the_real_ip")},
|
|
|
|
{false, logFormatUpstream, fmt.Sprintf(logFormatUpstream, "$the_real_ip")},
|
2017-03-06 15:06:56 +00:00
|
|
|
{true, "my-log-format", "my-log-format"},
|
|
|
|
{false, "john-log-format", "john-log-format"},
|
2017-02-27 10:00:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
for _, testCase := range testCases {
|
2017-03-04 19:46:45 +00:00
|
|
|
cfg := NewDefault()
|
|
|
|
cfg.UseProxyProtocol = testCase.useProxyProtocol
|
|
|
|
cfg.LogFormatUpstream = testCase.curLogFormat
|
|
|
|
result := cfg.BuildLogFormatUpstream()
|
2017-02-27 10:00:31 +00:00
|
|
|
if result != testCase.expected {
|
|
|
|
t.Errorf(" expected %v but return %v", testCase.expected, result)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|