Skip to content

Commit

Permalink
add gridfs test
Browse files Browse the repository at this point in the history
  • Loading branch information
simagix committed Feb 15, 2019
1 parent c554200 commit e65e69b
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions examples/gridfs_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
// Copyright 2019 Kuei-chun Chen. All rights reserved.

package examples

import (
"bufio"
"bytes"
"testing"

"github.com/mongodb/mongo-go-driver/mongo"
"github.com/mongodb/mongo-go-driver/mongo/gridfs"
"github.com/mongodb/mongo-go-driver/mongo/options"
"github.com/mongodb/mongo-go-driver/x/bsonx"
)

func TestGridFS(t *testing.T) {
var err error
var client *mongo.Client
var bucket *gridfs.Bucket
var ustream *gridfs.UploadStream

str := "This is a test file"
client = getMongoClient()

if bucket, err = gridfs.NewBucket(client.Database(dbName), options.GridFSBucket().SetName("myFiles")); err != nil {
t.Fatal(err)
}

opts := options.GridFSUpload()
opts.SetMetadata(bsonx.Doc{{Key: "content-type", Value: bsonx.String("application/json")}})
if ustream, err = bucket.OpenUploadStream("test.txt", opts); err != nil {
t.Fatal(err)
}

if _, err = ustream.Write([]byte(str)); err != nil {
t.Fatal(err)
}

fileID := ustream.FileID
ustream.Close()
var b bytes.Buffer
w := bufio.NewWriter(&b)

if _, err = bucket.DownloadToStream(fileID, w); err != nil {
t.Fatal(err, ustream.FileID)
}

if b.String() != str {
t.Fatal("expected", str, "but got", b.String())
}
}

0 comments on commit e65e69b

Please sign in to comment.