github.com/wrgl/wrgl@v0.14.0/pkg/ingest/profile_test.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright © 2022 Wrangle Ltd
     3  
     4  package ingest
     5  
     6  import (
     7  	"os"
     8  	"testing"
     9  
    10  	"github.com/go-logr/logr/testr"
    11  	"github.com/stretchr/testify/assert"
    12  	"github.com/stretchr/testify/require"
    13  	"github.com/wrgl/wrgl/pkg/objects"
    14  	objmock "github.com/wrgl/wrgl/pkg/objects/mock"
    15  	"github.com/wrgl/wrgl/pkg/sorter"
    16  	"github.com/wrgl/wrgl/pkg/testutils"
    17  )
    18  
    19  func TestProfileTable(t *testing.T) {
    20  	rows := testutils.BuildRawCSV(4, 700)
    21  	f := writeCSV(t, rows)
    22  	defer os.Remove(f.Name())
    23  	db := objmock.NewStore()
    24  	s, err := sorter.NewSorter()
    25  	require.NoError(t, err)
    26  	logger := testr.New(t)
    27  
    28  	sum, err := IngestTable(db, s, f, rows[0][:1], logger)
    29  	require.NoError(t, err)
    30  	tbl, err := objects.GetTable(db, sum)
    31  	require.NoError(t, err)
    32  	tblProf, err := objects.GetTableProfile(db, sum)
    33  	require.NoError(t, err)
    34  	require.NoError(t, objects.DeleteTableProfile(db, sum))
    35  
    36  	require.NoError(t, ProfileTable(db, sum, tbl))
    37  	tblSum2, err := objects.GetTableProfile(db, sum)
    38  	require.NoError(t, err)
    39  	assert.Equal(t, tblProf, tblSum2)
    40  }