github.com/SAP/cloud-mta-build-tool@v1.2.27/internal/logs/logger_test.go (about)

     1  package logs
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	. "github.com/onsi/ginkgo"
     8  	. "github.com/onsi/ginkgo/extensions/table"
     9  	. "github.com/onsi/gomega"
    10  	"github.com/sirupsen/logrus"
    11  )
    12  
    13  func TestNewLogger(t *testing.T) {
    14  	RegisterFailHandler(Fail)
    15  	RunSpecs(t, "test logger")
    16  }
    17  
    18  func logLevelWithPanic() {
    19  	logLevel("other")
    20  }
    21  
    22  var _ = Describe("logger", func() {
    23  	AfterEach(func() {
    24  		Logger = nil
    25  	})
    26  
    27  	DescribeTable("Log Level", func(input string, expected logrus.Level) {
    28  		level := logLevel(input)
    29  		Ω(level).To(Equal(expected))
    30  	},
    31  		Entry("Debug Level", "debug", logrus.DebugLevel),
    32  		Entry("Info Level", "info", logrus.InfoLevel),
    33  		Entry("Error Level", "error", logrus.ErrorLevel),
    34  		Entry("Warn Level", "warn", logrus.WarnLevel),
    35  		Entry("Fatal Level", "fatal", logrus.FatalLevel),
    36  		Entry("Panic Level", "panic", logrus.PanicLevel),
    37  	)
    38  
    39  	It("should Panic", func() {
    40  		Ω(logLevelWithPanic).Should(Panic())
    41  	})
    42  
    43  	It("should return a pointer to a Logger object ('info' level)", func() {
    44  		logger := NewLogger()
    45  
    46  		Expect(logger.Out).To(Equal(os.Stdout))
    47  		Expect(logger.Level).To(Equal(logLevel(getLogLevel())))
    48  		Expect(Logger).To(Equal(logger))
    49  	})
    50  
    51  	It("getLogLevel from os", func() {
    52  		osLevel := os.Getenv(MbtLogLevel)
    53  		os.Setenv(MbtLogLevel, logrus.DebugLevel.String())
    54  		Ω(getLogLevel()).Should(Equal(logrus.DebugLevel.String()))
    55  		os.Setenv(MbtLogLevel, osLevel)
    56  	})
    57  
    58  })