Use require instead of assert for tests

This makes the test fail and stop execution immediately after an
incorrect assertion.

Signed-off-by: Vartan Benohanian <vartanbeno@gmail.com>
This commit is contained in:
Vartan Benohanian 2020-08-11 16:21:07 -04:00
parent 67cd813e70
commit 728087b874
13 changed files with 926 additions and 926 deletions

View file

@ -8,7 +8,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var expectedInfo = &User{
@ -127,16 +127,16 @@ func TestAccountService_Info(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/account/info.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/me", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
info, _, err := client.Account.Info(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedInfo, info)
require.NoError(t, err)
require.Equal(t, expectedInfo, info)
}
func TestAccountService_Karma(t *testing.T) {
@ -144,16 +144,16 @@ func TestAccountService_Karma(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/account/karma.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/me/karma", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
karma, _, err := client.Account.Karma(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedKarma, karma)
require.NoError(t, err)
require.Equal(t, expectedKarma, karma)
}
func TestAccountService_Settings(t *testing.T) {
@ -161,16 +161,16 @@ func TestAccountService_Settings(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/account/settings.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/me/prefs", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
settings, _, err := client.Account.Settings(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedSettings, settings)
require.NoError(t, err)
require.Equal(t, expectedSettings, settings)
}
func TestAccountService_UpdateSettings(t *testing.T) {
@ -178,24 +178,24 @@ func TestAccountService_UpdateSettings(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/account/settings.json")
assert.NoError(t, err)
require.NoError(t, err)
expectedSettingsBody := &Settings{NumberOfPosts: Int(10), MinimumCommentScore: Int(5), Compress: Bool(true)}
mux.HandleFunc("/api/v1/me/prefs", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPatch, r.Method)
require.Equal(t, http.MethodPatch, r.Method)
settingsBody := new(Settings)
err := json.NewDecoder(r.Body).Decode(settingsBody)
assert.NoError(t, err)
assert.Equal(t, expectedSettingsBody, settingsBody)
require.NoError(t, err)
require.Equal(t, expectedSettingsBody, settingsBody)
fmt.Fprint(w, blob)
})
settings, _, err := client.Account.UpdateSettings(ctx, expectedSettingsBody)
assert.NoError(t, err)
assert.Equal(t, expectedSettings, settings)
require.NoError(t, err)
require.Equal(t, expectedSettings, settings)
}
func TestAccountService_Trophies(t *testing.T) {
@ -203,16 +203,16 @@ func TestAccountService_Trophies(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/account/trophies.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/me/trophies", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
trophies, _, err := client.Account.Trophies(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedTrophies, trophies)
require.NoError(t, err)
require.Equal(t, expectedTrophies, trophies)
}
func TestAccountService_Friends(t *testing.T) {
@ -220,16 +220,16 @@ func TestAccountService_Friends(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/account/friends.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/prefs/friends", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
relationships, _, err := client.Account.Friends(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedRelationships, relationships)
require.NoError(t, err)
require.Equal(t, expectedRelationships, relationships)
}
func TestAccountService_Blocked(t *testing.T) {
@ -237,16 +237,16 @@ func TestAccountService_Blocked(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/account/blocked.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/prefs/blocked", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
relationships, _, err := client.Account.Blocked(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedRelationships, relationships)
require.NoError(t, err)
require.Equal(t, expectedRelationships, relationships)
}
func TestAccountService_Messaging(t *testing.T) {
@ -254,17 +254,17 @@ func TestAccountService_Messaging(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/account/messaging.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/prefs/messaging", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
blocked, trusted, _, err := client.Account.Messaging(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedRelationships, blocked)
assert.Equal(t, expectedRelationships2, trusted)
require.NoError(t, err)
require.Equal(t, expectedRelationships, blocked)
require.Equal(t, expectedRelationships2, trusted)
}
func TestAccountService_Trusted(t *testing.T) {
@ -272,16 +272,16 @@ func TestAccountService_Trusted(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/account/trusted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/prefs/trusted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
relationships, _, err := client.Account.Trusted(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedRelationships, relationships)
require.NoError(t, err)
require.Equal(t, expectedRelationships, relationships)
}
func TestAccountService_AddTrusted(t *testing.T) {
@ -289,19 +289,19 @@ func TestAccountService_AddTrusted(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/add_whitelisted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("api_type", "json")
form.Set("name", "test123")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Account.AddTrusted(ctx, "test123")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestAccountService_RemoveTrusted(t *testing.T) {
@ -309,16 +309,16 @@ func TestAccountService_RemoveTrusted(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/remove_whitelisted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("name", "test123")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Account.RemoveTrusted(ctx, "test123")
assert.NoError(t, err)
require.NoError(t, err)
}

View file

@ -7,7 +7,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var expectedCollection = &Collection{
@ -75,25 +75,25 @@ func TestCollectionService_Get(t *testing.T) {
defer teardown()
blob, err := readFileContents("./testdata/collection/collection.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/collections/collection", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("collection_id", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
form.Set("include_links", "false")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
collection, _, err := client.Collection.Get(ctx, "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
assert.NoError(t, err)
assert.Equal(t, expectedCollection, collection)
require.NoError(t, err)
require.Equal(t, expectedCollection, collection)
}
func TestCollectionService_FromSubreddit(t *testing.T) {
@ -101,24 +101,24 @@ func TestCollectionService_FromSubreddit(t *testing.T) {
defer teardown()
blob, err := readFileContents("./testdata/collection/collections.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/collections/subreddit_collections", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("sr_fullname", "t5_2uquw1")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
collections, _, err := client.Collection.FromSubreddit(ctx, "t5_2uquw1")
assert.NoError(t, err)
assert.Equal(t, expectedCollections, collections)
require.NoError(t, err)
require.Equal(t, expectedCollections, collections)
}
func TestCollectionService_Create(t *testing.T) {
@ -126,10 +126,10 @@ func TestCollectionService_Create(t *testing.T) {
defer teardown()
blob, err := readFileContents("./testdata/collection/collection.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/collections/create_collection", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("title", "Test Title")
@ -137,22 +137,22 @@ func TestCollectionService_Create(t *testing.T) {
form.Set("display_layout", "TIMELINE")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
_, _, err = client.Collection.Create(ctx, nil)
assert.EqualError(t, err, "createRequest: cannot be nil")
require.EqualError(t, err, "createRequest: cannot be nil")
collection, _, err := client.Collection.Create(ctx, &CollectionCreateRequest{
Title: "Test Title",
SubredditID: "t5_2uquw1",
Layout: "TIMELINE",
})
assert.NoError(t, err)
assert.Equal(t, expectedCollection, collection)
require.NoError(t, err)
require.Equal(t, expectedCollection, collection)
}
func TestCollectionService_Delete(t *testing.T) {
@ -160,18 +160,18 @@ func TestCollectionService_Delete(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/collections/delete_collection", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("collection_id", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Collection.Delete(ctx, "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestCollectionService_AddPost(t *testing.T) {
@ -179,19 +179,19 @@ func TestCollectionService_AddPost(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/collections/add_post_to_collection", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("link_fullname", "t3_hs03f3")
form.Set("collection_id", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Collection.AddPost(ctx, "t3_hs03f3", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestCollectionService_RemovePost(t *testing.T) {
@ -199,19 +199,19 @@ func TestCollectionService_RemovePost(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/collections/remove_post_in_collection", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("link_fullname", "t3_hs03f3")
form.Set("collection_id", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Collection.RemovePost(ctx, "t3_hs03f3", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestCollectionService_ReorderPosts(t *testing.T) {
@ -219,19 +219,19 @@ func TestCollectionService_ReorderPosts(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/collections/reorder_collection", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("collection_id", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
form.Set("link_ids", "t3_hs0cyh,t3_hqrg8s,t3_hs03f3")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Collection.ReorderPosts(ctx, "37f1e52d-7ec9-466b-b4cc-59e86e071ed7", "t3_hs0cyh", "t3_hqrg8s", "t3_hs03f3")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestCollectionService_UpdateTitle(t *testing.T) {
@ -239,19 +239,19 @@ func TestCollectionService_UpdateTitle(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/collections/update_collection_title", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("collection_id", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
form.Set("title", "Test Title")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Collection.UpdateTitle(ctx, "37f1e52d-7ec9-466b-b4cc-59e86e071ed7", "Test Title")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestCollectionService_UpdateDescription(t *testing.T) {
@ -259,19 +259,19 @@ func TestCollectionService_UpdateDescription(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/collections/update_collection_description", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("collection_id", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
form.Set("description", "Test Description")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Collection.UpdateDescription(ctx, "37f1e52d-7ec9-466b-b4cc-59e86e071ed7", "Test Description")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestCollectionService_UpdateLayout(t *testing.T) {
@ -279,19 +279,19 @@ func TestCollectionService_UpdateLayout(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/collections/update_collection_display_layout", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("collection_id", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
form.Set("display_layout", "TIMELINE")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Collection.UpdateLayout(ctx, "37f1e52d-7ec9-466b-b4cc-59e86e071ed7", "TIMELINE")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestCollectionService_Follow(t *testing.T) {
@ -299,19 +299,19 @@ func TestCollectionService_Follow(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/collections/follow_collection", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("collection_id", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
form.Set("follow", "true")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Collection.Follow(ctx, "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestCollectionService_Unfollow(t *testing.T) {
@ -319,17 +319,17 @@ func TestCollectionService_Unfollow(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/collections/follow_collection", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("collection_id", "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
form.Set("follow", "false")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Collection.Unfollow(ctx, "37f1e52d-7ec9-466b-b4cc-59e86e071ed7")
assert.NoError(t, err)
require.NoError(t, err)
}

View file

@ -7,7 +7,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var expectedCommentSubmitOrEdit = &Comment{
@ -43,10 +43,10 @@ func TestCommentService_Submit(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/comment/submit-or-edit.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/comment", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("api_type", "json")
@ -55,15 +55,15 @@ func TestCommentService_Submit(t *testing.T) {
form.Set("text", "test comment")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
fmt.Fprint(w, blob)
})
comment, _, err := client.Comment.Submit(ctx, "t1_test", "test comment")
assert.NoError(t, err)
assert.Equal(t, expectedCommentSubmitOrEdit, comment)
require.NoError(t, err)
require.Equal(t, expectedCommentSubmitOrEdit, comment)
}
func TestCommentService_Edit(t *testing.T) {
@ -71,10 +71,10 @@ func TestCommentService_Edit(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/comment/submit-or-edit.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/editusertext", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("api_type", "json")
@ -83,15 +83,15 @@ func TestCommentService_Edit(t *testing.T) {
form.Set("text", "test comment")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
fmt.Fprint(w, blob)
})
comment, _, err := client.Comment.Edit(ctx, "t1_test", "test comment")
assert.NoError(t, err)
assert.Equal(t, expectedCommentSubmitOrEdit, comment)
require.NoError(t, err)
require.Equal(t, expectedCommentSubmitOrEdit, comment)
}
func TestCommentService_Delete(t *testing.T) {
@ -99,19 +99,19 @@ func TestCommentService_Delete(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/del", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
})
res, err := client.Comment.Delete(ctx, "t1_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusOK, res.StatusCode)
}
func TestCommentService_Save(t *testing.T) {
@ -119,19 +119,19 @@ func TestCommentService_Save(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/save", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
})
res, err := client.Comment.Save(ctx, "t1_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusOK, res.StatusCode)
}
func TestCommentService_Unsave(t *testing.T) {
@ -139,19 +139,19 @@ func TestCommentService_Unsave(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/unsave", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
})
res, err := client.Comment.Unsave(ctx, "t1_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusOK, res.StatusCode)
}
func TestCommentService_EnableReplies(t *testing.T) {
@ -159,20 +159,20 @@ func TestCommentService_EnableReplies(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/sendreplies", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
form.Set("state", "true")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
})
res, err := client.Comment.EnableReplies(ctx, "t1_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusOK, res.StatusCode)
}
func TestCommentService_DisableReplies(t *testing.T) {
@ -180,20 +180,20 @@ func TestCommentService_DisableReplies(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/sendreplies", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
form.Set("state", "false")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
})
res, err := client.Comment.DisableReplies(ctx, "t1_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusOK, res.StatusCode)
}
func TestCommentService_Lock(t *testing.T) {
@ -201,19 +201,19 @@ func TestCommentService_Lock(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/lock", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
})
res, err := client.Comment.Lock(ctx, "t1_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusOK, res.StatusCode)
}
func TestCommentService_Unlock(t *testing.T) {
@ -221,19 +221,19 @@ func TestCommentService_Unlock(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/unlock", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
})
res, err := client.Comment.Unlock(ctx, "t1_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusOK, res.StatusCode)
}
func TestCommentService_Upvote(t *testing.T) {
@ -241,7 +241,7 @@ func TestCommentService_Upvote(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/vote", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
@ -249,13 +249,13 @@ func TestCommentService_Upvote(t *testing.T) {
form.Set("rank", "10")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
})
res, err := client.Comment.Upvote(ctx, "t1_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusOK, res.StatusCode)
}
func TestCommentService_Downvote(t *testing.T) {
@ -263,7 +263,7 @@ func TestCommentService_Downvote(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/vote", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
@ -271,13 +271,13 @@ func TestCommentService_Downvote(t *testing.T) {
form.Set("rank", "10")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
})
res, err := client.Comment.Downvote(ctx, "t1_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusOK, res.StatusCode)
}
func TestCommentService_RemoveVote(t *testing.T) {
@ -285,7 +285,7 @@ func TestCommentService_RemoveVote(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/vote", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
@ -293,11 +293,11 @@ func TestCommentService_RemoveVote(t *testing.T) {
form.Set("rank", "10")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
require.NoError(t, err)
require.Equal(t, form, r.PostForm)
})
res, err := client.Comment.RemoveVote(ctx, "t1_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusOK, res.StatusCode)
}

View file

@ -10,7 +10,7 @@ import (
"os"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var expectedDefaultEmojis = []*Emoji{
@ -48,19 +48,19 @@ func TestEmojiService_Get(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/emoji/emojis.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/test/emojis/all", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
defaultEmojis, subredditEmojis, _, err := client.Emoji.Get(ctx, "test")
assert.NoError(t, err)
assert.Len(t, defaultEmojis, 2)
assert.Contains(t, expectedDefaultEmojis, defaultEmojis[0])
assert.Contains(t, expectedDefaultEmojis, defaultEmojis[1])
assert.Equal(t, expectedSubredditEmojis, subredditEmojis)
require.NoError(t, err)
require.Len(t, defaultEmojis, 2)
require.Contains(t, expectedDefaultEmojis, defaultEmojis[0])
require.Contains(t, expectedDefaultEmojis, defaultEmojis[1])
require.Equal(t, expectedSubredditEmojis, subredditEmojis)
}
func TestEmojiService_Delete(t *testing.T) {
@ -68,11 +68,11 @@ func TestEmojiService_Delete(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/testsubreddit/emoji/testemoji", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodDelete, r.Method)
require.Equal(t, http.MethodDelete, r.Method)
})
_, err := client.Emoji.Delete(ctx, "testsubreddit", "testemoji")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestEmojiService_SetSize(t *testing.T) {
@ -80,19 +80,19 @@ func TestEmojiService_SetSize(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/testsubreddit/emoji_custom_size", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("height", "20")
form.Set("width", "20")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Emoji.SetSize(ctx, "testsubreddit", 20, 20)
assert.NoError(t, err)
require.NoError(t, err)
}
func TestEmojiService_DisableCustomSize(t *testing.T) {
@ -100,17 +100,17 @@ func TestEmojiService_DisableCustomSize(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/testsubreddit/emoji_custom_size", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Emoji.DisableCustomSize(ctx, "testsubreddit")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestEmojiService_Upload(t *testing.T) {
@ -118,51 +118,51 @@ func TestEmojiService_Upload(t *testing.T) {
defer teardown()
u, err := url.Parse(server.URL)
assert.NoError(t, err)
require.NoError(t, err)
uploadURL := u.Host + "/api/emoji_upload"
blob, err := readFileContents("testdata/emoji/lease.json")
assert.NoError(t, err)
require.NoError(t, err)
blob = fmt.Sprintf(blob, uploadURL)
emojiFile, err := ioutil.TempFile("/tmp", "emoji*.png")
assert.NoError(t, err)
require.NoError(t, err)
defer func() {
emojiFile.Close()
os.Remove(emojiFile.Name())
}()
_, err = emojiFile.WriteString("this is a test")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/testsubreddit/emoji_asset_upload_s3.json", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("filepath", emojiFile.Name())
form.Set("mimetype", "image/png")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
mux.HandleFunc("/api/emoji_upload", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
_, file, err := r.FormFile("file")
assert.NoError(t, err)
require.NoError(t, err)
rdr, err := file.Open()
assert.NoError(t, err)
require.NoError(t, err)
buf := new(bytes.Buffer)
_, err = io.Copy(buf, rdr)
assert.NoError(t, err)
assert.Equal(t, "this is a test", buf.String())
require.NoError(t, err)
require.Equal(t, "this is a test", buf.String())
form := url.Values{}
form.Set("key", "t5_2uquw1/t2_164ab8/a94a8f45ccb199a61c4c0873d391e98c982fabd3")
@ -170,12 +170,12 @@ func TestEmojiService_Upload(t *testing.T) {
// for some reason this has to come after the FormFile call
err = r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
mux.HandleFunc("/api/v1/testsubreddit/emoji.json", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("name", "testemoji")
@ -185,15 +185,15 @@ func TestEmojiService_Upload(t *testing.T) {
form.Set("s3_key", "t5_2uquw1/t2_164ab8/a94a8f45ccb199a61c4c0873d391e98c982fabd3")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err = client.Emoji.Upload(ctx, "testsubreddit", nil, emojiFile.Name())
assert.EqualError(t, err, "createRequest: cannot be nil")
require.EqualError(t, err, "createRequest: cannot be nil")
_, err = client.Emoji.Upload(ctx, "testsubreddit", &EmojiCreateOrUpdateRequest{Name: ""}, emojiFile.Name())
assert.EqualError(t, err, "name: cannot be empty")
require.EqualError(t, err, "name: cannot be empty")
_, err = client.Emoji.Upload(ctx, "testsubreddit", &EmojiCreateOrUpdateRequest{
Name: "testemoji",
@ -201,7 +201,7 @@ func TestEmojiService_Upload(t *testing.T) {
PostFlairAllowed: Bool(true),
ModFlairOnly: Bool(true),
}, emojiFile.Name())
assert.NoError(t, err)
require.NoError(t, err)
}
func TestEmojiService_Update(t *testing.T) {
@ -209,7 +209,7 @@ func TestEmojiService_Update(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/testsubreddit/emoji_permissions", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("name", "testemoji")
@ -217,20 +217,20 @@ func TestEmojiService_Update(t *testing.T) {
form.Set("mod_flair_only", "true")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Emoji.Update(ctx, "testsubreddit", nil)
assert.EqualError(t, err, "updateRequest: cannot be nil")
require.EqualError(t, err, "updateRequest: cannot be nil")
_, err = client.Emoji.Update(ctx, "testsubreddit", &EmojiCreateOrUpdateRequest{Name: ""})
assert.EqualError(t, err, "name: cannot be empty")
require.EqualError(t, err, "name: cannot be empty")
_, err = client.Emoji.Update(ctx, "testsubreddit", &EmojiCreateOrUpdateRequest{
Name: "testemoji",
PostFlairAllowed: Bool(false),
ModFlairOnly: Bool(true),
})
assert.NoError(t, err)
require.NoError(t, err)
}

View file

@ -5,7 +5,7 @@ import (
"net/http"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var expectedUserFlairs = []*Flair{
@ -66,16 +66,16 @@ func TestFlairService_GetUserFlairs(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/flair/user-flairs.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/testsubreddit/api/user_flair_v2", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
userFlairs, _, err := client.Flair.GetUserFlairs(ctx, "testsubreddit")
assert.NoError(t, err)
assert.Equal(t, expectedUserFlairs, userFlairs)
require.NoError(t, err)
require.Equal(t, expectedUserFlairs, userFlairs)
}
func TestFlairService_GetPostFlairs(t *testing.T) {
@ -83,16 +83,16 @@ func TestFlairService_GetPostFlairs(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/flair/post-flairs.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/testsubreddit/api/link_flair_v2", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
postFlairs, _, err := client.Flair.GetPostFlairs(ctx, "testsubreddit")
assert.NoError(t, err)
assert.Equal(t, expectedPostFlairs, postFlairs)
require.NoError(t, err)
require.Equal(t, expectedPostFlairs, postFlairs)
}
func TestFlairService_ListUserFlairs(t *testing.T) {
@ -100,14 +100,14 @@ func TestFlairService_ListUserFlairs(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/flair/list-user-flairs.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/testsubreddit/api/flairlist", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
userFlairs, _, err := client.Flair.ListUserFlairs(ctx, "testsubreddit")
assert.NoError(t, err)
assert.Equal(t, expectedListUserFlairs, userFlairs)
require.NoError(t, err)
require.Equal(t, expectedListUserFlairs, userFlairs)
}

View file

@ -7,7 +7,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var expectedListingPosts = []*Post{
@ -143,26 +143,26 @@ func TestListingsService_Get(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/listings/posts-comments-subreddits.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/info", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("id", "t5_2qh23,t3_i2gvg4,t1_g05v931")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
posts, comments, subreddits, _, err := client.Listings.Get(ctx, "t5_2qh23", "t3_i2gvg4", "t1_g05v931")
assert.NoError(t, err)
assert.Equal(t, expectedListingPosts, posts)
assert.Equal(t, expectedListingComments, comments)
assert.Equal(t, expectedListingSubreddits, subreddits)
require.NoError(t, err)
require.Equal(t, expectedListingPosts, posts)
require.Equal(t, expectedListingComments, comments)
require.Equal(t, expectedListingSubreddits, subreddits)
}
func TestListingsService_GetPosts(t *testing.T) {
@ -170,14 +170,14 @@ func TestListingsService_GetPosts(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/listings/posts.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/by_id/t3_i2gvg4,t3_i2gwgz", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.Listings.GetPosts(ctx, "t3_i2gvg4", "t3_i2gwgz")
assert.NoError(t, err)
assert.Equal(t, expectedListingPosts2, posts)
require.NoError(t, err)
require.Equal(t, expectedListingPosts2, posts)
}

View file

@ -7,7 +7,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var expectedModActionsResult = &ModActions{
@ -54,16 +54,16 @@ func TestModerationService_GetActions(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/moderation/actions.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/testsubreddit/about/log", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
result, _, err := client.Moderation.GetActions(ctx, "testsubreddit", nil)
assert.NoError(t, err)
assert.Equal(t, expectedModActionsResult, result)
require.NoError(t, err)
require.Equal(t, expectedModActionsResult, result)
}
func TestModerationService_GetActionsByType(t *testing.T) {
@ -71,24 +71,24 @@ func TestModerationService_GetActionsByType(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/moderation/actions.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/testsubreddit/about/log", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("type", "testtype")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
result, _, err := client.Moderation.GetActionsByType(ctx, "testsubreddit", "testtype", nil)
assert.NoError(t, err)
assert.Equal(t, expectedModActionsResult, result)
require.NoError(t, err)
require.Equal(t, expectedModActionsResult, result)
}
func TestModerationService_AcceptInvite(t *testing.T) {
@ -96,23 +96,23 @@ func TestModerationService_AcceptInvite(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/moderation/actions.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/testsubreddit/api/accept_moderator_invite", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("api_type", "json")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
_, err = client.Moderation.AcceptInvite(ctx, "testsubreddit")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestModerationService_Approve(t *testing.T) {
@ -120,18 +120,18 @@ func TestModerationService_Approve(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/approve", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t3_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Moderation.Approve(ctx, "t3_test")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestModerationService_Remove(t *testing.T) {
@ -139,19 +139,19 @@ func TestModerationService_Remove(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/remove", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t3_test")
form.Set("spam", "false")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Moderation.Remove(ctx, "t3_test")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestModerationService_RemoveSpam(t *testing.T) {
@ -159,19 +159,19 @@ func TestModerationService_RemoveSpam(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/remove", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t3_test")
form.Set("spam", "true")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Moderation.RemoveSpam(ctx, "t3_test")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestModerationService_Leave(t *testing.T) {
@ -179,18 +179,18 @@ func TestModerationService_Leave(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/leavemoderator", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t5_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Moderation.Leave(ctx, "t5_test")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestModerationService_LeaveContributor(t *testing.T) {
@ -198,16 +198,16 @@ func TestModerationService_LeaveContributor(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/leavecontributor", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t5_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Moderation.LeaveContributor(ctx, "t5_test")
assert.NoError(t, err)
require.NoError(t, err)
}

View file

@ -8,7 +8,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var expectedMulti = &Multi{
@ -48,16 +48,16 @@ func TestMultiService_Get(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/multi/multi.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/multi/user/testuser/m/testmulti", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
multi, _, err := client.Multi.Get(ctx, "user/testuser/m/testmulti")
assert.NoError(t, err)
assert.Equal(t, expectedMulti, multi)
require.NoError(t, err)
require.Equal(t, expectedMulti, multi)
}
func TestMultiService_Mine(t *testing.T) {
@ -65,16 +65,16 @@ func TestMultiService_Mine(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/multi/multis.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/multi/mine", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
multis, _, err := client.Multi.Mine(ctx)
assert.NoError(t, err)
assert.Equal(t, []Multi{*expectedMulti, *expectedMulti2}, multis)
require.NoError(t, err)
require.Equal(t, []Multi{*expectedMulti, *expectedMulti2}, multis)
}
func TestMultiService_Of(t *testing.T) {
@ -82,16 +82,16 @@ func TestMultiService_Of(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/multi/multis.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/multi/user/test", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
multis, _, err := client.Multi.Of(ctx, "test")
assert.NoError(t, err)
assert.Equal(t, []Multi{*expectedMulti, *expectedMulti2}, multis)
require.NoError(t, err)
require.Equal(t, []Multi{*expectedMulti, *expectedMulti2}, multis)
}
func TestMultiService_Copy(t *testing.T) {
@ -99,10 +99,10 @@ func TestMultiService_Copy(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/multi/multi.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/multi/copy", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("from", "user/testuser/m/testmulti")
@ -111,14 +111,14 @@ func TestMultiService_Copy(t *testing.T) {
form.Set("display_name", "hello")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
_, _, err = client.Multi.Copy(ctx, nil)
assert.EqualError(t, err, "copyRequest: cannot be nil")
require.EqualError(t, err, "copyRequest: cannot be nil")
multi, _, err := client.Multi.Copy(ctx, &MultiCopyRequest{
FromPath: "user/testuser/m/testmulti",
@ -126,8 +126,8 @@ func TestMultiService_Copy(t *testing.T) {
Description: "this is a multireddit",
DisplayName: "hello",
})
assert.NoError(t, err)
assert.Equal(t, expectedMulti, multi)
require.NoError(t, err)
require.Equal(t, expectedMulti, multi)
}
func TestMultiService_Create(t *testing.T) {
@ -135,7 +135,7 @@ func TestMultiService_Create(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/multi/multi.json")
assert.NoError(t, err)
require.NoError(t, err)
createRequest := &MultiCreateOrUpdateRequest{
Name: "testmulti",
@ -145,27 +145,27 @@ func TestMultiService_Create(t *testing.T) {
}
mux.HandleFunc("/api/multi", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
err := r.ParseForm()
assert.NoError(t, err)
require.NoError(t, err)
model := r.Form.Get("model")
expectedCreateRequest := new(MultiCreateOrUpdateRequest)
err = json.Unmarshal([]byte(model), expectedCreateRequest)
assert.NoError(t, err)
assert.Equal(t, expectedCreateRequest, createRequest)
require.NoError(t, err)
require.Equal(t, expectedCreateRequest, createRequest)
fmt.Fprint(w, blob)
})
_, _, err = client.Multi.Create(ctx, nil)
assert.EqualError(t, err, "createRequest: cannot be nil")
require.EqualError(t, err, "createRequest: cannot be nil")
multi, _, err := client.Multi.Create(ctx, createRequest)
assert.NoError(t, err)
assert.Equal(t, expectedMulti, multi)
require.NoError(t, err)
require.Equal(t, expectedMulti, multi)
}
func TestMultiService_Update(t *testing.T) {
@ -173,7 +173,7 @@ func TestMultiService_Update(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/multi/multi.json")
assert.NoError(t, err)
require.NoError(t, err)
updateRequest := &MultiCreateOrUpdateRequest{
Name: "testmulti",
@ -182,27 +182,27 @@ func TestMultiService_Update(t *testing.T) {
}
mux.HandleFunc("/api/multi/user/testuser/m/testmulti", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPut, r.Method)
require.Equal(t, http.MethodPut, r.Method)
err := r.ParseForm()
assert.NoError(t, err)
require.NoError(t, err)
model := r.Form.Get("model")
expectedCreateRequest := new(MultiCreateOrUpdateRequest)
err = json.Unmarshal([]byte(model), expectedCreateRequest)
assert.NoError(t, err)
assert.Equal(t, expectedCreateRequest, updateRequest)
require.NoError(t, err)
require.Equal(t, expectedCreateRequest, updateRequest)
fmt.Fprint(w, blob)
})
_, _, err = client.Multi.Update(ctx, "user/testuser/m/testmulti", nil)
assert.EqualError(t, err, "updateRequest: cannot be nil")
require.EqualError(t, err, "updateRequest: cannot be nil")
multi, _, err := client.Multi.Update(ctx, "user/testuser/m/testmulti", updateRequest)
assert.NoError(t, err)
assert.Equal(t, expectedMulti, multi)
require.NoError(t, err)
require.Equal(t, expectedMulti, multi)
}
func TestMultiService_Delete(t *testing.T) {
@ -210,11 +210,11 @@ func TestMultiService_Delete(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/multi/user/testuser/m/testmulti", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodDelete, r.Method)
require.Equal(t, http.MethodDelete, r.Method)
})
_, err := client.Multi.Delete(ctx, "user/testuser/m/testmulti")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestMultiService_GetDescription(t *testing.T) {
@ -222,16 +222,16 @@ func TestMultiService_GetDescription(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/multi/description.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/multi/user/testuser/m/testmulti/description", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
description, _, err := client.Multi.GetDescription(ctx, "user/testuser/m/testmulti")
assert.NoError(t, err)
assert.Equal(t, "hello world", description)
require.NoError(t, err)
require.Equal(t, "hello world", description)
}
func TestMultiService_UpdateDescription(t *testing.T) {
@ -239,24 +239,24 @@ func TestMultiService_UpdateDescription(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/multi/description.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/multi/user/testuser/m/testmulti/description", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPut, r.Method)
require.Equal(t, http.MethodPut, r.Method)
form := url.Values{}
form.Set("model", `{"body_md":"hello world"}`)
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
description, _, err := client.Multi.UpdateDescription(ctx, "user/testuser/m/testmulti", "hello world")
assert.NoError(t, err)
assert.Equal(t, "hello world", description)
require.NoError(t, err)
require.Equal(t, "hello world", description)
}
func TestMultiService_AddSubreddit(t *testing.T) {
@ -264,18 +264,18 @@ func TestMultiService_AddSubreddit(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/multi/user/testuser/m/testmulti/r/golang", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPut, r.Method)
require.Equal(t, http.MethodPut, r.Method)
form := url.Values{}
form.Set("model", `{"name":"golang"}`)
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Multi.AddSubreddit(ctx, "user/testuser/m/testmulti", "golang")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestMultiService_DeleteSubreddit(t *testing.T) {
@ -283,9 +283,9 @@ func TestMultiService_DeleteSubreddit(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/multi/user/testuser/m/testmulti/r/golang", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodDelete, r.Method)
require.Equal(t, http.MethodDelete, r.Method)
})
_, err := client.Multi.DeleteSubreddit(ctx, "user/testuser/m/testmulti", "golang")
assert.NoError(t, err)
require.NoError(t, err)
}

File diff suppressed because it is too large Load diff

View file

@ -4,7 +4,7 @@ import (
"os"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestFromEnv(t *testing.T) {
@ -21,7 +21,7 @@ func TestFromEnv(t *testing.T) {
defer os.Unsetenv("GO_REDDIT_CLIENT_PASSWORD")
c, err := NewClient(nil, FromEnv)
assert.NoError(t, err)
require.NoError(t, err)
type values struct {
id, secret, username, password string
@ -29,29 +29,29 @@ func TestFromEnv(t *testing.T) {
expect := values{"id1", "secret1", "username1", "password1"}
actual := values{c.ID, c.Secret, c.Username, c.Password}
assert.Equal(t, expect, actual)
require.Equal(t, expect, actual)
}
func TestWithCredentials(t *testing.T) {
withCredentials := WithCredentials("id1", "secret1", "username1", "password1")
c, err := NewClient(nil, withCredentials)
assert.NoError(t, err)
assert.Equal(t, "id1", c.ID)
assert.Equal(t, "secret1", c.Secret)
assert.Equal(t, "username1", c.Username)
assert.Equal(t, "password1", c.Password)
require.NoError(t, err)
require.Equal(t, "id1", c.ID)
require.Equal(t, "secret1", c.Secret)
require.Equal(t, "username1", c.Username)
require.Equal(t, "password1", c.Password)
}
func TestWithBaseURL(t *testing.T) {
baseURL := "http://localhost:8080"
c, err := NewClient(nil, WithBaseURL(baseURL))
assert.NoError(t, err)
assert.Equal(t, baseURL, c.BaseURL.String())
require.NoError(t, err)
require.Equal(t, baseURL, c.BaseURL.String())
}
func TestWithTokenURL(t *testing.T) {
tokenURL := "http://localhost:8080/api/v1/access_token"
c, err := NewClient(nil, WithTokenURL(tokenURL))
assert.NoError(t, err)
assert.Equal(t, tokenURL, c.TokenURL.String())
require.NoError(t, err)
require.Equal(t, tokenURL, c.TokenURL.String())
}

View file

@ -11,7 +11,7 @@ import (
"reflect"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var (
@ -83,13 +83,13 @@ func testClientServices(t *testing.T, c *Client) {
cv := reflect.Indirect(cp)
for _, s := range services {
assert.Falsef(t, cv.FieldByName(s).IsNil(), "c.%s should not be nil", s)
require.Falsef(t, cv.FieldByName(s).IsNil(), "c.%s should not be nil", s)
}
}
func testClientDefaultUserAgent(t *testing.T, c *Client) {
expectedUserAgent := fmt.Sprintf("golang:%s:v%s (by /u/)", libraryName, libraryVersion)
assert.Equal(t, expectedUserAgent, c.userAgent)
require.Equal(t, expectedUserAgent, c.userAgent)
}
func testClientDefaults(t *testing.T, c *Client) {
@ -99,7 +99,7 @@ func testClientDefaults(t *testing.T, c *Client) {
func TestNewClient(t *testing.T) {
c, err := NewClient(nil)
assert.NoError(t, err)
require.NoError(t, err)
testClientDefaults(t, c)
}
@ -109,5 +109,5 @@ func TestNewClient_Error(t *testing.T) {
}
_, err := NewClient(nil, errorOpt)
assert.EqualError(t, err, "foo")
require.EqualError(t, err, "foo")
}

View file

@ -7,7 +7,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var expectedPosts = &Posts{
@ -290,16 +290,16 @@ func TestSubredditService_HotPosts(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/posts.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/hot", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.Subreddit.HotPosts(ctx, "test", nil)
assert.NoError(t, err)
assert.Equal(t, expectedPosts, posts)
require.NoError(t, err)
require.Equal(t, expectedPosts, posts)
}
func TestSubredditService_NewPosts(t *testing.T) {
@ -307,16 +307,16 @@ func TestSubredditService_NewPosts(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/posts.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/new", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.Subreddit.NewPosts(ctx, "test", nil)
assert.NoError(t, err)
assert.Equal(t, expectedPosts, posts)
require.NoError(t, err)
require.Equal(t, expectedPosts, posts)
}
func TestSubredditService_RisingPosts(t *testing.T) {
@ -324,16 +324,16 @@ func TestSubredditService_RisingPosts(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/posts.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/rising", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.Subreddit.RisingPosts(ctx, "test", nil)
assert.NoError(t, err)
assert.Equal(t, expectedPosts, posts)
require.NoError(t, err)
require.Equal(t, expectedPosts, posts)
}
func TestSubredditService_ControversialPosts(t *testing.T) {
@ -341,16 +341,16 @@ func TestSubredditService_ControversialPosts(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/posts.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/controversial", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.Subreddit.ControversialPosts(ctx, "test", nil)
assert.NoError(t, err)
assert.Equal(t, expectedPosts, posts)
require.NoError(t, err)
require.Equal(t, expectedPosts, posts)
}
func TestSubredditService_TopPosts(t *testing.T) {
@ -358,16 +358,16 @@ func TestSubredditService_TopPosts(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/posts.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/top", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.Subreddit.TopPosts(ctx, "test", nil)
assert.NoError(t, err)
assert.Equal(t, expectedPosts, posts)
require.NoError(t, err)
require.Equal(t, expectedPosts, posts)
}
func TestSubredditService_Get(t *testing.T) {
@ -375,19 +375,19 @@ func TestSubredditService_Get(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/about.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/golang/about", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
_, _, err = client.Subreddit.Get(ctx, "")
assert.EqualError(t, err, "name: cannot be empty")
require.EqualError(t, err, "name: cannot be empty")
subreddit, _, err := client.Subreddit.Get(ctx, "golang")
assert.NoError(t, err)
assert.Equal(t, expectedSubreddit, subreddit)
require.NoError(t, err)
require.Equal(t, expectedSubreddit, subreddit)
}
func TestSubredditService_Popular(t *testing.T) {
@ -395,16 +395,16 @@ func TestSubredditService_Popular(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/list.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/subreddits/popular", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
subreddits, _, err := client.Subreddit.Popular(ctx, nil)
assert.NoError(t, err)
assert.Equal(t, expectedSubreddits, subreddits)
require.NoError(t, err)
require.Equal(t, expectedSubreddits, subreddits)
}
func TestSubredditService_New(t *testing.T) {
@ -412,16 +412,16 @@ func TestSubredditService_New(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/list.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/subreddits/new", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
subreddits, _, err := client.Subreddit.New(ctx, nil)
assert.NoError(t, err)
assert.Equal(t, expectedSubreddits, subreddits)
require.NoError(t, err)
require.Equal(t, expectedSubreddits, subreddits)
}
func TestSubredditService_Gold(t *testing.T) {
@ -429,16 +429,16 @@ func TestSubredditService_Gold(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/list.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/subreddits/gold", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
subreddits, _, err := client.Subreddit.Gold(ctx, nil)
assert.NoError(t, err)
assert.Equal(t, expectedSubreddits, subreddits)
require.NoError(t, err)
require.Equal(t, expectedSubreddits, subreddits)
}
func TestSubredditService_Default(t *testing.T) {
@ -446,16 +446,16 @@ func TestSubredditService_Default(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/list.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/subreddits/default", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
subreddits, _, err := client.Subreddit.Default(ctx, nil)
assert.NoError(t, err)
assert.Equal(t, expectedSubreddits, subreddits)
require.NoError(t, err)
require.Equal(t, expectedSubreddits, subreddits)
}
func TestSubredditService_Subscribed(t *testing.T) {
@ -463,16 +463,16 @@ func TestSubredditService_Subscribed(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/list.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/subreddits/mine/subscriber", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
subreddits, _, err := client.Subreddit.Subscribed(ctx, nil)
assert.NoError(t, err)
assert.Equal(t, expectedSubreddits, subreddits)
require.NoError(t, err)
require.Equal(t, expectedSubreddits, subreddits)
}
func TestSubredditService_Approved(t *testing.T) {
@ -480,16 +480,16 @@ func TestSubredditService_Approved(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/list.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/subreddits/mine/contributor", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
subreddits, _, err := client.Subreddit.Approved(ctx, nil)
assert.NoError(t, err)
assert.Equal(t, expectedSubreddits, subreddits)
require.NoError(t, err)
require.Equal(t, expectedSubreddits, subreddits)
}
func TestSubredditService_Moderated(t *testing.T) {
@ -497,16 +497,16 @@ func TestSubredditService_Moderated(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/list.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/subreddits/mine/moderator", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
subreddits, _, err := client.Subreddit.Moderated(ctx, nil)
assert.NoError(t, err)
assert.Equal(t, expectedSubreddits, subreddits)
require.NoError(t, err)
require.Equal(t, expectedSubreddits, subreddits)
}
func TestSubredditService_GetSticky1(t *testing.T) {
@ -514,21 +514,21 @@ func TestSubredditService_GetSticky1(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/post/post.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/about/sticky", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, "1", r.Form.Get("num"))
require.NoError(t, err)
require.Equal(t, "1", r.Form.Get("num"))
fmt.Fprint(w, blob)
})
postAndComments, _, err := client.Subreddit.GetSticky1(ctx, "test")
assert.NoError(t, err)
assert.Equal(t, expectedPostAndComments, postAndComments)
require.NoError(t, err)
require.Equal(t, expectedPostAndComments, postAndComments)
}
func TestSubredditService_GetSticky2(t *testing.T) {
@ -536,21 +536,21 @@ func TestSubredditService_GetSticky2(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/post/post.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/about/sticky", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, "2", r.Form.Get("num"))
require.NoError(t, err)
require.Equal(t, "2", r.Form.Get("num"))
fmt.Fprint(w, blob)
})
postAndComments, _, err := client.Subreddit.GetSticky2(ctx, "test")
assert.NoError(t, err)
assert.Equal(t, expectedPostAndComments, postAndComments)
require.NoError(t, err)
require.Equal(t, expectedPostAndComments, postAndComments)
}
func TestSubredditService_Subscribe(t *testing.T) {
@ -558,19 +558,19 @@ func TestSubredditService_Subscribe(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/subscribe", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("action", "sub")
form.Set("sr_name", "test,golang,nba")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Subreddit.Subscribe(ctx, "test", "golang", "nba")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestSubredditService_SubscribeByID(t *testing.T) {
@ -578,19 +578,19 @@ func TestSubredditService_SubscribeByID(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/subscribe", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("action", "sub")
form.Set("sr", "t5_test1,t5_test2,t5_test3")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Subreddit.SubscribeByID(ctx, "t5_test1", "t5_test2", "t5_test3")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestSubredditService_Unsubscribe(t *testing.T) {
@ -598,19 +598,19 @@ func TestSubredditService_Unsubscribe(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/subscribe", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("action", "unsub")
form.Set("sr_name", "test,golang,nba")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Subreddit.Unsubscribe(ctx, "test", "golang", "nba")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestSubredditService_UnsubscribeByID(t *testing.T) {
@ -618,19 +618,19 @@ func TestSubredditService_UnsubscribeByID(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/subscribe", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("action", "unsub")
form.Set("sr", "t5_test1,t5_test2,t5_test3")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Subreddit.UnsubscribeByID(ctx, "t5_test1", "t5_test2", "t5_test3")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestSubredditService_Favorite(t *testing.T) {
@ -638,7 +638,7 @@ func TestSubredditService_Favorite(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/favorite", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("sr_name", "testsubreddit")
@ -646,12 +646,12 @@ func TestSubredditService_Favorite(t *testing.T) {
form.Set("api_type", "json")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Subreddit.Favorite(ctx, "testsubreddit")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestSubredditService_Unfavorite(t *testing.T) {
@ -659,7 +659,7 @@ func TestSubredditService_Unfavorite(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/favorite", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("sr_name", "testsubreddit")
@ -667,12 +667,12 @@ func TestSubredditService_Unfavorite(t *testing.T) {
form.Set("api_type", "json")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.Subreddit.Unfavorite(ctx, "testsubreddit")
assert.NoError(t, err)
require.NoError(t, err)
}
func TestSubredditService_Search(t *testing.T) {
@ -680,10 +680,10 @@ func TestSubredditService_Search(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/list.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/subreddits/search", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("q", "golang")
@ -691,8 +691,8 @@ func TestSubredditService_Search(t *testing.T) {
form.Set("sort", "activity")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
@ -703,8 +703,8 @@ func TestSubredditService_Search(t *testing.T) {
},
Sort: "activity",
})
assert.NoError(t, err)
assert.Equal(t, expectedSubreddits, subreddits)
require.NoError(t, err)
require.Equal(t, expectedSubreddits, subreddits)
}
func TestSubredditService_SearchNames(t *testing.T) {
@ -712,24 +712,24 @@ func TestSubredditService_SearchNames(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/search-names.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/search_reddit_names", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("query", "golang")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
names, _, err := client.Subreddit.SearchNames(ctx, "golang")
assert.NoError(t, err)
assert.Equal(t, expectedSubredditNames, names)
require.NoError(t, err)
require.Equal(t, expectedSubredditNames, names)
}
func TestSubredditService_SearchPosts(t *testing.T) {
@ -737,24 +737,24 @@ func TestSubredditService_SearchPosts(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/search-posts.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/all/search", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("q", "test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
posts, _, err := client.Subreddit.SearchPosts(ctx, "test", "", nil)
assert.NoError(t, err)
assert.Equal(t, expectedSearchPosts, posts)
require.NoError(t, err)
require.Equal(t, expectedSearchPosts, posts)
}
func TestSubredditService_SearchPosts_InSubreddit(t *testing.T) {
@ -762,25 +762,25 @@ func TestSubredditService_SearchPosts_InSubreddit(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/search-posts.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/search", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("q", "test")
form.Set("restrict_sr", "true")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
posts, _, err := client.Subreddit.SearchPosts(ctx, "test", "test", nil)
assert.NoError(t, err)
assert.Equal(t, expectedSearchPosts, posts)
require.NoError(t, err)
require.Equal(t, expectedSearchPosts, posts)
}
func TestSubredditService_SearchPosts_InSubreddits(t *testing.T) {
@ -788,25 +788,25 @@ func TestSubredditService_SearchPosts_InSubreddits(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/search-posts.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test+golang+nba/search", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("q", "test")
form.Set("restrict_sr", "true")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
posts, _, err := client.Subreddit.SearchPosts(ctx, "test", "test+golang+nba", nil)
assert.NoError(t, err)
assert.Equal(t, expectedSearchPosts, posts)
require.NoError(t, err)
require.Equal(t, expectedSearchPosts, posts)
}
func TestSubredditService_Random(t *testing.T) {
@ -814,22 +814,22 @@ func TestSubredditService_Random(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/random.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/random", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, "true", r.Form.Get("sr_detail"))
assert.Equal(t, "1", r.Form.Get("limit"))
require.NoError(t, err)
require.Equal(t, "true", r.Form.Get("sr_detail"))
require.Equal(t, "1", r.Form.Get("limit"))
fmt.Fprint(w, blob)
})
subreddit, _, err := client.Subreddit.Random(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedRandomSubreddit, subreddit)
require.NoError(t, err)
require.Equal(t, expectedRandomSubreddit, subreddit)
}
func TestSubredditService_RandomNSFW(t *testing.T) {
@ -837,22 +837,22 @@ func TestSubredditService_RandomNSFW(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/random.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/randnsfw", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, "true", r.Form.Get("sr_detail"))
assert.Equal(t, "1", r.Form.Get("limit"))
require.NoError(t, err)
require.Equal(t, "true", r.Form.Get("sr_detail"))
require.Equal(t, "1", r.Form.Get("limit"))
fmt.Fprint(w, blob)
})
subreddit, _, err := client.Subreddit.RandomNSFW(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedRandomSubreddit, subreddit)
require.NoError(t, err)
require.Equal(t, expectedRandomSubreddit, subreddit)
}
func TestSubredditService_SubmissionText(t *testing.T) {
@ -860,7 +860,7 @@ func TestSubredditService_SubmissionText(t *testing.T) {
defer teardown()
mux.HandleFunc("/r/test/api/submit_text", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, `{
"submit_text": "this is a test",
"submit_text_html": ""
@ -868,8 +868,8 @@ func TestSubredditService_SubmissionText(t *testing.T) {
})
text, _, err := client.Subreddit.SubmissionText(ctx, "test")
assert.NoError(t, err)
assert.Equal(t, "this is a test", text)
require.NoError(t, err)
require.Equal(t, "this is a test", text)
}
func TestSubredditService_Banned(t *testing.T) {
@ -877,25 +877,25 @@ func TestSubredditService_Banned(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/banned-users.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/about/banned", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("after", "testafter")
form.Set("limit", "10")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
bans, _, err := client.Subreddit.Banned(ctx, "test", &ListOptions{After: "testafter", Limit: 10})
assert.NoError(t, err)
assert.Equal(t, expectedBans, bans)
require.NoError(t, err)
require.Equal(t, expectedBans, bans)
}
func TestSubredditService_Muted(t *testing.T) {
@ -903,25 +903,25 @@ func TestSubredditService_Muted(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/relationships.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/about/muted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("before", "testbefore")
form.Set("limit", "50")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
mutes, _, err := client.Subreddit.Muted(ctx, "test", &ListOptions{Before: "testbefore", Limit: 50})
assert.NoError(t, err)
assert.Equal(t, expectedRelationships3, mutes)
require.NoError(t, err)
require.Equal(t, expectedRelationships3, mutes)
}
func TestSubredditService_WikiBanned(t *testing.T) {
@ -929,25 +929,25 @@ func TestSubredditService_WikiBanned(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/banned-users.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/about/wikibanned", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("after", "testafter")
form.Set("limit", "15")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
bans, _, err := client.Subreddit.WikiBanned(ctx, "test", &ListOptions{After: "testafter", Limit: 15})
assert.NoError(t, err)
assert.Equal(t, expectedBans, bans)
require.NoError(t, err)
require.Equal(t, expectedBans, bans)
}
func TestSubredditService_Contributors(t *testing.T) {
@ -955,24 +955,24 @@ func TestSubredditService_Contributors(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/relationships.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/about/contributors", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("limit", "5")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
contributors, _, err := client.Subreddit.Contributors(ctx, "test", &ListOptions{Limit: 5})
assert.NoError(t, err)
assert.Equal(t, expectedRelationships3, contributors)
require.NoError(t, err)
require.Equal(t, expectedRelationships3, contributors)
}
func TestSubredditService_WikiContributors(t *testing.T) {
@ -980,24 +980,24 @@ func TestSubredditService_WikiContributors(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/relationships.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/about/wikicontributors", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("limit", "99")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
contributors, _, err := client.Subreddit.WikiContributors(ctx, "test", &ListOptions{Limit: 99})
assert.NoError(t, err)
assert.Equal(t, expectedRelationships3, contributors)
require.NoError(t, err)
require.Equal(t, expectedRelationships3, contributors)
}
func TestSubredditService_Moderators(t *testing.T) {
@ -1005,14 +1005,14 @@ func TestSubredditService_Moderators(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/subreddit/moderators.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/r/test/about/moderators", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
moderators, _, err := client.Subreddit.Moderators(ctx, "test")
assert.NoError(t, err)
assert.Equal(t, expectedModerators, moderators)
require.NoError(t, err)
require.Equal(t, expectedModerators, moderators)
}

View file

@ -8,7 +8,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var expectedUser = &User{
@ -191,16 +191,16 @@ func TestUserService_Get(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/get.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/Test_User/about", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
user, _, err := client.User.Get(ctx, "Test_User")
assert.NoError(t, err)
assert.Equal(t, expectedUser, user)
require.NoError(t, err)
require.Equal(t, expectedUser, user)
}
func TestUserService_GetMultipleByID(t *testing.T) {
@ -208,21 +208,21 @@ func TestUserService_GetMultipleByID(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/get-multiple-by-id.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/user_data_by_account_ids", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, "t2_1,t2_2,t2_3", r.Form.Get("ids"))
require.NoError(t, err)
require.Equal(t, "t2_1,t2_2,t2_3", r.Form.Get("ids"))
fmt.Fprint(w, blob)
})
users, _, err := client.User.GetMultipleByID(ctx, "t2_1", "t2_2", "t2_3")
assert.NoError(t, err)
assert.Equal(t, expectedUsers, users)
require.NoError(t, err)
require.Equal(t, expectedUsers, users)
}
func TestUserService_UsernameAvailable(t *testing.T) {
@ -230,25 +230,25 @@ func TestUserService_UsernameAvailable(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/username_available", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
err := r.ParseForm()
assert.NoError(t, err)
require.NoError(t, err)
user := r.Form.Get("user")
assert.NotEmpty(t, user)
require.NotEmpty(t, user)
result := user == "test123"
fmt.Fprint(w, result)
})
ok, _, err := client.User.UsernameAvailable(ctx, "test123")
assert.NoError(t, err)
assert.True(t, ok)
require.NoError(t, err)
require.True(t, ok)
ok, _, err = client.User.UsernameAvailable(ctx, "123test")
assert.NoError(t, err)
assert.False(t, ok)
require.NoError(t, err)
require.False(t, ok)
}
func TestUserService_Overview(t *testing.T) {
@ -256,25 +256,25 @@ func TestUserService_Overview(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/overview.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/overview", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, comments, _, err := client.User.Overview(ctx, nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t1_f0zsa37", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t1_f0zsa37", posts.After)
require.Equal(t, "", posts.Before)
assert.Len(t, comments.Comments, 1)
assert.Equal(t, expectedComment, comments.Comments[0])
assert.Equal(t, "t1_f0zsa37", comments.After)
assert.Equal(t, "", comments.Before)
require.Len(t, comments.Comments, 1)
require.Equal(t, expectedComment, comments.Comments[0])
require.Equal(t, "t1_f0zsa37", comments.After)
require.Equal(t, "", comments.Before)
}
func TestUserService_OverviewOf(t *testing.T) {
@ -282,25 +282,25 @@ func TestUserService_OverviewOf(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/overview.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user2/overview", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, comments, _, err := client.User.OverviewOf(ctx, "user2", nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t1_f0zsa37", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t1_f0zsa37", posts.After)
require.Equal(t, "", posts.Before)
assert.Len(t, comments.Comments, 1)
assert.Equal(t, expectedComment, comments.Comments[0])
assert.Equal(t, "t1_f0zsa37", comments.After)
assert.Equal(t, "", comments.Before)
require.Len(t, comments.Comments, 1)
require.Equal(t, expectedComment, comments.Comments[0])
require.Equal(t, "t1_f0zsa37", comments.After)
require.Equal(t, "", comments.Before)
}
func TestUserService_Overview_Options(t *testing.T) {
@ -308,10 +308,10 @@ func TestUserService_Overview_Options(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/overview.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/overview", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("limit", "5")
@ -319,8 +319,8 @@ func TestUserService_Overview_Options(t *testing.T) {
form.Set("sort", "top")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
@ -332,7 +332,7 @@ func TestUserService_Overview_Options(t *testing.T) {
},
Sort: "top",
})
assert.NoError(t, err)
require.NoError(t, err)
}
func TestUserService_Posts(t *testing.T) {
@ -340,20 +340,20 @@ func TestUserService_Posts(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/submitted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.User.Posts(ctx, nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t3_gczwql", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t3_gczwql", posts.After)
require.Equal(t, "", posts.Before)
}
func TestUserService_PostsOf(t *testing.T) {
@ -361,20 +361,20 @@ func TestUserService_PostsOf(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user2/submitted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.User.PostsOf(ctx, "user2", nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t3_gczwql", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t3_gczwql", posts.After)
require.Equal(t, "", posts.Before)
}
func TestUserService_Posts_Options(t *testing.T) {
@ -382,18 +382,18 @@ func TestUserService_Posts_Options(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/submitted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("limit", "10")
form.Set("sort", "new")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
@ -404,7 +404,7 @@ func TestUserService_Posts_Options(t *testing.T) {
},
Sort: "new",
})
assert.NoError(t, err)
require.NoError(t, err)
}
func TestUserService_Comments(t *testing.T) {
@ -412,20 +412,20 @@ func TestUserService_Comments(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/comments.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/comments", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
comments, _, err := client.User.Comments(ctx, nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, comments.Comments, 1)
assert.Equal(t, expectedComment, comments.Comments[0])
assert.Equal(t, "t1_f0zsa37", comments.After)
assert.Equal(t, "", comments.Before)
require.Len(t, comments.Comments, 1)
require.Equal(t, expectedComment, comments.Comments[0])
require.Equal(t, "t1_f0zsa37", comments.After)
require.Equal(t, "", comments.Before)
}
func TestUserService_CommentsOf(t *testing.T) {
@ -433,20 +433,20 @@ func TestUserService_CommentsOf(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/comments.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user2/comments", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
comments, _, err := client.User.CommentsOf(ctx, "user2", nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, comments.Comments, 1)
assert.Equal(t, expectedComment, comments.Comments[0])
assert.Equal(t, "t1_f0zsa37", comments.After)
assert.Equal(t, "", comments.Before)
require.Len(t, comments.Comments, 1)
require.Equal(t, expectedComment, comments.Comments[0])
require.Equal(t, "t1_f0zsa37", comments.After)
require.Equal(t, "", comments.Before)
}
func TestUserService_Comments_Options(t *testing.T) {
@ -454,18 +454,18 @@ func TestUserService_Comments_Options(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/comments.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/comments", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("limit", "100")
form.Set("before", "t1_before")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
@ -476,7 +476,7 @@ func TestUserService_Comments_Options(t *testing.T) {
Before: "t1_before",
},
})
assert.NoError(t, err)
require.NoError(t, err)
}
func TestUserService_Saved(t *testing.T) {
@ -485,25 +485,25 @@ func TestUserService_Saved(t *testing.T) {
// we'll use this, similar payloads
blob, err := readFileContents("testdata/user/overview.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/saved", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, comments, _, err := client.User.Saved(ctx, nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t1_f0zsa37", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t1_f0zsa37", posts.After)
require.Equal(t, "", posts.Before)
assert.Len(t, comments.Comments, 1)
assert.Equal(t, expectedComment, comments.Comments[0])
assert.Equal(t, "t1_f0zsa37", comments.After)
assert.Equal(t, "", comments.Before)
require.Len(t, comments.Comments, 1)
require.Equal(t, expectedComment, comments.Comments[0])
require.Equal(t, "t1_f0zsa37", comments.After)
require.Equal(t, "", comments.Before)
}
func TestUserService_Saved_Options(t *testing.T) {
@ -512,18 +512,18 @@ func TestUserService_Saved_Options(t *testing.T) {
// we'll use this, similar payloads
blob, err := readFileContents("testdata/user/overview.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/saved", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("limit", "50")
form.Set("sort", "controversial")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
@ -534,7 +534,7 @@ func TestUserService_Saved_Options(t *testing.T) {
},
Sort: "controversial",
})
assert.NoError(t, err)
require.NoError(t, err)
}
func TestUserService_Upvoted(t *testing.T) {
setup()
@ -542,20 +542,20 @@ func TestUserService_Upvoted(t *testing.T) {
// we'll use this, similar payloads
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/upvoted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.User.Upvoted(ctx, nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t3_gczwql", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t3_gczwql", posts.After)
require.Equal(t, "", posts.Before)
}
func TestUserService_Upvoted_Options(t *testing.T) {
@ -564,18 +564,18 @@ func TestUserService_Upvoted_Options(t *testing.T) {
// we'll use this, similar payloads
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/upvoted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("limit", "30")
form.Set("after", "t3_after")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
@ -586,7 +586,7 @@ func TestUserService_Upvoted_Options(t *testing.T) {
After: "t3_after",
},
})
assert.NoError(t, err)
require.NoError(t, err)
}
func TestUserService_UpvotedOf(t *testing.T) {
@ -595,20 +595,20 @@ func TestUserService_UpvotedOf(t *testing.T) {
// we'll use this, similar payloads
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user2/upvoted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.User.UpvotedOf(ctx, "user2", nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t3_gczwql", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t3_gczwql", posts.After)
require.Equal(t, "", posts.Before)
}
func TestUserService_Downvoted(t *testing.T) {
@ -617,20 +617,20 @@ func TestUserService_Downvoted(t *testing.T) {
// we'll use this, similar payloads
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/downvoted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.User.Downvoted(ctx, nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t3_gczwql", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t3_gczwql", posts.After)
require.Equal(t, "", posts.Before)
}
func TestUserService_Downvoted_Options(t *testing.T) {
@ -639,18 +639,18 @@ func TestUserService_Downvoted_Options(t *testing.T) {
// we'll use this, similar payloads
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/downvoted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("limit", "20")
form.Set("before", "t3_before")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
@ -661,7 +661,7 @@ func TestUserService_Downvoted_Options(t *testing.T) {
Before: "t3_before",
},
})
assert.NoError(t, err)
require.NoError(t, err)
}
func TestUserService_DownvotedOf(t *testing.T) {
@ -670,20 +670,20 @@ func TestUserService_DownvotedOf(t *testing.T) {
// we'll use this, similar payloads
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user2/downvoted", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.User.DownvotedOf(ctx, "user2", nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t3_gczwql", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t3_gczwql", posts.After)
require.Equal(t, "", posts.Before)
}
func TestUserService_Hidden(t *testing.T) {
@ -692,20 +692,20 @@ func TestUserService_Hidden(t *testing.T) {
// we'll use this, similar payloads
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/hidden", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.User.Hidden(ctx, nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t3_gczwql", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t3_gczwql", posts.After)
require.Equal(t, "", posts.Before)
}
func TestUserService_Gilded(t *testing.T) {
@ -714,20 +714,20 @@ func TestUserService_Gilded(t *testing.T) {
// we'll use this, similar payloads
blob, err := readFileContents("testdata/user/submitted.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/user/user1/gilded", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
posts, _, err := client.User.Gilded(ctx, nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Len(t, posts.Posts, 1)
assert.Equal(t, expectedPost, posts.Posts[0])
assert.Equal(t, "t3_gczwql", posts.After)
assert.Equal(t, "", posts.Before)
require.Len(t, posts.Posts, 1)
require.Equal(t, expectedPost, posts.Posts[0])
require.Equal(t, "t3_gczwql", posts.After)
require.Equal(t, "", posts.Before)
}
func TestUserService_GetFriendship(t *testing.T) {
@ -735,16 +735,16 @@ func TestUserService_GetFriendship(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/friend.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/me/friends/test123", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
relationship, _, err := client.User.GetFriendship(ctx, "test123")
assert.NoError(t, err)
assert.Equal(t, expectedRelationship, relationship)
require.NoError(t, err)
require.Equal(t, expectedRelationship, relationship)
}
func TestUserService_Friend(t *testing.T) {
@ -752,10 +752,10 @@ func TestUserService_Friend(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/friend.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/me/friends/test123", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPut, r.Method)
require.Equal(t, http.MethodPut, r.Method)
type request struct {
Username string `json:"name"`
@ -763,15 +763,15 @@ func TestUserService_Friend(t *testing.T) {
var req request
err := json.NewDecoder(r.Body).Decode(&req)
assert.NoError(t, err)
assert.Equal(t, "test123", req.Username)
require.NoError(t, err)
require.Equal(t, "test123", req.Username)
fmt.Fprint(w, blob)
})
relationship, _, err := client.User.Friend(ctx, "test123")
assert.NoError(t, err)
assert.Equal(t, expectedRelationship, relationship)
require.NoError(t, err)
require.Equal(t, expectedRelationship, relationship)
}
func TestUserService_Unfriend(t *testing.T) {
@ -779,13 +779,13 @@ func TestUserService_Unfriend(t *testing.T) {
defer teardown()
mux.HandleFunc("/api/v1/me/friends/test123", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodDelete, r.Method)
require.Equal(t, http.MethodDelete, r.Method)
w.WriteHeader(http.StatusNoContent)
})
res, err := client.User.Unfriend(ctx, "test123")
assert.NoError(t, err)
assert.Equal(t, http.StatusNoContent, res.StatusCode)
require.NoError(t, err)
require.Equal(t, http.StatusNoContent, res.StatusCode)
}
func TestUserService_Block(t *testing.T) {
@ -793,24 +793,24 @@ func TestUserService_Block(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/block.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/block_user", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("name", "test123")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
blocked, _, err := client.User.Block(ctx, "test123")
assert.NoError(t, err)
assert.Equal(t, expectedBlocked, blocked)
require.NoError(t, err)
require.Equal(t, expectedBlocked, blocked)
}
// func TestUserService_BlockByID(t *testing.T) {
@ -818,24 +818,24 @@ func TestUserService_Block(t *testing.T) {
// defer teardown()
// blob, err := readFileContents("testdata/user/block.json")
// assert.NoError(t,err)
// require.NoError(t,err)
// mux.HandleFunc("/api/block_user", func(w http.ResponseWriter, r *http.Request) {
// assert.Equal(t, http.MethodPost, r.Method)
// require.Equal(t, http.MethodPost, r.Method)
// form := url.Values{}
// form.Set("account_id", "abc123")
// err := r.ParseForm()
// assert.NoError(t, err)
// assert.Equal(t, form, r.Form)
// require.NoError(t, err)
// require.Equal(t, form, r.Form)
// fmt.Fprint(w, blob)
// })
// blocked, _, err := client.User.BlockByID(ctx, "abc123")
// assert.NoError(t, err)
// assert.Equal(t, expectedBlocked, blocked)
// require.NoError(t, err)
// require.Equal(t, expectedBlocked, blocked)
// }
func TestUserService_Unblock(t *testing.T) {
@ -845,7 +845,7 @@ func TestUserService_Unblock(t *testing.T) {
client.redditID = "self123"
mux.HandleFunc("/api/unfriend", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
require.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("name", "test123")
@ -853,12 +853,12 @@ func TestUserService_Unblock(t *testing.T) {
form.Set("container", client.redditID)
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
})
_, err := client.User.Unblock(ctx, "test123")
assert.NoError(t, err)
require.NoError(t, err)
}
// func TestUserService_UnblockByID(t *testing.T) {
@ -868,7 +868,7 @@ func TestUserService_Unblock(t *testing.T) {
// client.redditID = "self123"
// mux.HandleFunc("/api/unfriend", func(w http.ResponseWriter, r *http.Request) {
// assert.Equal(t, http.MethodPost, r.Method)
// require.Equal(t, http.MethodPost, r.Method)
// form := url.Values{}
// form.Set("id", "abc123")
@ -876,12 +876,12 @@ func TestUserService_Unblock(t *testing.T) {
// form.Set("container", client.redditID)
// err := r.ParseForm()
// assert.NoError(t, err)
// assert.Equal(t, form, r.Form)
// require.NoError(t, err)
// require.Equal(t, form, r.Form)
// })
// _, err := client.User.UnblockByID(ctx, "abc123")
// assert.NoError(t, err)
// require.NoError(t, err)
// }
func TestUserService_Trophies(t *testing.T) {
@ -889,16 +889,16 @@ func TestUserService_Trophies(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/trophies.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/user/user1/trophies", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
trophies, _, err := client.User.Trophies(ctx)
assert.NoError(t, err)
assert.Equal(t, expectedTrophies, trophies)
require.NoError(t, err)
require.Equal(t, expectedTrophies, trophies)
}
func TestUserService_TrophiesOf(t *testing.T) {
@ -906,16 +906,16 @@ func TestUserService_TrophiesOf(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/trophies.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/api/v1/user/test123/trophies", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
trophies, _, err := client.User.TrophiesOf(ctx, "test123")
assert.NoError(t, err)
assert.Equal(t, expectedTrophies, trophies)
require.NoError(t, err)
require.Equal(t, expectedTrophies, trophies)
}
func TestUserService_Popular(t *testing.T) {
@ -923,16 +923,16 @@ func TestUserService_Popular(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/user-subreddits.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/users/popular", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
userSubreddits, _, err := client.User.Popular(ctx, nil)
assert.NoError(t, err)
assert.Equal(t, expectedUserSubreddits, userSubreddits)
require.NoError(t, err)
require.Equal(t, expectedUserSubreddits, userSubreddits)
}
func TestUserService_New(t *testing.T) {
@ -940,16 +940,16 @@ func TestUserService_New(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/user-subreddits.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/users/new", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, blob)
})
userSubreddits, _, err := client.User.New(ctx, nil)
assert.NoError(t, err)
assert.Equal(t, expectedUserSubreddits, userSubreddits)
require.NoError(t, err)
require.Equal(t, expectedUserSubreddits, userSubreddits)
}
func TestUserService_Search(t *testing.T) {
@ -957,22 +957,22 @@ func TestUserService_Search(t *testing.T) {
defer teardown()
blob, err := readFileContents("testdata/user/list.json")
assert.NoError(t, err)
require.NoError(t, err)
mux.HandleFunc("/users/search", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method)
require.Equal(t, http.MethodGet, r.Method)
form := url.Values{}
form.Set("q", "test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.Form)
require.NoError(t, err)
require.Equal(t, form, r.Form)
fmt.Fprint(w, blob)
})
users, _, err := client.User.Search(ctx, "test", nil)
assert.NoError(t, err)
assert.Equal(t, expectedSearchUsers, users)
require.NoError(t, err)
require.Equal(t, expectedSearchUsers, users)
}