Use Credentials struct for NewClient
Signed-off-by: Vartan Benohanian <vartanbeno@gmail.com>
This commit is contained in:
@@ -10,53 +10,44 @@ import (
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestWithCredentials(t *testing.T) {
|
||||
c, err := NewClient(WithCredentials("id1", "secret1", "username1", "password1"))
|
||||
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 TestWithHTTPClient(t *testing.T) {
|
||||
_, err := NewClient(WithHTTPClient(nil))
|
||||
_, err := NewClient(Credentials{}, WithHTTPClient(nil))
|
||||
require.EqualError(t, err, "*http.Client: cannot be nil")
|
||||
|
||||
_, err = NewClient(WithHTTPClient(&http.Client{}))
|
||||
_, err = NewClient(Credentials{}, WithHTTPClient(&http.Client{}))
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestWithUserAgent(t *testing.T) {
|
||||
c, err := NewClient(WithUserAgent("test"))
|
||||
c, err := NewClient(Credentials{}, WithUserAgent("test"))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "test", c.UserAgent())
|
||||
|
||||
c, err = NewClient(WithUserAgent(""))
|
||||
c, err = NewClient(Credentials{}, WithUserAgent(""))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, fmt.Sprintf("golang:%s:v%s", libraryName, libraryVersion), c.UserAgent())
|
||||
}
|
||||
|
||||
func TestWithBaseURL(t *testing.T) {
|
||||
c, err := NewClient(WithBaseURL(":"))
|
||||
c, err := NewClient(Credentials{}, WithBaseURL(":"))
|
||||
urlErr, ok := err.(*url.Error)
|
||||
require.True(t, ok)
|
||||
require.Equal(t, "parse", urlErr.Op)
|
||||
|
||||
baseURL := "http://localhost:8080"
|
||||
c, err = NewClient(WithBaseURL(baseURL))
|
||||
c, err = NewClient(Credentials{}, WithBaseURL(baseURL))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, baseURL, c.BaseURL.String())
|
||||
}
|
||||
|
||||
func TestWithTokenURL(t *testing.T) {
|
||||
c, err := NewClient(WithTokenURL(":"))
|
||||
c, err := NewClient(Credentials{}, WithTokenURL(":"))
|
||||
urlErr, ok := err.(*url.Error)
|
||||
require.True(t, ok)
|
||||
require.Equal(t, "parse", urlErr.Op)
|
||||
|
||||
tokenURL := "http://localhost:8080/api/v1/access_token"
|
||||
c, err = NewClient(WithTokenURL(tokenURL))
|
||||
c, err = NewClient(Credentials{}, WithTokenURL(tokenURL))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, tokenURL, c.TokenURL.String())
|
||||
}
|
||||
@@ -74,7 +65,7 @@ func TestFromEnv(t *testing.T) {
|
||||
os.Setenv("GO_REDDIT_CLIENT_PASSWORD", "password1")
|
||||
defer os.Unsetenv("GO_REDDIT_CLIENT_PASSWORD")
|
||||
|
||||
c, err := NewClient(FromEnv)
|
||||
c, err := NewClient(Credentials{}, FromEnv)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "id1", c.ID)
|
||||
require.Equal(t, "secret1", c.Secret)
|
||||
|
||||
Reference in New Issue
Block a user