package discover import ( "os" "testing" "backend/common/service/testx" "backend/modules/medias" "backend/providers/postgres" . "github.com/smartystreets/goconvey/convey" "github.com/stretchr/testify/suite" "go.uber.org/dig" ) type DiscoverMediasInjectParams struct { dig.In Svc *DiscoverMedias } type DiscoverMediasTestSuite struct { suite.Suite DiscoverMediasInjectParams } func Test_DiscoverMedias(t *testing.T) { providers := testx.Default( postgres.DefaultProvider(), ).With( Provide, medias.Provide, ) testx.Serve(providers, t, func(params DiscoverMediasInjectParams) { suite.Run(t, &DiscoverMediasTestSuite{DiscoverMediasInjectParams: params}) }) } func (t *DiscoverMediasTestSuite) Test_getVideo() { Convey("Test_getVideo", t.T(), func() { dirs := t.Svc.globVideo("/mnt/yangpingliang/动态曲谱/河北梆子伴奏《李慧娘》依然还我生前摸样") t.T().Logf("Dirs: %+v", dirs) }) } func (t *DiscoverMediasTestSuite) Test_getAudio() { Convey("Test_getAudio", t.T(), func() { dirs := t.Svc.globAudio("/mnt/yangpingliang/动态曲谱/河北梆子伴奏《李慧娘》依然还我生前摸样") t.T().Logf("Dirs: %+v", dirs) }) } func (t *DiscoverMediasTestSuite) Test_ffmpegVideoToM3U8() { Convey("Test_ffmpegVideoToM3U8", t.T(), func() { output := "/projects/mp-qvyun/backend/fixtures/medias/abc" os.RemoveAll(output) err := t.Svc.ffmpegVideoToM3U8("/projects/mp-qvyun/backend/fixtures/medias/video.mp4", output) So(err, ShouldBeNil) }) } func (t *DiscoverMediasTestSuite) Test_item() { Convey("Test_item", t.T(), func() { items := []int{} defer func() { for _, item := range items { t.T().Logf("Recovered in f %d", item) } }() for i := 0; i < 4; i++ { items = append(items, i) } }) } func (t *DiscoverMediasTestSuite) TestDiscoverMedias_getMediaDuration() { Convey("TestDiscoverMedias_getMediaDuration", t.T(), func() { duration, err := t.Svc.getMediaDuration("/projects/mp-qvyun/backend/fixtures/medias/video.mp4") So(err, ShouldBeNil) t.T().Logf("Duration: %0.8f", duration) }) }