Page Menu
Home
Musing Studio
Search
Configure Global Search
Log In
Files
F10669213
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Subscribers
None
View Options
diff --git a/collection_test.go b/collection_test.go
index fe90ccc..d6bb49b 100644
--- a/collection_test.go
+++ b/collection_test.go
@@ -1,109 +1,107 @@
package writeas
import (
"fmt"
"strings"
"testing"
"time"
)
func TestGetCollection(t *testing.T) {
- wac := NewClient()
+ dwac := NewDevClient()
- res, err := wac.GetCollection("blog")
+ res, err := dwac.GetCollection("tester")
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 blog" {
- t.Errorf("Unexpected fetch results: %+v\n", res)
- }
+ }
+ if res == nil {
+ t.Error("Expected collection to not be nil")
}
}
func TestGetCollectionPosts(t *testing.T) {
- wac := NewClient()
+ dwac := NewDevClient()
+ posts := []Post{}
- res, err := wac.GetCollectionPosts("blog")
- if err != nil {
- t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err)
- } else {
+ t.Run("Get all posts in collection", func(t *testing.T) {
+ res, err := dwac.GetCollectionPosts("tester")
+ if err != nil {
+ t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err)
+ }
if len(*res) == 0 {
- t.Errorf("No posts returned!")
+ t.Error("Expected at least on post in collection")
+ }
+ posts = *res
+ })
+ t.Run("Get one post from collection", func(t *testing.T) {
+ res, err := dwac.GetCollectionPost("tester", posts[0].Slug)
+ if err != nil {
+ t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err)
}
- }
-}
-
-func TestGetCollectionPost(t *testing.T) {
- wac := NewClient()
-
- res, err := wac.GetCollectionPost("blog", "extending-write-as")
- if err != nil {
- t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err)
- }
- if res == nil {
- t.Errorf("No post returned!")
- }
+ if res == nil {
+ t.Errorf("No post returned!")
+ }
- if len(res.Content) == 0 {
- t.Errorf("Post content is empty!")
- }
+ if len(res.Content) == 0 {
+ t.Errorf("Post content is empty!")
+ }
+ })
}
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)
}
}
diff --git a/post_test.go b/post_test.go
index a7e3475..9d2fb47 100644
--- a/post_test.go
+++ b/post_test.go
@@ -1,110 +1,93 @@
package writeas
import (
"fmt"
- "strings"
"testing"
)
-func TestCreatePost(t *testing.T) {
- wac := NewClient()
- p, err := wac.CreatePost(&PostParams{
- Title: "Title!",
- Content: "This is a post.",
- Font: "sans",
+func TestPostRoundTrip(t *testing.T) {
+ var id, token string
+ dwac := NewClient()
+ t.Run("Create post", func(t *testing.T) {
+ p, err := dwac.CreatePost(&PostParams{
+ Title: "Title!",
+ Content: "This is a post.",
+ Font: "sans",
+ })
+ if err != nil {
+ t.Errorf("Post create failed: %v", err)
+ return
+ }
+ t.Logf("Post created: %+v", p)
+ id, token = p.ID, p.Token
})
- if err != nil {
- t.Errorf("Post create failed: %v", err)
- return
- }
- t.Logf("Post created: %+v", p)
-
- token := p.Token
-
- // Update post
- p, err = wac.UpdatePost(p.ID, token, &PostParams{
- Content: "Now it's been updated!",
+ t.Run("Get post", func(t *testing.T) {
+ res, err := dwac.GetPost(id)
+ if err != nil {
+ t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err)
+ } else {
+ t.Logf("Post: %+v", res)
+ if res.Content != "This is a post." {
+ t.Errorf("Unexpected fetch results: %+v\n", res)
+ }
+ }
})
- if err != nil {
- t.Errorf("Post update failed: %v", err)
- return
- }
- t.Logf("Post updated: %+v", p)
-
- // Delete post
- err = wac.DeletePost(p.ID, token)
- if err != nil {
- t.Errorf("Post delete failed: %v", err)
- return
- }
- t.Logf("Post deleted!")
-}
-
-func TestGetPost(t *testing.T) {
- dwac := NewDevClient()
- res, err := dwac.GetPost("zekk5r9apum6p")
- if err != nil {
- t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err)
- } else {
- t.Logf("Post: %+v", res)
- if res.Content != "This is a post." {
- t.Errorf("Unexpected fetch results: %+v\n", res)
+ t.Run("Update post", func(t *testing.T) {
+ p, err := dwac.UpdatePost(id, token, &PostParams{
+ Content: "Now it's been updated!",
+ })
+ if err != nil {
+ t.Errorf("Post update failed: %v", err)
+ return
}
- }
-
- wac := NewClient()
- res, err = wac.GetPost("3psnxyhqxy3hq")
- if err != nil {
- t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err)
- } else {
- if !strings.HasPrefix(res.Content, " Write.as Blog") {
- t.Errorf("Unexpected fetch results: %+v\n", res)
+ t.Logf("Post updated: %+v", p)
+ })
+ t.Run("Delete post", func(t *testing.T) {
+ err := dwac.DeletePost(id, token)
+ if err != nil {
+ t.Errorf("Post delete failed: %v", err)
+ return
}
- }
-}
-
-func TestPinPost(t *testing.T) {
- dwac := NewDevClient()
- _, err := dwac.LogIn("demo", "demo")
- if err != nil {
- t.Fatalf("Unable to log in: %v", err)
- }
- defer dwac.LogOut()
-
- err = dwac.PinPost("tester", &PinnedPostParams{ID: "olx6uk7064heqltf"})
- if err != nil {
- t.Fatalf("Pin failed: %v", err)
- }
+ t.Logf("Post deleted!")
+ })
}
-func TestUnpinPost(t *testing.T) {
+func TestPinUnPin(t *testing.T) {
dwac := NewDevClient()
_, err := dwac.LogIn("demo", "demo")
if err != nil {
t.Fatalf("Unable to log in: %v", err)
}
defer dwac.LogOut()
- err = dwac.UnpinPost("tester", &PinnedPostParams{ID: "olx6uk7064heqltf"})
- if err != nil {
- t.Fatalf("Unpin failed: %v", err)
- }
+ t.Run("Pin post", func(t *testing.T) {
+ err := dwac.PinPost("tester", &PinnedPostParams{ID: "olx6uk7064heqltf"})
+ if err != nil {
+ t.Fatalf("Pin failed: %v", err)
+ }
+ })
+ t.Run("Unpin post", func(t *testing.T) {
+ err := dwac.UnpinPost("tester", &PinnedPostParams{ID: "olx6uk7064heqltf"})
+ if err != nil {
+ t.Fatalf("Unpin failed: %v", err)
+ }
+ })
}
func ExampleClient_CreatePost() {
- c := NewClient()
+ dwac := NewDevClient()
// Publish a post
- p, err := c.CreatePost(&PostParams{
+ p, err := dwac.CreatePost(&PostParams{
Title: "Title!",
Content: "This is a post.",
Font: "sans",
})
if err != nil {
fmt.Printf("Unable to create: %v", err)
return
}
fmt.Printf("%s", p.Content)
// Output: This is a post.
}
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Thu, May 15, 7:42 PM (1 d, 18 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3239877
Attached To
rWGO writeas-go
Event Timeline
Log In to Comment