package imp

import (
	l4g "github.com/alecthomas/log4go"
	"github.com/avast/retry-go"
	"github.com/dailymotion/allure-go"
	"github.com/pingcap/errors"
	"time"
)

func (b *BaseImportScene) checkFileSize() {
	err := retry.Do(
		func() error {
			imp, err := b.Get()
			if err != nil {
				return err
			}
			if *imp.TotalSize == "0" || *imp.TotalSize == "" {
				return errors.Errorf("import(%s) file size is 0", imp.ID)
			}
			return nil
		},
		retry.DelayType(retry.FixedDelay),
		retry.Delay(time.Second*10),
		retry.Attempts(3),
		retry.OnRetry(func(n uint, err error) {
			l4g.Info("#%d: %s\n", n, err)
		}),
	)

	if err != nil {
		l4g.Error(err)
		allure.FailNow(err)
	}
}
