2020-04-01 09:55:42 -05:00
|
|
|
/*
|
|
|
|
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
|
|
|
|
|
|
|
|
https://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.
|
|
|
|
*/
|
|
|
|
|
2019-05-03 13:20:38 -05:00
|
|
|
package log_test
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
2019-10-16 16:42:01 -05:00
|
|
|
"regexp"
|
2020-08-24 09:48:29 -05:00
|
|
|
"strings"
|
2019-05-03 13:20:38 -05:00
|
|
|
"testing"
|
|
|
|
|
2019-10-16 16:42:01 -05:00
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
2019-06-25 16:31:11 -05:00
|
|
|
"opendev.org/airship/airshipctl/pkg/log"
|
2019-05-03 13:20:38 -05:00
|
|
|
)
|
|
|
|
|
2020-05-01 12:08:29 -05:00
|
|
|
var logFormatRegex = regexp.MustCompile(`^\[airshipctl\] \d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} .*`)
|
2019-10-16 16:42:01 -05:00
|
|
|
|
2020-05-01 12:08:29 -05:00
|
|
|
const prefixLength = len("[airshipctl] 2001/02/03 16:05:06 ")
|
2019-10-16 16:42:01 -05:00
|
|
|
|
|
|
|
func TestLoggingPrintf(t *testing.T) {
|
|
|
|
assert := assert.New(t)
|
|
|
|
require := require.New(t)
|
|
|
|
|
|
|
|
t.Run("Print", func(t *testing.T) {
|
|
|
|
output := new(bytes.Buffer)
|
|
|
|
log.Init(false, output)
|
|
|
|
|
|
|
|
log.Print("Print args ", 5)
|
|
|
|
actual := output.String()
|
|
|
|
|
|
|
|
expected := "Print args 5\n"
|
|
|
|
require.Regexp(logFormatRegex, actual)
|
|
|
|
actual = actual[prefixLength:]
|
|
|
|
assert.Equal(expected, actual)
|
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("Printf", func(t *testing.T) {
|
2019-06-06 11:40:40 -05:00
|
|
|
output := new(bytes.Buffer)
|
2019-10-16 16:42:01 -05:00
|
|
|
log.Init(false, output)
|
|
|
|
|
|
|
|
log.Printf("%s %d", "Printf args", 5)
|
|
|
|
actual := output.String()
|
|
|
|
|
|
|
|
expected := "Printf args 5\n"
|
|
|
|
require.Regexp(logFormatRegex, actual)
|
|
|
|
actual = actual[prefixLength:]
|
|
|
|
assert.Equal(expected, actual)
|
|
|
|
})
|
2019-05-03 13:20:38 -05:00
|
|
|
}
|
|
|
|
|
2019-06-06 11:40:40 -05:00
|
|
|
func TestLoggingDebug(t *testing.T) {
|
2019-10-16 16:42:01 -05:00
|
|
|
assert := assert.New(t)
|
|
|
|
require := require.New(t)
|
|
|
|
|
|
|
|
t.Run("DebugTrue", func(t *testing.T) {
|
2019-06-06 11:40:40 -05:00
|
|
|
output := new(bytes.Buffer)
|
2019-10-16 16:42:01 -05:00
|
|
|
log.Init(true, output)
|
|
|
|
|
|
|
|
log.Debug("DebugTrue args ", 5)
|
|
|
|
actual := output.String()
|
|
|
|
|
|
|
|
expected := "DebugTrue args 5\n"
|
|
|
|
require.Regexp(logFormatRegex, actual)
|
2020-08-24 09:48:29 -05:00
|
|
|
lastIndex := strings.LastIndex(actual, ":")
|
|
|
|
actual = actual[lastIndex+2:]
|
2019-10-16 16:42:01 -05:00
|
|
|
assert.Equal(expected, actual)
|
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("DebugfTrue", func(t *testing.T) {
|
|
|
|
output := new(bytes.Buffer)
|
|
|
|
log.Init(true, output)
|
|
|
|
|
|
|
|
log.Debugf("%s %d", "DebugfTrue args", 5)
|
|
|
|
actual := output.String()
|
|
|
|
|
|
|
|
expected := "DebugfTrue args 5\n"
|
|
|
|
require.Regexp(logFormatRegex, actual)
|
2020-08-24 09:48:29 -05:00
|
|
|
lastIndex := strings.LastIndex(actual, ":")
|
|
|
|
actual = actual[lastIndex+2:]
|
2019-10-16 16:42:01 -05:00
|
|
|
assert.Equal(expected, actual)
|
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("DebugFalse", func(t *testing.T) {
|
|
|
|
output := new(bytes.Buffer)
|
|
|
|
log.Init(false, output)
|
|
|
|
|
|
|
|
log.Debug("DebugFalse args ", 5)
|
|
|
|
assert.Equal("", output.String())
|
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("DebugfFalse", func(t *testing.T) {
|
|
|
|
output := new(bytes.Buffer)
|
|
|
|
log.Init(false, output)
|
|
|
|
|
|
|
|
log.Debugf("%s %d", "DebugFalse args", 5)
|
|
|
|
assert.Equal("", output.String())
|
|
|
|
})
|
2019-05-03 13:20:38 -05:00
|
|
|
}
|