github.com/kubeshop/testkube@v1.17.23/pkg/repository/result/minio_output_test.go (about)

     1  package result
     2  
     3  import (
     4  	"context"
     5  	"strings"
     6  	"testing"
     7  
     8  	gomock "github.com/golang/mock/gomock"
     9  	"github.com/minio/minio-go/v7"
    10  	"github.com/stretchr/testify/assert"
    11  
    12  	"github.com/kubeshop/testkube/pkg/storage"
    13  )
    14  
    15  func TestGetOutputSize(t *testing.T) {
    16  	mockCtrl := gomock.NewController(t)
    17  	storageMock := storage.NewMockClient(mockCtrl)
    18  	outputClient := NewMinioOutputRepository(storageMock, nil, "test-bucket")
    19  	streamContent := "test line"
    20  	storageMock.EXPECT().DownloadFileFromBucket(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).
    21  		Return(strings.NewReader(streamContent), minio.ObjectInfo{}, nil)
    22  	size, err := outputClient.GetOutputSize(context.Background(), "test-id", "test-name", "test-suite-name")
    23  	assert.Nil(t, err)
    24  	assert.Equal(t, len(streamContent), size)
    25  
    26  }