From 2a692d830078e56ac048bc4dc1df91d166bc5fc5 Mon Sep 17 00:00:00 2001 From: Aliaksandr Pliutau Date: Wed, 20 Jan 2016 12:36:02 +0700 Subject: [PATCH] types_test.go --- types_test.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 types_test.go diff --git a/types_test.go b/types_test.go new file mode 100644 index 0000000..ebd9266 --- /dev/null +++ b/types_test.go @@ -0,0 +1,32 @@ +package paypalsdk + +// These tests test responses convertion from JSON to golang structs + +import ( + "encoding/json" + "testing" +) + +func TestTypeUserInfo(t *testing.T) { + response := `{ + "user_id": "https://www.paypal.com/webapps/auth/server/64ghr894040044", + "name": "Peter Pepper", + "given_name": "Peter", + "family_name": "Pepper", + "email": "ppuser@example.com" + }` + + u := &UserInfo{} + err := json.Unmarshal([]byte(response), u) + if err != nil { + t.Errorf("UserInfo Unmarshal failed") + } + + if u.ID != "https://www.paypal.com/webapps/auth/server/64ghr894040044" || + u.Name != "Peter Pepper" || + u.GivenName != "Peter" || + u.FamilyName != "Pepper" || + u.Email != "ppuser@example.com" { + t.Errorf("UserInfo decoded result is incorrect") + } +}