From 99738790cb2f214eea621e3ce82091ff1ecb4149 Mon Sep 17 00:00:00 2001 From: Theresa Gresch Date: Tue, 16 Jul 2019 17:27:51 +0200 Subject: [PATCH] Refactored order of tests in mediafile_test.go --- internal/photoprism/mediafile_test.go | 431 ++++++++++++-------------- 1 file changed, 200 insertions(+), 231 deletions(-) diff --git a/internal/photoprism/mediafile_test.go b/internal/photoprism/mediafile_test.go index 9d08ffb73..0249ccd9d 100644 --- a/internal/photoprism/mediafile_test.go +++ b/internal/photoprism/mediafile_test.go @@ -9,6 +9,32 @@ import ( "github.com/stretchr/testify/assert" ) +func TestMediaFile_DateCreated(t *testing.T) { + conf := config.TestConfig() + + t.Run("iphone_7.heic", func(t *testing.T) { + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/iphone_7.heic") + assert.Nil(t, err) + date := mediaFile.DateCreated().UTC() + assert.Equal(t, "2018-09-10 12:16:13 +0000 UTC", date.String()) + assert.Empty(t, err) + }) + t.Run("canon_eos_6d.dng", func(t *testing.T) { + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/canon_eos_6d.dng") + assert.Nil(t, err) + date := mediaFile.DateCreated().UTC() + assert.Equal(t, "2019-06-06 07:29:51 +0000 UTC", date.String()) + assert.Empty(t, err) + }) + t.Run("elephants.jpg", func(t *testing.T) { + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/elephants.jpg") + assert.Nil(t, err) + date := mediaFile.DateCreated().UTC() + assert.Equal(t, "2013-11-26 15:53:55 +0000 UTC", date.String()) + assert.Empty(t, err) + }) +} + func TestMediaFile_TimeZone(t *testing.T) { t.Run("/beach_wood.jpg", func(t *testing.T) { conf := config.TestConfig() @@ -178,6 +204,57 @@ func TestMediaFile_Exposure(t *testing.T) { }) } +func TestMediaFileCanonicalName(t *testing.T) { + conf := config.TestConfig() + + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/beach_wood.jpg") + assert.Nil(t, err) + assert.Equal(t, "20180111_130938_EB4B2A989C20", mediaFile.CanonicalName()) +} + +func TestMediaFileCanonicalNameFromFile(t *testing.T) { + t.Run("/beach_wood.jpg", func(t *testing.T) { + conf := config.TestConfig() + + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/beach_wood.jpg") + assert.Nil(t, err) + assert.Equal(t, "beach_wood", mediaFile.CanonicalNameFromFile()) + }) + t.Run("/airport_grey", func(t *testing.T) { + conf := config.TestConfig() + + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/airport_grey") + assert.Nil(t, err) + assert.Equal(t, "airport_grey", mediaFile.CanonicalNameFromFile()) + }) +} + +func TestMediaFile_CanonicalNameFromFileWithDirectory(t *testing.T) { + conf := config.TestConfig() + + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/beach_wood.jpg") + assert.Nil(t, err) + assert.Equal(t, conf.ExamplesPath()+"/beach_wood", mediaFile.CanonicalNameFromFileWithDirectory()) +} + +func TestMediaFile_EditedFilename(t *testing.T) { + conf := config.TestConfig() + + t.Run("IMG_4120.JPG", func(t *testing.T) { + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/IMG_4120.JPG") + assert.Nil(t, err) + assert.Nil(t, err) + assert.Equal(t, conf.ExamplesPath()+"/IMG_E4120.JPG", mediaFile.EditedFilename()) + }) + + t.Run("fern_green.jpg", func(t *testing.T) { + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/fern_green.jpg") + assert.Nil(t, err) + assert.Nil(t, err) + assert.Equal(t, "", mediaFile.EditedFilename()) + }) +} + func TestMediaFile_RelatedFiles(t *testing.T) { conf := config.TestConfig() @@ -256,141 +333,6 @@ func TestMediaFile_RelatedFiles_Ordering(t *testing.T) { } } -func TestMediaFile_EditedFilename(t *testing.T) { - conf := config.TestConfig() - - t.Run("IMG_4120.JPG", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/IMG_4120.JPG"); err == nil { - - assert.Nil(t, err) - assert.Equal(t, conf.ExamplesPath()+"/IMG_E4120.JPG", mediaFile.EditedFilename()) - } else { - t.Error(err) - } - }) - - t.Run("fern_green.jpg", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/fern_green.jpg"); err == nil { - - assert.Nil(t, err) - assert.Equal(t, "", mediaFile.EditedFilename()) - } else { - t.Error(err) - } - }) -} - -func TestMediaFile_MimeType(t *testing.T) { - conf := config.TestConfig() - - t.Run("elephants.jpg", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/elephants.jpg"); err == nil { - - assert.Nil(t, err) - assert.Equal(t, "image/jpeg", mediaFile.MimeType()) - } else { - t.Error(err) - } - }) - - t.Run("canon_eos_6d.dng", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/canon_eos_6d.dng"); err == nil { - - assert.Nil(t, err) - assert.Equal(t, "application/octet-stream", mediaFile.MimeType()) - } else { - t.Error(err) - } - }) - - t.Run("iphone_7.xmp", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/iphone_7.xmp"); err == nil { - - assert.Nil(t, err) - assert.Equal(t, "text/plain; charset=utf-8", mediaFile.MimeType()) - } else { - t.Error(err) - } - }) - - t.Run("iphone_7.json", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/iphone_7.json"); err == nil { - - assert.Nil(t, err) - assert.Equal(t, "text/plain; charset=utf-8", mediaFile.MimeType()) - } else { - t.Error(err) - } - }) - - t.Run("iphone_7.heic", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/iphone_7.heic"); err == nil { - - assert.Nil(t, err) - assert.Equal(t, "application/octet-stream", mediaFile.MimeType()) - } else { - t.Error(err) - } - }) - - t.Run("IMG_4120.AAE", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/IMG_4120.AAE"); err == nil { - - assert.Nil(t, err) - assert.Equal(t, "text/xml; charset=utf-8", mediaFile.MimeType()) - } else { - t.Error(err) - } - }) -} - -func TestMediaFile_Exists(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/cat_black.jpg") - assert.Nil(t, err) - assert.NotNil(t, mediaFile) - assert.True(t, mediaFile.Exists()) - - mediaFile, err = NewMediaFile(conf.ExamplesPath() + "/xxz.jpg") - assert.NotNil(t, err) - assert.Nil(t, mediaFile) -} - -func TestMediaFileCanonicalName(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/beach_wood.jpg") - assert.Nil(t, err) - assert.Equal(t, "20180111_130938_EB4B2A989C20", mediaFile.CanonicalName()) -} - -func TestMediaFileCanonicalNameFromFile(t *testing.T) { - t.Run("/beach_wood.jpg", func(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/beach_wood.jpg") - assert.Nil(t, err) - assert.Equal(t, "beach_wood", mediaFile.CanonicalNameFromFile()) - }) - t.Run("/airport_grey", func(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/airport_grey") - assert.Nil(t, err) - assert.Equal(t, "airport_grey", mediaFile.CanonicalNameFromFile()) - }) - -} - -func TestMediaFile_CanonicalNameFromFileWithDirectory(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/beach_wood.jpg") - assert.Nil(t, err) - assert.Equal(t, conf.ExamplesPath()+"/beach_wood", mediaFile.CanonicalNameFromFileWithDirectory()) -} - func TestMediaFile_SetFilename(t *testing.T) { conf := config.TestConfig() @@ -402,74 +344,28 @@ func TestMediaFile_SetFilename(t *testing.T) { assert.Equal(t, "turtle_brown_blue", mediaFile.filename) } -func TestMediaFile_Copy(t *testing.T) { - conf := config.TestConfig() - - thumbsPath := conf.CachePath() + "/_tmp" - - os.MkdirAll(thumbsPath, os.ModePerm) - - defer os.RemoveAll(thumbsPath) - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/table_white.jpg") - assert.Nil(t, err) - mediaFile.Copy(thumbsPath + "table_whitecopy.jpg") - assert.True(t, util.Exists(thumbsPath+"table_whitecopy.jpg")) - -} - -func TestMediaFile_Directory(t *testing.T) { - t.Run("/limes.jpg", func(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/limes.jpg") - assert.Nil(t, err) - assert.Equal(t, conf.ExamplesPath(), mediaFile.Directory()) - }) -} - -func TestMediaFile_RelativeBasename(t *testing.T) { +func TestMediaFile_RelativeFilename(t *testing.T) { conf := config.TestConfig() mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/tree_white.jpg") assert.Nil(t, err) t.Run("directory with end slash", func(t *testing.T) { - basename := mediaFile.RelativeBasename("/go/src/github.com/photoprism/photoprism/assets/resources/") - assert.Equal(t, "examples/tree_white", basename) + filename := mediaFile.RelativeFilename("/go/src/github.com/photoprism/photoprism/assets/resources/") + assert.Equal(t, "examples/tree_white.jpg", filename) }) + t.Run("directory without end slash", func(t *testing.T) { - basename := mediaFile.RelativeBasename("/go/src/github.com/photoprism/photoprism/assets/resources") - assert.Equal(t, "examples/tree_white", basename) + filename := mediaFile.RelativeFilename("/go/src/github.com/photoprism/photoprism/assets/resources") + assert.Equal(t, "examples/tree_white.jpg", filename) + }) + t.Run("directory not part of filename", func(t *testing.T) { + filename := mediaFile.RelativeFilename("xxx/") + assert.Equal(t, conf.ExamplesPath()+"/tree_white.jpg", filename) }) t.Run("directory equals example path", func(t *testing.T) { - basename := mediaFile.RelativeBasename("/go/src/github.com/photoprism/photoprism/assets/resources/examples/") - assert.Equal(t, "tree_white", basename) - }) - -} - -func TestMediaFile_Basename(t *testing.T) { - t.Run("/limes.jpg", func(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/limes.jpg") - assert.Nil(t, err) - assert.Equal(t, "limes", mediaFile.Basename()) - }) - t.Run("/IMG_4120 copy.JPG", func(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/IMG_4120 copy.JPG") - assert.Nil(t, err) - assert.Equal(t, "IMG_4120", mediaFile.Basename()) - }) - t.Run("/IMG_4120 (1).JPG", func(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/IMG_4120 (1).JPG") - assert.Nil(t, err) - assert.Equal(t, "IMG_4120", mediaFile.Basename()) + filename := mediaFile.RelativeFilename("/go/src/github.com/photoprism/photoprism/assets/resources/examples") + assert.Equal(t, "tree_white.jpg", filename) }) } @@ -498,61 +394,134 @@ func TestMediaFile_RelativePath(t *testing.T) { }) } -func TestMediaFile_RelativeFilename(t *testing.T) { +func TestMediaFile_RelativeBasename(t *testing.T) { conf := config.TestConfig() mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/tree_white.jpg") assert.Nil(t, err) t.Run("directory with end slash", func(t *testing.T) { - filename := mediaFile.RelativeFilename("/go/src/github.com/photoprism/photoprism/assets/resources/") - assert.Equal(t, "examples/tree_white.jpg", filename) + basename := mediaFile.RelativeBasename("/go/src/github.com/photoprism/photoprism/assets/resources/") + assert.Equal(t, "examples/tree_white", basename) }) - t.Run("directory without end slash", func(t *testing.T) { - filename := mediaFile.RelativeFilename("/go/src/github.com/photoprism/photoprism/assets/resources") - assert.Equal(t, "examples/tree_white.jpg", filename) - }) - t.Run("directory not part of filename", func(t *testing.T) { - filename := mediaFile.RelativeFilename("xxx/") - assert.Equal(t, conf.ExamplesPath()+"/tree_white.jpg", filename) + basename := mediaFile.RelativeBasename("/go/src/github.com/photoprism/photoprism/assets/resources") + assert.Equal(t, "examples/tree_white", basename) }) t.Run("directory equals example path", func(t *testing.T) { - filename := mediaFile.RelativeFilename("/go/src/github.com/photoprism/photoprism/assets/resources/examples") - assert.Equal(t, "tree_white.jpg", filename) + basename := mediaFile.RelativeBasename("/go/src/github.com/photoprism/photoprism/assets/resources/examples/") + assert.Equal(t, "tree_white", basename) + }) + +} + +func TestMediaFile_Directory(t *testing.T) { + t.Run("/limes.jpg", func(t *testing.T) { + conf := config.TestConfig() + + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/limes.jpg") + assert.Nil(t, err) + assert.Equal(t, conf.ExamplesPath(), mediaFile.Directory()) }) } -func TestMediaFile_DateCreated(t *testing.T) { +func TestMediaFile_Basename(t *testing.T) { + t.Run("/limes.jpg", func(t *testing.T) { + conf := config.TestConfig() + + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/limes.jpg") + assert.Nil(t, err) + assert.Equal(t, "limes", mediaFile.Basename()) + }) + t.Run("/IMG_4120 copy.JPG", func(t *testing.T) { + conf := config.TestConfig() + + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/IMG_4120 copy.JPG") + assert.Nil(t, err) + assert.Equal(t, "IMG_4120", mediaFile.Basename()) + }) + t.Run("/IMG_4120 (1).JPG", func(t *testing.T) { + conf := config.TestConfig() + + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/IMG_4120 (1).JPG") + assert.Nil(t, err) + assert.Equal(t, "IMG_4120", mediaFile.Basename()) + }) +} + +func TestMediaFile_MimeType(t *testing.T) { conf := config.TestConfig() - t.Run("iphone_7.heic", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/iphone_7.heic"); err == nil { - date := mediaFile.DateCreated().UTC() - assert.Equal(t, "2018-09-10 12:16:13 +0000 UTC", date.String()) - assert.Empty(t, err) - } else { - t.Error(err) - } - }) - t.Run("canon_eos_6d.dng", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/canon_eos_6d.dng"); err == nil { - date := mediaFile.DateCreated().UTC() - assert.Equal(t, "2019-06-06 07:29:51 +0000 UTC", date.String()) - assert.Empty(t, err) - } else { - t.Error(err) - } - }) t.Run("elephants.jpg", func(t *testing.T) { - if mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/elephants.jpg"); err == nil { - date := mediaFile.DateCreated().UTC() - assert.Equal(t, "2013-11-26 15:53:55 +0000 UTC", date.String()) - assert.Empty(t, err) - } else { - t.Error(err) - } + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/elephants.jpg") + assert.Nil(t, err) + assert.Nil(t, err) + assert.Equal(t, "image/jpeg", mediaFile.MimeType()) }) + + t.Run("canon_eos_6d.dng", func(t *testing.T) { + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/canon_eos_6d.dng") + assert.Nil(t, err) + assert.Nil(t, err) + assert.Equal(t, "application/octet-stream", mediaFile.MimeType()) + + }) + + t.Run("iphone_7.xmp", func(t *testing.T) { + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/iphone_7.xmp") + assert.Nil(t, err) + assert.Nil(t, err) + assert.Equal(t, "text/plain; charset=utf-8", mediaFile.MimeType()) + }) + + t.Run("iphone_7.json", func(t *testing.T) { + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/iphone_7.json") + assert.Nil(t, err) + assert.Nil(t, err) + assert.Equal(t, "text/plain; charset=utf-8", mediaFile.MimeType()) + }) + + t.Run("iphone_7.heic", func(t *testing.T) { + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/iphone_7.heic") + assert.Nil(t, err) + assert.Nil(t, err) + assert.Equal(t, "application/octet-stream", mediaFile.MimeType()) + }) + + t.Run("IMG_4120.AAE", func(t *testing.T) { + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/IMG_4120.AAE") + assert.Nil(t, err) + assert.Nil(t, err) + assert.Equal(t, "text/xml; charset=utf-8", mediaFile.MimeType()) + }) +} + +func TestMediaFile_Exists(t *testing.T) { + conf := config.TestConfig() + + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/cat_black.jpg") + assert.Nil(t, err) + assert.NotNil(t, mediaFile) + assert.True(t, mediaFile.Exists()) + + mediaFile, err = NewMediaFile(conf.ExamplesPath() + "/xxz.jpg") + assert.NotNil(t, err) + assert.Nil(t, mediaFile) +} + +func TestMediaFile_Copy(t *testing.T) { + conf := config.TestConfig() + + thumbsPath := conf.CachePath() + "/_tmp" + + os.MkdirAll(thumbsPath, os.ModePerm) + + defer os.RemoveAll(thumbsPath) + + mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/table_white.jpg") + assert.Nil(t, err) + mediaFile.Copy(thumbsPath + "table_whitecopy.jpg") + assert.True(t, util.Exists(thumbsPath+"table_whitecopy.jpg")) } func TestMediaFile_Extension(t *testing.T) {