Skip to content

Commit

Permalink
Return errors upon missing parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
Yohan460 committed May 2, 2022
1 parent fd9eee8 commit 439edc3
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
8 changes: 7 additions & 1 deletion conversation.go
Expand Up @@ -5,6 +5,8 @@ import (
"net/url"
"strconv"
"strings"

"github.com/pkg/errors"
)

// Conversation is the foundation for IM and BaseGroupConversation
Expand Down Expand Up @@ -372,7 +374,11 @@ func (api *Client) GetConversationInfo(input *GetConversationInfoInput) (*Channe
// GetConversationInfoContext retrieves information about a conversation with a custom context
func (api *Client) GetConversationInfoContext(ctx context.Context, input *GetConversationInfoInput) (*Channel, error) {
if input == nil {
input = &GetConversationInfoInput{}
return nil, errors.New("GetConversationInfoInput must not be nil")
}

if input.ChannelID == "" {
return nil, errors.New("ChannelID must be defined")
}

values := url.Values{
Expand Down
22 changes: 22 additions & 0 deletions conversation_test.go
Expand Up @@ -413,6 +413,28 @@ func TestGetConversationInfo(t *testing.T) {
}
}

func TestGetConversationInfoNilError(t *testing.T) {
http.HandleFunc("/conversations.info", okChannelJsonHandler)
once.Do(startServer)
api := New("testing-token", OptionAPIURL("http://"+serverAddr+"/"))
_, err := api.GetConversationInfo(nil)
if err == nil {
t.Errorf("Unexpected pass where there should have been nil input error")
return
}
}

func TestGetConversationInfoMissingChannelError(t *testing.T) {
http.HandleFunc("/conversations.info", okChannelJsonHandler)
once.Do(startServer)
api := New("testing-token", OptionAPIURL("http://"+serverAddr+"/"))
_, err := api.GetConversationInfo(&GetConversationInfoInput{})
if err == nil {
t.Errorf("Unexpected pass where there should have been missing channel error")
return
}
}

func leaveConversationHandler(rw http.ResponseWriter, r *http.Request) {
rw.Header().Set("Content-Type", "application/json")
response, _ := json.Marshal(struct {
Expand Down

0 comments on commit 439edc3

Please sign in to comment.