Skip to content

Commit

Permalink
test: sources
Browse files Browse the repository at this point in the history
  • Loading branch information
Kryvchun committed Sep 22, 2024
1 parent d332228 commit df67da6
Showing 1 changed file with 53 additions and 7 deletions.
60 changes: 53 additions & 7 deletions internal/pkg/source/source_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,32 @@ import (
"bytes"
"strings"
"testing"
"testing/iotest"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"

"github.com/hedhyw/json-log-viewer/assets"
"github.com/hedhyw/json-log-viewer/internal/pkg/config"
"github.com/hedhyw/json-log-viewer/internal/pkg/source"
"github.com/hedhyw/json-log-viewer/internal/pkg/tests"
"github.com/hedhyw/semerr/pkg/v1/semerr"
)

func TestLoadLogsFromFile(t *testing.T) {
func TestParseLogEntries(t *testing.T) {
t.Parallel()

t.Run("ok", func(t *testing.T) {
t.Parallel()

reader := bytes.NewReader(assets.ExampleJSONLog())
is, err := source.Reader(reader, config.GetDefaultConfig())

source, err := source.Reader(reader, config.GetDefaultConfig())
require.NoError(t, err)
defer is.Close()
logEntries, err := is.ParseLogEntries()

t.Cleanup(func() { assert.NoError(t, source.Close()) })

logEntries, err := source.ParseLogEntries()

require.NoError(t, err)
assert.NotEmpty(t, logEntries)
Expand All @@ -35,14 +41,31 @@ func TestLoadLogsFromFile(t *testing.T) {
longLine := strings.Repeat("1", 2*1024*1024)

reader := strings.NewReader(longLine)
is, err := source.Reader(reader, config.GetDefaultConfig())

source, err := source.Reader(reader, config.GetDefaultConfig())
require.NoError(t, err)
defer is.Close()
logEntries, err := is.ParseLogEntries()

t.Cleanup(func() { assert.NoError(t, source.Close()) })

logEntries, err := source.ParseLogEntries()

require.NoError(t, err)
assert.NotEmpty(t, logEntries)
})

t.Run("failed", func(t *testing.T) {
t.Parallel()

reader := iotest.ErrReader(semerr.Error("test"))

source, err := source.Reader(reader, config.GetDefaultConfig())
require.NoError(t, err)

t.Cleanup(func() { assert.NoError(t, source.Close()) })

_, err = source.ParseLogEntries()
require.Error(t, err)
})
}

func TestParseLogEntriesFromReaderLimited(t *testing.T) {
Expand Down Expand Up @@ -85,3 +108,26 @@ func TestRow(t *testing.T) {
row := lazyEntries.Row(cfg, 0)
assert.Contains(t, row, entry)
}

func TestFile(t *testing.T) {
t.Parallel()

cfg := config.GetDefaultConfig()
fileName := tests.RequireCreateFile(t, []byte(t.Name()+"\n"))

t.Run("success", func(t *testing.T) {
t.Parallel()

source, err := source.File(fileName, cfg)
require.NoError(t, err)

assert.True(t, source.CanFollow())
})

t.Run("not_found", func(t *testing.T) {
t.Parallel()

_, err := source.File(fileName+"-not-found", cfg)
require.Error(t, err)
})
}

0 comments on commit df67da6

Please # to comment.