Skip to content

Commit

Permalink
For readability, split different test scenarios in different test
Browse files Browse the repository at this point in the history
functions. Also move functionality for making a test record into a
utility function.
  • Loading branch information
tomaz-s1 committed Jun 23, 2023
1 parent 211db7e commit 656cc5f
Showing 1 changed file with 82 additions and 66 deletions.
148 changes: 82 additions & 66 deletions exporter/datasetexporter/logs_exporter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"go.opentelemetry.io/collector/exporter/exporterhelper"
"go.opentelemetry.io/collector/exporter/exportertest"
"go.opentelemetry.io/collector/pdata/pcommon"
"go.opentelemetry.io/collector/pdata/plog"

"github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/testdata"
)
Expand Down Expand Up @@ -399,171 +400,186 @@ func TestConsumeLogsShouldSucceed(t *testing.T) {
)
}

func TestOtelSeverityToDataSetSeverityWithSeverityNumberNoSeverityText(t *testing.T) {
func makeLogRecordWithSeverityNumberAndSeverityText(sevNum int, sevText string) plog.LogRecord {
lr := testdata.GenerateLogsOneLogRecord()
ld := lr.ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
ld.SetSeverityText("")

// invalid values
ld.SetSeverityNumber(0)
ld.SetSeverityNumber(plog.SeverityNumber(sevNum))
ld.SetSeverityText(sevText)

return ld
}

func TestOtelSeverityToDataSetSeverityWithSeverityNumberNoSeverityTextInvalidValues(t *testing.T) {
// Invalid values get mapped to info (3 - INFO)
ld := makeLogRecordWithSeverityNumberAndSeverityText(0, "")
assert.Equal(t, defaultDataSetSeverityLevel, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(-1)
ld = makeLogRecordWithSeverityNumberAndSeverityText(-1, "")
assert.Equal(t, defaultDataSetSeverityLevel, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(100)
ld = makeLogRecordWithSeverityNumberAndSeverityText(25, "")
assert.Equal(t, defaultDataSetSeverityLevel, mapOtelSeverityToDataSetSeverity(ld))

ld = makeLogRecordWithSeverityNumberAndSeverityText(100, "")
assert.Equal(t, defaultDataSetSeverityLevel, mapOtelSeverityToDataSetSeverity(ld))

}

func TestOtelSeverityToDataSetSeverityWithSeverityNumberNoSeverityTextDataSetTraceLogLevel(t *testing.T) {
// trace
ld.SetSeverityNumber(1)
ld := makeLogRecordWithSeverityNumberAndSeverityText(1, "")
assert.Equal(t, dataSetLogLevelTrace, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(2)
ld = makeLogRecordWithSeverityNumberAndSeverityText(2, "")
assert.Equal(t, dataSetLogLevelTrace, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(3)
ld = makeLogRecordWithSeverityNumberAndSeverityText(3, "")
assert.Equal(t, dataSetLogLevelTrace, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(4)
ld = makeLogRecordWithSeverityNumberAndSeverityText(4, "")
assert.Equal(t, dataSetLogLevelTrace, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityNumberNoSeverityTextDataSetDebugLogLevel(t *testing.T) {
// debug
ld.SetSeverityNumber(5)
ld := makeLogRecordWithSeverityNumberAndSeverityText(5, "")
assert.Equal(t, dataSetLogLevelDebug, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(6)
ld = makeLogRecordWithSeverityNumberAndSeverityText(6, "")
assert.Equal(t, dataSetLogLevelDebug, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(7)
ld = makeLogRecordWithSeverityNumberAndSeverityText(7, "")
assert.Equal(t, dataSetLogLevelDebug, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(8)
ld = makeLogRecordWithSeverityNumberAndSeverityText(8, "")
assert.Equal(t, dataSetLogLevelDebug, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityNumberNoSeverityTextDataSetInfoLogLevel(t *testing.T) {
// info
ld.SetSeverityNumber(9)
ld := makeLogRecordWithSeverityNumberAndSeverityText(9, "")
assert.Equal(t, dataSetLogLevelInfo, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(10)
ld = makeLogRecordWithSeverityNumberAndSeverityText(10, "")
assert.Equal(t, dataSetLogLevelInfo, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(11)
ld = makeLogRecordWithSeverityNumberAndSeverityText(11, "")
assert.Equal(t, dataSetLogLevelInfo, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(12)
ld = makeLogRecordWithSeverityNumberAndSeverityText(12, "")
assert.Equal(t, dataSetLogLevelInfo, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityNumberNoSeverityTextDataSetWarnLogLevel(t *testing.T) {
// warn
ld.SetSeverityNumber(13)
ld := makeLogRecordWithSeverityNumberAndSeverityText(13, "")
assert.Equal(t, dataSetLogLevelWarn, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(14)
ld = makeLogRecordWithSeverityNumberAndSeverityText(14, "")
assert.Equal(t, dataSetLogLevelWarn, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(15)
ld = makeLogRecordWithSeverityNumberAndSeverityText(15, "")
assert.Equal(t, dataSetLogLevelWarn, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(16)
ld = makeLogRecordWithSeverityNumberAndSeverityText(16, "")
assert.Equal(t, dataSetLogLevelWarn, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityNumberNoSeverityTextDataSetErrorLogLevel(t *testing.T) {
// error
ld.SetSeverityNumber(17)
ld := makeLogRecordWithSeverityNumberAndSeverityText(17, "")
assert.Equal(t, dataSetLogLevelError, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(18)
ld = makeLogRecordWithSeverityNumberAndSeverityText(18, "")
assert.Equal(t, dataSetLogLevelError, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(19)
ld = makeLogRecordWithSeverityNumberAndSeverityText(19, "")
assert.Equal(t, dataSetLogLevelError, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(20)
ld = makeLogRecordWithSeverityNumberAndSeverityText(20, "")
assert.Equal(t, dataSetLogLevelError, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityNumberNoSeverityTextDataSetFatalLogLevel(t *testing.T) {
// fatal
ld.SetSeverityNumber(21)
ld := makeLogRecordWithSeverityNumberAndSeverityText(21, "")
assert.Equal(t, dataSetLogLevelFatal, mapOtelSeverityToDataSetSeverity(ld))

ld = makeLogRecordWithSeverityNumberAndSeverityText(22, "")
ld.SetSeverityNumber(22)
assert.Equal(t, dataSetLogLevelFatal, mapOtelSeverityToDataSetSeverity(ld))

ld = makeLogRecordWithSeverityNumberAndSeverityText(23, "")
ld.SetSeverityNumber(22)
assert.Equal(t, dataSetLogLevelFatal, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(24)
ld = makeLogRecordWithSeverityNumberAndSeverityText(24, "")
assert.Equal(t, dataSetLogLevelFatal, mapOtelSeverityToDataSetSeverity(ld))

// Invalid values get mapped to info (3)
ld.SetSeverityNumber(0)
assert.Equal(t, defaultDataSetSeverityLevel, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(-1)
assert.Equal(t, defaultDataSetSeverityLevel, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(25)
assert.Equal(t, 3, mapOtelSeverityToDataSetSeverity(ld))

}

func TestOtelSeverityToDataSetSeverityWithSeverityTextNoSeverityNumber(t *testing.T) {
lr := testdata.GenerateLogsOneLogRecord()
ld := lr.ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
ld.SetSeverityNumber(0)

func TestOtelSeverityToDataSetSeverityWithSeverityTextNoSeverityNumberInvalidValues(t *testing.T) {
// invalid values
ld.SetSeverityText("a")
ld := makeLogRecordWithSeverityNumberAndSeverityText(0, "a")
assert.Equal(t, defaultDataSetSeverityLevel, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityText("infofoo")
ld = makeLogRecordWithSeverityNumberAndSeverityText(0, "infoinfo")
assert.Equal(t, defaultDataSetSeverityLevel, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityTextNoSeverityNumberDataSetTraceLogLevel(t *testing.T) {
// trace
ld.SetSeverityText("trace")
ld := makeLogRecordWithSeverityNumberAndSeverityText(0, "trace")
assert.Equal(t, dataSetLogLevelTrace, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityTextNoSeverityNumberDataSetDebugLogLevel(t *testing.T) {
// debug
ld.SetSeverityText("debug")
ld := makeLogRecordWithSeverityNumberAndSeverityText(0, "debug")
assert.Equal(t, dataSetLogLevelDebug, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityTextNoSeverityNumberDataSetInfoLogLevel(t *testing.T) {
// info
ld.SetSeverityText("info")
ld := makeLogRecordWithSeverityNumberAndSeverityText(0, "info")
assert.Equal(t, dataSetLogLevelInfo, mapOtelSeverityToDataSetSeverity(ld))

ld = makeLogRecordWithSeverityNumberAndSeverityText(0, "informational")
ld.SetSeverityText("informational")
assert.Equal(t, dataSetLogLevelInfo, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityTextNoSeverityNumberDataSetInfoWarnLevel(t *testing.T) {
// warn
ld.SetSeverityText("warn")
ld := makeLogRecordWithSeverityNumberAndSeverityText(0, "warn")
assert.Equal(t, dataSetLogLevelWarn, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityText("warning")
ld = makeLogRecordWithSeverityNumberAndSeverityText(0, "warning")
assert.Equal(t, dataSetLogLevelWarn, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityTextNoSeverityNumberDataSetInfoErrorLevel(t *testing.T) {
// error
ld.SetSeverityText("error")
ld := makeLogRecordWithSeverityNumberAndSeverityText(0, "error")
assert.Equal(t, dataSetLogLevelError, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityTextNoSeverityNumberDataSetInfoFatalLevel(t *testing.T) {
// fatal
ld.SetSeverityText("fatal")
ld := makeLogRecordWithSeverityNumberAndSeverityText(0, "fatal")
assert.Equal(t, dataSetLogLevelFatal, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityText("critical")
ld = makeLogRecordWithSeverityNumberAndSeverityText(0, "fatal")
assert.Equal(t, dataSetLogLevelFatal, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityText("emergency")
ld = makeLogRecordWithSeverityNumberAndSeverityText(0, "emergency")
assert.Equal(t, dataSetLogLevelFatal, mapOtelSeverityToDataSetSeverity(ld))
}

func TestOtelSeverityToDataSetSeverityWithSeverityNumberAndSeverityTextSeverityNumberHasPriority(t *testing.T) {
// If provided, SeverityNumber has priority over SeverityText
lr := testdata.GenerateLogsOneLogRecord()
ld := lr.ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)

ld.SetSeverityNumber(3)
ld.SetSeverityText("debug")
assert.Equal(t, 1, mapOtelSeverityToDataSetSeverity(ld))

ld.SetSeverityNumber(22)
ld.SetSeverityText("info")
assert.Equal(t, 6, mapOtelSeverityToDataSetSeverity(ld))
ld := makeLogRecordWithSeverityNumberAndSeverityText(3, "debug")
assert.Equal(t, dataSetLogLevelTrace, mapOtelSeverityToDataSetSeverity(ld))

ld = makeLogRecordWithSeverityNumberAndSeverityText(22, "info")
assert.Equal(t, dataSetLogLevelFatal, mapOtelSeverityToDataSetSeverity(ld))
}

0 comments on commit 656cc5f

Please sign in to comment.