Tang Cheng | 9e58f23 | 2019-10-09 13:49:49 +0800 | [diff] [blame^] | 1 | package wsclient |
Tang Cheng | 51242e2 | 2016-07-14 14:52:07 +0800 | [diff] [blame] | 2 | |
| 3 | import ( |
Tang Cheng | 72bc900 | 2019-01-11 11:29:59 +0800 | [diff] [blame] | 4 | "fmt" |
Tang Cheng | 51242e2 | 2016-07-14 14:52:07 +0800 | [diff] [blame] | 5 | "testing" |
| 6 | ) |
| 7 | |
| 8 | const caPEM = `-----BEGIN CERTIFICATE----- |
| 9 | MIID8TCCAtmgAwIBAgIJAKFBiWb1ivtAMA0GCSqGSIb3DQEBCwUAMIGOMQswCQYD |
| 10 | VQQGEwJDTjELMAkGA1UECAwCU0gxETAPBgNVBAcMCFNoYW5naGFpMRIwEAYDVQQK |
| 11 | DAlTdXB3aXNkb20xDDAKBgNVBAsMA1lrdDEaMBgGA1UEAwwReWt0LnN1cHdpc2Rv |
| 12 | bS5jb20xITAfBgkqhkiG9w0BCQEWEnRlY2hAc3Vwd2lzZG9tLmNvbTAeFw0xNjA3 |
| 13 | MTQwMjU4MTBaFw0xNjA4MTMwMjU4MTBaMIGOMQswCQYDVQQGEwJDTjELMAkGA1UE |
| 14 | CAwCU0gxETAPBgNVBAcMCFNoYW5naGFpMRIwEAYDVQQKDAlTdXB3aXNkb20xDDAK |
| 15 | BgNVBAsMA1lrdDEaMBgGA1UEAwwReWt0LnN1cHdpc2RvbS5jb20xITAfBgkqhkiG |
| 16 | 9w0BCQEWEnRlY2hAc3Vwd2lzZG9tLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP |
| 17 | ADCCAQoCggEBANaI/Go+ysBu1pQytxyFKehHic+WCfWeFltnKJg6QczYczqqZR8K |
| 18 | xpRfEOWy3srRr5K+IRASuYka5DIHyZkozisdcLH8pzBd/gKluh0PlMClOJ8nYbe/ |
| 19 | 6LHuASPzaehLxenjg8G39A0qX3cJCo0Wo95fkzViroyMKX4wu91GYlOlMv/5PlbZ |
| 20 | dtL5G2yJPuvyyG8cp7OUQjVFdfI1S3rLnwn3DDCnhsw48j8GFTbdPWbnIqG2sgW0 |
| 21 | K6ycTioTmvxEWjMEl+f1aodQ13FbtG84xcLOz0kcvAHzcLATKHXhs3f9jZMo62Y1 |
| 22 | jDjq9kmPkznv35r/Wvh94dsBPjroH15sLXUCAwEAAaNQME4wHQYDVR0OBBYEFOXs |
| 23 | u68Yd29qPaSADyL9cq8T7aYOMB8GA1UdIwQYMBaAFOXsu68Yd29qPaSADyL9cq8T |
| 24 | 7aYOMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADkZxo5/r82rmwKz |
| 25 | A5Jba2YLWiBtjalHfpi2US8IQKva47Jb/P/TmbukdNCeaNjS8FRypaA4HM81G+tE |
| 26 | mDIIL5U8KnZ3DeZA/Ql4GtWscLxs92NdNo4dNqMZyLtphEQVY4mkynygqW4koCwN |
| 27 | fo6rwgTWN+kZ2Eo5i8ZPsCi2mew7vy8IK+B06toVw0picCgvhCXtVjHS4ndj52FZ |
| 28 | 9nNHnIoaJLxPj+UhICKH73WVJdZQEPpfB7upkBARNJ7y313wm6wh8FIA86frqKiV |
| 29 | mggFtcm1X5BXnYYe9p+3+e5qQK2hkiZuRKzjAaIwzww5oI5QMHLkyDa1Mhn87w2v |
| 30 | 9HSYpIA= |
| 31 | -----END CERTIFICATE----- |
| 32 | |
| 33 | ` |
| 34 | const ( |
| 35 | appID = "100001" |
| 36 | appSecret = "3072a87ece234b728b519ded8dd152b1" |
| 37 | termID = "1020303" |
| 38 | ) |
| 39 | |
Tang Cheng | 8483942 | 2016-07-14 14:57:19 +0800 | [diff] [blame] | 40 | func TestUseHTTP(t *testing.T) { |
Tang Cheng | 62fdaa3 | 2019-01-11 10:12:41 +0800 | [diff] [blame] | 41 | uri := "http://ykt.supwisdom.com:9116/epayapi/services" |
Tang Cheng | 51242e2 | 2016-07-14 14:52:07 +0800 | [diff] [blame] | 42 | session := NewSession(appID, appSecret, termID, uri, 3, true) |
| 43 | err := session.Auth() |
| 44 | if err != nil { |
| 45 | t.Errorf("Auth Error: %v", err) |
| 46 | } |
Tang Cheng | 72bc900 | 2019-01-11 11:29:59 +0800 | [diff] [blame] | 47 | |
| 48 | r, err := session.CallService2("/common/servicecheck", |
| 49 | make(map[string]interface{}), 3) |
| 50 | if err != nil { |
| 51 | t.Errorf("Request Error: %v", err) |
| 52 | } else { |
| 53 | fmt.Printf("hostdatetime: %v\n", r.GetStrValue("hostdatetime")) |
| 54 | } |
| 55 | |
| 56 | r, err = session.CallService2("/v5/manage/pos/gettoken", |
| 57 | map[string]interface{}{ |
| 58 | "devphyid": "30000004", |
| 59 | }, 3, "devphyid") |
| 60 | |
| 61 | if err != nil { |
| 62 | t.Errorf("Request Error: %v", err) |
| 63 | } else if r.GetIntValue("retcode") != 0 { |
| 64 | t.Errorf("get device token error, ret=%v", r.GetIntValue("retcode")) |
| 65 | } else { |
| 66 | fmt.Printf("ret=%v, devtoken: %v\n", r.GetIntValue("retcode"), |
| 67 | r.GetStrValue("devtoken")) |
| 68 | } |
Tang Cheng | 51242e2 | 2016-07-14 14:52:07 +0800 | [diff] [blame] | 69 | } |
| 70 | |
| 71 | func TestUseHTTPS(t *testing.T) { |
Tang Cheng | cb9f878 | 2019-01-08 16:00:37 +0800 | [diff] [blame] | 72 | uri := "https://ykt.supwisdom.com/epayapi/services" |
Tang Cheng | 51242e2 | 2016-07-14 14:52:07 +0800 | [diff] [blame] | 73 | session, err := NewSessionWithCA(appID, appSecret, termID, uri, 3, []byte(caPEM)) |
| 74 | if err != nil { |
| 75 | t.Error("New Session , ", err) |
| 76 | return |
| 77 | } |
| 78 | err = session.Auth() |
| 79 | if err != nil { |
| 80 | t.Errorf("Auth Error: %v", err) |
| 81 | return |
| 82 | } |
| 83 | } |
| 84 | |
| 85 | func TestUseSecureHTTPS(t *testing.T) { |
Tang Cheng | cb9f878 | 2019-01-08 16:00:37 +0800 | [diff] [blame] | 86 | uri := "https://ykt.supwisdom.com/epayapi/services" |
Tang Cheng | 8483942 | 2016-07-14 14:57:19 +0800 | [diff] [blame] | 87 | session := NewSession(appID, appSecret, termID, uri, 3, true) |
| 88 | err := session.Auth() |
| 89 | if err != nil { |
| 90 | t.Errorf("Auth Error: %v", err) |
| 91 | return |
| 92 | } |
Tang Cheng | 51242e2 | 2016-07-14 14:52:07 +0800 | [diff] [blame] | 93 | } |