summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhmhealey <harrisonmhealey@gmail.com>2015-12-18 19:02:48 -0500
committerhmhealey <harrisonmhealey@gmail.com>2015-12-18 19:02:48 -0500
commitcfdc5ab9998a86a8b540d8f5d5a7b429e919e4d6 (patch)
tree0f00aafc688e4216cc6c463313afcfe389ec628c
parent6288a1347e9870a5df8b3fee46066775d73367e5 (diff)
downloadchat-cfdc5ab9998a86a8b540d8f5d5a7b429e919e4d6.tar.gz
chat-cfdc5ab9998a86a8b540d8f5d5a7b429e919e4d6.tar.bz2
chat-cfdc5ab9998a86a8b540d8f5d5a7b429e919e4d6.zip
Fixed TestGetFile unit test
-rw-r--r--api/file_test.go7
-rw-r--r--model/client.go2
-rw-r--r--model/file_info.go12
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
+ }
+}