package writeas import ( "fmt" "strings" "testing" "time" ) func TestGetCollection(t *testing.T) { wac := NewClient() res, err := wac.GetCollection("blog") if err != nil { t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) } else { t.Logf("Collection: %+v", res) if res.Title != "write.as" { t.Errorf("Unexpected fetch results: %+v\n", res) } } } func TestGetCollectionPosts(t *testing.T) { wac := NewClient() res, err := wac.GetCollectionPosts("blog") if err != nil { t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) } else { if len(*res) == 0 { t.Errorf("No posts returned!") } } } func TestGetUserCollections(t *testing.T) { wac := NewDevClient() _, err := wac.LogIn("demo", "demo") if err != nil { t.Fatalf("Unable to log in: %v", err) } defer wac.LogOut() res, err := wac.GetUserCollections() if err != nil { t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) } else { t.Logf("User collections: %+v", res) if len(*res) == 0 { t.Errorf("No collections returned!") } } } func TestCreateAndDeleteCollection(t *testing.T) { wac := NewDevClient() _, err := wac.LogIn("demo", "demo") if err != nil { t.Fatalf("Unable to log in: %v", err) } defer wac.LogOut() now := time.Now().Unix() alias := fmt.Sprintf("test-collection-%v", now) c, err := wac.CreateCollection(&CollectionParams{ Alias: alias, Title: fmt.Sprintf("Test Collection %v", now), }) if err != nil { t.Fatalf("Unable to create collection %q: %v", alias, err) } if err := wac.DeleteCollection(c.Alias); err != nil { t.Fatalf("Unable to delete collection %q: %v", alias, err) } } func TestDeleteCollectionUnauthenticated(t *testing.T) { wac := NewDevClient() now := time.Now().Unix() alias := fmt.Sprintf("test-collection-does-not-exist-%v", now) err := wac.DeleteCollection(alias) if err == nil { t.Fatalf("Should not be able to delete collection %q unauthenticated.", alias) } if !strings.Contains(err.Error(), "Not authenticated") { t.Fatalf("Error message should be more informative: %v", err) } } func ExampleClient_GetCollection() { c := NewClient() coll, err := c.GetCollection("blog") if err != nil { fmt.Printf("%v", err) return } fmt.Printf("%s", coll.Title) // Output: write.as }