package database import "testing" import ( "labix.org/v2/mgo/bson" ) var book = map[string]interface{}{ "title": "some title", "author": []string{"Alice", "Bob"}, } func TestAddBook(t *testing.T) { db := Init(test_host, test_coll) defer db.del() tAddBook(t, db) books, num, err := db.GetBooks(bson.M{}, 1, 0) if err != nil { t.Fatalf("db.GetBooks() return an error: ", err) } if num < 1 { t.Fatalf("db.GetBooks() didn't find any result.") } if len(books) < 1 { t.Fatalf("db.GetBooks() didn't return any result.") } if books[0].Title != book["title"] { t.Errorf("Book title don't match : '", books[0].Title, "' <=> '", book["title"], "'") } } func tAddBook(t *testing.T, db *DB) { err := db.AddBook(book) if err != nil { t.Errorf("db.AddBook(", book, ") return an error: ", err) } }