From ef5a5d574ff218e49fa251043428e4edfaea5ac5 Mon Sep 17 00:00:00 2001 From: 413x Date: Mon, 28 Oct 2019 17:44:20 +0200 Subject: [PATCH] GH-12630 Migrate tests from model/file_info_test.go to use testify (#12647) * Rewrite tests on testify for model/file_info_test.go --- model/file_info_test.go | 208 ++++++++++++++-------------------------- 1 file changed, 70 insertions(+), 138 deletions(-) diff --git a/model/file_info_test.go b/model/file_info_test.go index f87dd46404..bf2e449ac2 100644 --- a/model/file_info_test.go +++ b/model/file_info_test.go @@ -5,6 +5,8 @@ package model import ( "encoding/base64" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" _ "image/gif" _ "image/png" "io/ioutil" @@ -22,179 +24,109 @@ func TestFileInfoIsValid(t *testing.T) { Path: "fake/path.png", } - if err := info.IsValid(); err != nil { - t.Fatal(err) - } + require.Nil(t, info.IsValid()) info.Id = "" - if err := info.IsValid(); err == nil { - t.Fatal("empty Id isn't valid") - } + require.NotNil(t, info.IsValid(), "empty Id isn't valid") info.Id = NewId() info.CreateAt = 0 - if err := info.IsValid(); err == nil { - t.Fatal("empty CreateAt isn't valid") - } + require.NotNil(t, info.IsValid(), "empty CreateAt isn't valid") info.CreateAt = 1234 info.UpdateAt = 0 - if err := info.IsValid(); err == nil { - t.Fatal("empty UpdateAt isn't valid") - } + require.NotNil(t, info.IsValid(), "empty UpdateAt isn't valid") info.UpdateAt = 1234 info.PostId = NewId() - if err := info.IsValid(); err != nil { - t.Fatal(err) - } + require.Nil(t, info.IsValid()) info.Path = "" - if err := info.IsValid(); err == nil { - t.Fatal("empty Path isn't valid") - } + require.NotNil(t, info.IsValid(), "empty Path isn't valid") info.Path = "fake/path.png" - if err := info.IsValid(); err != nil { - t.Fatal(err) - } + require.Nil(t, info.IsValid()) } func TestFileInfoIsImage(t *testing.T) { - info := &FileInfo{ - MimeType: "image/png", - } - - if !info.IsImage() { - t.Fatal("file is an image") - } + info := &FileInfo{MimeType: "image/png"} + assert.True(t, info.IsImage(), "file is an image") info.MimeType = "text/plain" - if info.IsImage() { - t.Fatal("file is not an image") - } + assert.False(t, info.IsImage(), "file is not an image") } func TestGetInfoForFile(t *testing.T) { fakeFile := make([]byte, 1000) - if info, err := GetInfoForBytes("file.txt", fakeFile); err != nil { - t.Fatal(err) - } else if info.Name != "file.txt" { - t.Fatalf("Got incorrect filename: %v", info.Name) - } else if info.Extension != "txt" { - t.Fatalf("Got incorrect extension: %v", info.Extension) - } else if info.Size != 1000 { - t.Fatalf("Got incorrect size: %v", info.Size) - } else if !strings.HasPrefix(info.MimeType, "text/plain") { - t.Fatalf("Got incorrect mime type: %v", info.MimeType) - } else if info.Width != 0 { - t.Fatalf("Got incorrect width: %v", info.Width) - } else if info.Height != 0 { - t.Fatalf("Got incorrect height: %v", info.Height) - } else if info.HasPreviewImage { - t.Fatalf("Got incorrect has preview image: %v", info.HasPreviewImage) - } + info, errApp := GetInfoForBytes("file.txt", fakeFile) + require.Nil(t, errApp) + assert.Equalf(t, info.Name, "file.txt", "Got incorrect filename: %v", info.Name) + assert.Equalf(t, info.Extension, "txt", "Got incorrect extension: %v", info.Extension) + assert.EqualValuesf(t, info.Size, 1000, "Got incorrect size: %v", info.Size) + assert.Truef(t, strings.HasPrefix(info.MimeType, "text/plain"), "Got incorrect mime type: %v", info.MimeType) + assert.Equalf(t, info.Width, 0, "Got incorrect width: %v", info.Width) + assert.Equalf(t, info.Height, 0, "Got incorrect height: %v", info.Height) + assert.Falsef(t, info.HasPreviewImage, "Got incorrect has preview image: %v", info.HasPreviewImage) pngFile, err := ioutil.ReadFile("../tests/test.png") - if err != nil { - t.Fatalf("Failed to load test.png: %v", err.Error()) - } - if info, err := GetInfoForBytes("test.png", pngFile); err != nil { - t.Fatal(err) - } else if info.Name != "test.png" { - t.Fatalf("Got incorrect filename: %v", info.Name) - } else if info.Extension != "png" { - t.Fatalf("Got incorrect extension: %v", info.Extension) - } else if info.Size != 279591 { - t.Fatalf("Got incorrect size: %v", info.Size) - } else if info.MimeType != "image/png" { - t.Fatalf("Got incorrect mime type: %v", info.MimeType) - } else if info.Width != 408 { - t.Fatalf("Got incorrect width: %v", info.Width) - } else if info.Height != 336 { - t.Fatalf("Got incorrect height: %v", info.Height) - } else if !info.HasPreviewImage { - t.Fatalf("Got incorrect has preview image: %v", info.HasPreviewImage) - } + require.Nilf(t, err, "Failed to load test.png") + + info, err = GetInfoForBytes("test.png", pngFile) + require.Nil(t, err) + assert.Equalf(t, info.Name, "test.png", "Got incorrect filename: %v", info.Name) + assert.Equalf(t, info.Extension, "png", "Got incorrect extension: %v", info.Extension) + assert.EqualValues(t, info.Size, 279591, "Got incorrect size: %v", info.Size) + assert.Equalf(t, info.MimeType, "image/png", "Got incorrect mime type: %v", info.MimeType) + assert.Equalf(t, info.Width, 408, "Got incorrect width: %v", info.Width) + assert.Equalf(t, info.Height, 336, "Got incorrect height: %v", info.Height) + assert.Truef(t, info.HasPreviewImage, "Got incorrect has preview image: %v", info.HasPreviewImage) // base 64 encoded version of handtinywhite.gif from http://probablyprogramming.com/2009/03/15/the-tiniest-gif-ever gifFile, _ := base64.StdEncoding.DecodeString("R0lGODlhAQABAIABAP///wAAACwAAAAAAQABAAACAkQBADs=") - if info, err := GetInfoForBytes("handtinywhite.gif", gifFile); err != nil { - t.Fatal(err) - } else if info.Name != "handtinywhite.gif" { - t.Fatalf("Got incorrect filename: %v", info.Name) - } else if info.Extension != "gif" { - t.Fatalf("Got incorrect extension: %v", info.Extension) - } else if info.Size != 35 { - t.Fatalf("Got incorrect size: %v", info.Size) - } else if info.MimeType != "image/gif" { - t.Fatalf("Got incorrect mime type: %v", info.MimeType) - } else if info.Width != 1 { - t.Fatalf("Got incorrect width: %v", info.Width) - } else if info.Height != 1 { - t.Fatalf("Got incorrect height: %v", info.Height) - } else if !info.HasPreviewImage { - t.Fatalf("Got incorrect has preview image: %v", info.HasPreviewImage) - } + info, err = GetInfoForBytes("handtinywhite.gif", gifFile) + require.Nil(t, err) + assert.Equalf(t, info.Name, "handtinywhite.gif", "Got incorrect filename: %v", info.Name) + assert.Equalf(t, info.Extension, "gif", "Got incorrect extension: %v", info.Extension) + assert.EqualValuesf(t, info.Size, 35, "Got incorrect size: %v", info.Size) + assert.Equalf(t, info.MimeType, "image/gif", "Got incorrect mime type: %v", info.MimeType) + assert.Equalf(t, info.Width, 1, "Got incorrect width: %v", info.Width) + assert.Equalf(t, info.Height, 1, "Got incorrect height: %v", info.Height) + assert.Truef(t, info.HasPreviewImage, "Got incorrect has preview image: %v", info.HasPreviewImage) animatedGifFile, err := ioutil.ReadFile("../tests/testgif.gif") - if err != nil { - t.Fatalf("Failed to load testgif.gif: %v", err.Error()) - } - if info, err := GetInfoForBytes("testgif.gif", animatedGifFile); err != nil { - t.Fatal(err) - } else if info.Name != "testgif.gif" { - t.Fatalf("Got incorrect filename: %v", info.Name) - } else if info.Extension != "gif" { - t.Fatalf("Got incorrect extension: %v", info.Extension) - } else if info.Size != 38689 { - t.Fatalf("Got incorrect size: %v", info.Size) - } else if info.MimeType != "image/gif" { - t.Fatalf("Got incorrect mime type: %v", info.MimeType) - } else if info.Width != 118 { - t.Fatalf("Got incorrect width: %v", info.Width) - } else if info.Height != 118 { - t.Fatalf("Got incorrect height: %v", info.Height) - } else if info.HasPreviewImage { - t.Fatalf("Got incorrect has preview image: %v", info.HasPreviewImage) - } + require.Nilf(t, err, "Failed to load testgif.gif") - if info, err := GetInfoForBytes("filewithoutextension", fakeFile); err != nil { - t.Fatal(err) - } else if info.Name != "filewithoutextension" { - t.Fatalf("Got incorrect filename: %v", info.Name) - } else if info.Extension != "" { - t.Fatalf("Got incorrect extension: %v", info.Extension) - } else if info.Size != 1000 { - t.Fatalf("Got incorrect size: %v", info.Size) - } else if info.MimeType != "" { - t.Fatalf("Got incorrect mime type: %v", info.MimeType) - } else if info.Width != 0 { - t.Fatalf("Got incorrect width: %v", info.Width) - } else if info.Height != 0 { - t.Fatalf("Got incorrect height: %v", info.Height) - } else if info.HasPreviewImage { - t.Fatalf("Got incorrect has preview image: %v", info.HasPreviewImage) - } + info, err = GetInfoForBytes("testgif.gif", animatedGifFile) + require.Nil(t, err) + assert.Equalf(t, info.Name, "testgif.gif", "Got incorrect filename: %v", info.Name) + assert.Equalf(t, info.Extension, "gif", "Got incorrect extension: %v", info.Extension) + assert.EqualValuesf(t, info.Size, 38689, "Got incorrect size: %v", info.Size) + assert.Equalf(t, info.MimeType, "image/gif", "Got incorrect mime type: %v", info.MimeType) + assert.Equalf(t, info.Width, 118, "Got incorrect width: %v", info.Width) + assert.Equalf(t, info.Height, 118, "Got incorrect height: %v", info.Height) + assert.Falsef(t, info.HasPreviewImage, "Got incorrect has preview image: %v", info.HasPreviewImage) + + info, err = GetInfoForBytes("filewithoutextension", fakeFile) + require.Nil(t, err) + assert.Equalf(t, info.Name, "filewithoutextension", "Got incorrect filename: %v", info.Name) + assert.Equalf(t, info.Extension, "", "Got incorrect extension: %v", info.Extension) + assert.EqualValuesf(t, info.Size, 1000, "Got incorrect size: %v", info.Size) + assert.Equalf(t, info.MimeType, "", "Got incorrect mime type: %v", info.MimeType) + assert.Equalf(t, info.Width, 0, "Got incorrect width: %v", info.Width) + assert.Equalf(t, info.Height, 0, "Got incorrect height: %v", info.Height) + assert.Falsef(t, info.HasPreviewImage, "Got incorrect has preview image: %v", info.HasPreviewImage) // Always make the extension lower case to make it easier to use in other places - if info, err := GetInfoForBytes("file.TXT", fakeFile); err != nil { - t.Fatal(err) - } else if info.Name != "file.TXT" { - t.Fatalf("Got incorrect filename: %v", info.Name) - } else if info.Extension != "txt" { - t.Fatalf("Got incorrect extension: %v", info.Extension) - } + info, err = GetInfoForBytes("file.TXT", fakeFile) + require.Nil(t, err) + assert.Equalf(t, info.Name, "file.TXT", "Got incorrect filename: %v", info.Name) + assert.Equalf(t, info.Extension, "txt", "Got incorrect extension: %v", info.Extension) // Don't error out for image formats we don't support - if info, err := GetInfoForBytes("file.tif", fakeFile); err != nil { - t.Fatal(err) - } else if info.Name != "file.tif" { - t.Fatalf("Got incorrect filename: %v", info.Name) - } else if info.Extension != "tif" { - t.Fatalf("Got incorrect extension: %v", info.Extension) - } else if info.MimeType != "image/tiff" && info.MimeType != "image/x-tiff" { - t.Fatalf("Got incorrect mime type: %v", info.MimeType) - } + info, err = GetInfoForBytes("file.tif", fakeFile) + require.Nil(t, err) + assert.Equalf(t, info.Name, "file.tif", "Got incorrect filename: %v", info.Name) + assert.Equalf(t, info.Extension, "tif", "Got incorrect extension: %v", info.Extension) + assert.True(t, info.MimeType == "image/x-tiff" || info.MimeType == "image/tiff", "Got incorrect mime type: %v", info.MimeType) }