From cfdc5ab9998a86a8b540d8f5d5a7b429e919e4d6 Mon Sep 17 00:00:00 2001 From: hmhealey Date: Fri, 18 Dec 2015 19:02:48 -0500 Subject: Fixed TestGetFile unit test --- api/file_test.go | 7 +++---- model/client.go | 2 +- model/file_info.go | 12 ++++++++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/api/file_test.go b/api/file_test.go index b5501e4bd..b3fbd2a27 100644 --- a/api/file_test.go +++ b/api/file_test.go @@ -152,7 +152,6 @@ func TestGetFile(t *testing.T) { channel1 = Client.Must(Client.CreateChannel(channel1)).Data.(*model.Channel) if utils.Cfg.FileSettings.DriverName != "" { - body := &bytes.Buffer{} writer := multipart.NewWriter(body) part, err := writer.CreateFormFile("files", "test.png") @@ -204,9 +203,9 @@ func TestGetFile(t *testing.T) { if resp, downErr := Client.GetFileInfo(filenames[0]); downErr != nil { t.Fatal(downErr) } else { - m := resp.Data.(map[string]string) - if len(m["size"]) == 0 { - t.Fail() + info := resp.Data.(*model.FileInfo) + if info.Size == 0 { + t.Fatal("No file size returned") } } diff --git a/model/client.go b/model/client.go index d3f76817d..b9b97dedc 100644 --- a/model/client.go +++ b/model/client.go @@ -717,7 +717,7 @@ func (c *Client) GetFileInfo(url string) (*Result, *AppError) { return nil, AppErrorFromJson(rp.Body) } else { return &Result{rp.Header.Get(HEADER_REQUEST_ID), - rp.Header.Get(HEADER_ETAG_SERVER), MapFromJson(rp.Body)}, nil + rp.Header.Get(HEADER_ETAG_SERVER), FileInfoFromJson(rp.Body)}, nil } } diff --git a/model/file_info.go b/model/file_info.go index d96723f32..741b4e55d 100644 --- a/model/file_info.go +++ b/model/file_info.go @@ -7,6 +7,7 @@ import ( "bytes" "encoding/json" "image/gif" + "io" "mime" "path/filepath" ) @@ -58,3 +59,14 @@ func (info *FileInfo) ToJson() string { return string(b) } } + +func FileInfoFromJson(data io.Reader) *FileInfo { + decoder := json.NewDecoder(data) + + var info FileInfo + if err := decoder.Decode(&info); err != nil { + return nil + } else { + return &info + } +} -- cgit v1.2.3-1-g7c22