You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
8.9 KiB
175 lines
8.9 KiB
package apns2 |
|
|
|
import ( |
|
"crypto/tls" |
|
"encoding/json" |
|
"fmt" |
|
"testing" |
|
"time" |
|
|
|
"go-common/app/service/main/push/model" |
|
|
|
. "github.com/smartystreets/goconvey/convey" |
|
) |
|
|
|
var ( |
|
k = []byte(`-----BEGIN RSA PRIVATE KEY----- |
|
MIIEpAIBAAKCAQEA3ZDI9NUPfMH0/6DgmeCH/Zl8g3pOlLcMY0p6m8lMe9EDF1vZ |
|
w3uR05YzbQCmYCwWZLKDTq/0d3RMRow8AON1wMv9ynyk7Z1Pb9C+ByN4GCWsRHjN |
|
BbEg8jgBYeOoM6PlpDc16D8uPKukRuaq/j1beOn1HD4vnS8KqUzeS6fYbaiPjC7h |
|
7QZOnNE5NwV6TKPMu/+0aNPNgZDeFtNwcXiiRX6OPfbOOnVr0/6WGorYdGMPLxeZ |
|
viqZ37z7rDhup/LaiDedO/tm09lmKUbFOHS+qbSYPXztDHhOwTm36E1k2mD5Lq1S |
|
d5zHRrwzgPTvieFQ+giA9u8pn2wBNDASBDF1pQIDAQABAoIBAQDdNQtdXUa8IQ1R |
|
FraHCuPa7p2gysCfu22TyC1HUh+ZUqEKdjqg78M1AzXOsyJozDuDR7LPId8qUCND |
|
IAlcPbw3w7Jbsjwbu74ufbLrf58MRLiMGCthbmndSsseh2NMQ2snm7Onb0Tjb95w |
|
pyW69VlZDAQasX9qKCg1xTf/QtFTEGbJpkfN7lYYjwwhLFck39SUH254cwmqV8Tj |
|
AQ9Uj6dQhYvWseSGtsbqkyj0/sUwyzfaUWeNjnYUaVQWxAalnLYiUCzRLR0IMwvM |
|
cmscwYWrWlPPd8ND4yGyHXqeQH2fVJqEx/aIDSpujNeOm2MH0RFRNBU53d/tJpj8 |
|
XuqE8Yj1AoGBAO5klAY8vScnC3RQ8x3tlJkM3jkD3FmqSJu7erId0T6KgJz0Xmgj |
|
zHYwvq+V4t0Kmk1Tt5Okq3wI41uDZUJCBXrnNWhm0oDHnlw38TiptBrfqIjfyK5y |
|
OmmP49DWHZagF9nY74zM2doCLPnI9G2i2mAcCjCMXKfeJhOhzkgjnGOTAoGBAO3u |
|
Cy5N9a8yjQ3y0B3iNwWQQs94kfwbyuy4cvvBOlkheB0JTEunNfHVVl4zlwFDnrH1 |
|
UWg7ySqTM3iCd9OE1bErbavHmGeTC0FYkKw/k4fct7icU1shSuPwkyp3GRYI6qW8 |
|
e24k2U32gO/ANu6WZsYKKAcYjMObQc+/LkLaV3TnAoGAT5QJia964Pf6reBb17C4 |
|
OwL9p4CvbMsYI8xIn+6uK7dmSX6ViSPyG74X2VsqeOkSKx/4FvQQPn5lDuZkxeJu |
|
G+HUhT5VpKF+LoCKKIUV1ya0BsTVI86Dyzs6LDtdcyuL6q+s/45eZpT1WIiJd5O2 |
|
XADgMeaZA3x3r3QC/TfN+7sCgYAUQvpGxjLO6aIjdvMMKHCBE8jsvBrKel9si0SX |
|
ddwPLQ96gYkyxBmO75j8Sq5oWCbShs6Y7sZxzrlKYOntZFmCTe13/HZZE6eYt/8R |
|
/BQHNN+cZAuhLhOfl6QgsKW9P6Mj3Aoy1gZ/YieWwyqqZLp50PGZsRiDq9wN4f0B |
|
inB6LwKBgQDTeiZ7lAHNhZW8VOpD/K/403xQQinJr6vMiWFm/znwcbm/pteWZuwR |
|
omzn56zhYiXkDKKKxFkVIwf80xSz4Rmgl0p2BndsXU8hOVY/NCnAQJ1uZIsNilcP |
|
KsBKVxvOzopDKZP+C0IQcRaw5VN9WvqJ9ijUEwgm2ufQyz1oj7tREg== |
|
-----END RSA PRIVATE KEY-----`) |
|
c = []byte(`-----BEGIN CERTIFICATE----- |
|
MIIGOTCCBSGgAwIBAgIIDMyy2gAN2P4wDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV |
|
BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js |
|
ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3 |
|
aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw |
|
HhcNMTgwNzA5MTA0NzQ5WhcNMTkwODA4MTA0NzQ5WjCBqjEkMCIGCgmSJomT8ixk |
|
AQEMFHR2LmRhbm1ha3UuYmlsaWFuaW1lMTIwMAYDVQQDDClBcHBsZSBQdXNoIFNl |
|
cnZpY2VzOiB0di5kYW5tYWt1LmJpbGlhbmltZTETMBEGA1UECwwKNzQ2ODQ1R0M5 |
|
NjEsMCoGA1UECgwjU2hhbmdoYWkgQmlsaWJpbGkgQW5pbWF0aW9uIENvLixMdGQx |
|
CzAJBgNVBAYTAkNOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3ZDI |
|
9NUPfMH0/6DgmeCH/Zl8g3pOlLcMY0p6m8lMe9EDF1vZw3uR05YzbQCmYCwWZLKD |
|
Tq/0d3RMRow8AON1wMv9ynyk7Z1Pb9C+ByN4GCWsRHjNBbEg8jgBYeOoM6PlpDc1 |
|
6D8uPKukRuaq/j1beOn1HD4vnS8KqUzeS6fYbaiPjC7h7QZOnNE5NwV6TKPMu/+0 |
|
aNPNgZDeFtNwcXiiRX6OPfbOOnVr0/6WGorYdGMPLxeZviqZ37z7rDhup/LaiDed |
|
O/tm09lmKUbFOHS+qbSYPXztDHhOwTm36E1k2mD5Lq1Sd5zHRrwzgPTvieFQ+giA |
|
9u8pn2wBNDASBDF1pQIDAQABo4ICczCCAm8wDAYDVR0TAQH/BAIwADAfBgNVHSME |
|
GDAWgBSIJxcJqbYYYIvs67r2R1nFUlSjtzCCARwGA1UdIASCARMwggEPMIIBCwYJ |
|
KoZIhvdjZAUBMIH9MIHDBggrBgEFBQcCAjCBtgyBs1JlbGlhbmNlIG9uIHRoaXMg |
|
Y2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0YW5jZSBvZiB0 |
|
aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25z |
|
IG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZpY2F0aW9uIHBy |
|
YWN0aWNlIHN0YXRlbWVudHMuMDUGCCsGAQUFBwIBFilodHRwOi8vd3d3LmFwcGxl |
|
LmNvbS9jZXJ0aWZpY2F0ZWF1dGhvcml0eTATBgNVHSUEDDAKBggrBgEFBQcDAjAw |
|
BgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vY3JsLmFwcGxlLmNvbS93d2RyY2EuY3Js |
|
MB0GA1UdDgQWBBRezirr8YHmrv5m5/7ZCr3VybbdLjAOBgNVHQ8BAf8EBAMCB4Aw |
|
EAYKKoZIhvdjZAYDAQQCBQAwEAYKKoZIhvdjZAYDAgQCBQAwgYMGCiqGSIb3Y2QG |
|
AwYEdTBzDBR0di5kYW5tYWt1LmJpbGlhbmltZTAFDANhcHAMGXR2LmRhbm1ha3Uu |
|
YmlsaWFuaW1lLnZvaXAwBgwEdm9pcAwhdHYuZGFubWFrdS5iaWxpYW5pbWUuY29t |
|
cGxpY2F0aW9uMA4MDGNvbXBsaWNhdGlvbjANBgkqhkiG9w0BAQsFAAOCAQEAQLGl |
|
rzH6QG5WKmEbYw3741TTer1E2MlCr7JP9rmn3W+IWy+cX2IQv9vaeFZ3pi/1uMkC |
|
kK6JQd7gUXLPcGwldu4m36OOdUfRLWPH7yvvyYazEo6sDKAUzI/cg14Yj/3Z7ig1 |
|
nL6pvXzPd0LjreKKDc08wfmV8gbALLWzjkIcanNdijWlMtfwgLWQunr2jZAK4kKN |
|
GpGku6BCZPYzFLidPMfnXIgOarNbM0SFX+3UY2+fWS+oJsNpGvqWUEINFjVhWoZ4 |
|
62WxT8BT2sCbMNGqJGM3wTYe6gkT3E52azu1bNc18/+5/V/qCIjsZLWsX4yCywFE |
|
JQR4w5UPQzMbq6Ybeg== |
|
-----END CERTIFICATE-----`) |
|
hdk = []byte(`-----BEGIN RSA PRIVATE KEY----- |
|
MIIEpAIBAAKCAQEA3ZDI9NUPfMH0/6DgmeCH/Zl8g3pOlLcMY0p6m8lMe9EDF1vZ |
|
w3uR05YzbQCmYCwWZLKDTq/0d3RMRow8AON1wMv9ynyk7Z1Pb9C+ByN4GCWsRHjN |
|
BbEg8jgBYeOoM6PlpDc16D8uPKukRuaq/j1beOn1HD4vnS8KqUzeS6fYbaiPjC7h |
|
7QZOnNE5NwV6TKPMu/+0aNPNgZDeFtNwcXiiRX6OPfbOOnVr0/6WGorYdGMPLxeZ |
|
viqZ37z7rDhup/LaiDedO/tm09lmKUbFOHS+qbSYPXztDHhOwTm36E1k2mD5Lq1S |
|
d5zHRrwzgPTvieFQ+giA9u8pn2wBNDASBDF1pQIDAQABAoIBAQDdNQtdXUa8IQ1R |
|
FraHCuPa7p2gysCfu22TyC1HUh+ZUqEKdjqg78M1AzXOsyJozDuDR7LPId8qUCND |
|
IAlcPbw3w7Jbsjwbu74ufbLrf58MRLiMGCthbmndSsseh2NMQ2snm7Onb0Tjb95w |
|
pyW69VlZDAQasX9qKCg1xTf/QtFTEGbJpkfN7lYYjwwhLFck39SUH254cwmqV8Tj |
|
AQ9Uj6dQhYvWseSGtsbqkyj0/sUwyzfaUWeNjnYUaVQWxAalnLYiUCzRLR0IMwvM |
|
cmscwYWrWlPPd8ND4yGyHXqeQH2fVJqEx/aIDSpujNeOm2MH0RFRNBU53d/tJpj8 |
|
XuqE8Yj1AoGBAO5klAY8vScnC3RQ8x3tlJkM3jkD3FmqSJu7erId0T6KgJz0Xmgj |
|
zHYwvq+V4t0Kmk1Tt5Okq3wI41uDZUJCBXrnNWhm0oDHnlw38TiptBrfqIjfyK5y |
|
OmmP49DWHZagF9nY74zM2doCLPnI9G2i2mAcCjCMXKfeJhOhzkgjnGOTAoGBAO3u |
|
Cy5N9a8yjQ3y0B3iNwWQQs94kfwbyuy4cvvBOlkheB0JTEunNfHVVl4zlwFDnrH1 |
|
UWg7ySqTM3iCd9OE1bErbavHmGeTC0FYkKw/k4fct7icU1shSuPwkyp3GRYI6qW8 |
|
e24k2U32gO/ANu6WZsYKKAcYjMObQc+/LkLaV3TnAoGAT5QJia964Pf6reBb17C4 |
|
OwL9p4CvbMsYI8xIn+6uK7dmSX6ViSPyG74X2VsqeOkSKx/4FvQQPn5lDuZkxeJu |
|
G+HUhT5VpKF+LoCKKIUV1ya0BsTVI86Dyzs6LDtdcyuL6q+s/45eZpT1WIiJd5O2 |
|
XADgMeaZA3x3r3QC/TfN+7sCgYAUQvpGxjLO6aIjdvMMKHCBE8jsvBrKel9si0SX |
|
ddwPLQ96gYkyxBmO75j8Sq5oWCbShs6Y7sZxzrlKYOntZFmCTe13/HZZE6eYt/8R |
|
/BQHNN+cZAuhLhOfl6QgsKW9P6Mj3Aoy1gZ/YieWwyqqZLp50PGZsRiDq9wN4f0B |
|
inB6LwKBgQDTeiZ7lAHNhZW8VOpD/K/403xQQinJr6vMiWFm/znwcbm/pteWZuwR |
|
omzn56zhYiXkDKKKxFkVIwf80xSz4Rmgl0p2BndsXU8hOVY/NCnAQJ1uZIsNilcP |
|
KsBKVxvOzopDKZP+C0IQcRaw5VN9WvqJ9ijUEwgm2ufQyz1oj7tREg== |
|
-----END RSA PRIVATE KEY-----`) |
|
hdc = []byte(`-----BEGIN CERTIFICATE----- |
|
MIIGPjCCBSagAwIBAgIIRY80KDvYYtUwDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV |
|
BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js |
|
ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3 |
|
aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw |
|
HhcNMTgwNzA5MTA0OTUyWhcNMTkwODA4MTA0OTUyWjCBrDElMCMGCgmSJomT8ixk |
|
AQEMFXR2LmRhbm1ha3UuYmlsaWJpbGloZDEzMDEGA1UEAwwqQXBwbGUgUHVzaCBT |
|
ZXJ2aWNlczogdHYuZGFubWFrdS5iaWxpYmlsaWhkMRMwEQYDVQQLDAo3NDY4NDVH |
|
Qzk2MSwwKgYDVQQKDCNTaGFuZ2hhaSBCaWxpYmlsaSBBbmltYXRpb24gQ28uLEx0 |
|
ZDELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDd |
|
kMj01Q98wfT/oOCZ4If9mXyDek6UtwxjSnqbyUx70QMXW9nDe5HTljNtAKZgLBZk |
|
soNOr/R3dExGjDwA43XAy/3KfKTtnU9v0L4HI3gYJaxEeM0FsSDyOAFh46gzo+Wk |
|
NzXoPy48q6RG5qr+PVt46fUcPi+dLwqpTN5Lp9htqI+MLuHtBk6c0Tk3BXpMo8y7 |
|
/7Ro082BkN4W03BxeKJFfo499s46dWvT/pYaith0Yw8vF5m+KpnfvPusOG6n8tqI |
|
N507+2bT2WYpRsU4dL6ptJg9fO0MeE7BObfoTWTaYPkurVJ3nMdGvDOA9O+J4VD6 |
|
CID27ymfbAE0MBIEMXWlAgMBAAGjggJ2MIICcjAMBgNVHRMBAf8EAjAAMB8GA1Ud |
|
IwQYMBaAFIgnFwmpthhgi+zruvZHWcVSVKO3MIIBHAYDVR0gBIIBEzCCAQ8wggEL |
|
BgkqhkiG92NkBQEwgf0wgcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ugb24gdGhp |
|
cyBjZXJ0aWZpY2F0ZSBieSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRhbmNlIG9m |
|
IHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlv |
|
bnMgb2YgdXNlLCBjZXJ0aWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmljYXRpb24g |
|
cHJhY3RpY2Ugc3RhdGVtZW50cy4wNQYIKwYBBQUHAgEWKWh0dHA6Ly93d3cuYXBw |
|
bGUuY29tL2NlcnRpZmljYXRlYXV0aG9yaXR5MBMGA1UdJQQMMAoGCCsGAQUFBwMC |
|
MDAGA1UdHwQpMCcwJaAjoCGGH2h0dHA6Ly9jcmwuYXBwbGUuY29tL3d3ZHJjYS5j |
|
cmwwHQYDVR0OBBYEFF7OKuvxgeau/mbn/tkKvdXJtt0uMA4GA1UdDwEB/wQEAwIH |
|
gDAQBgoqhkiG92NkBgMBBAIFADAQBgoqhkiG92NkBgMCBAIFADCBhgYKKoZIhvdj |
|
ZAYDBgR4MHYMFXR2LmRhbm1ha3UuYmlsaWJpbGloZDAFDANhcHAMGnR2LmRhbm1h |
|
a3UuYmlsaWJpbGloZC52b2lwMAYMBHZvaXAMInR2LmRhbm1ha3UuYmlsaWJpbGlo |
|
ZC5jb21wbGljYXRpb24wDgwMY29tcGxpY2F0aW9uMA0GCSqGSIb3DQEBCwUAA4IB |
|
AQAltymx4RoeuW2Grnk4Vb+RneVafET87kT2HpjKTwnWglcFzDM2g3jeEC/MfDtZ |
|
28Y/qMBmz4ThJthNOHgdEyvTqTdZG4739HzLdxB79GsraGhpMIORw8UOetsmogId |
|
FspzWxR/nysIdEo8bj6gbAOmANrQn1zNFrO5/c31GxY+AFRGl6n/aY7ObCstpIca |
|
L6TDWiPJyLH2Ha0qeGgBch97Jk1XVa2m6Syl9a5VtL8jM8SBDpx+krVsxL4YhBot |
|
Ko45/s6H9wqCIx06h28N3EB0VALGSxeFhwlc/uVQRNu0w3DPHTTGHhNOGbzn2QVs |
|
V5Ies2V9gtxFI5xwR+/ERU2z |
|
-----END CERTIFICATE-----`) |
|
) |
|
|
|
func TestClient(t *testing.T) { |
|
// unuserd |
|
_ = hdc |
|
_ = hdk |
|
|
|
Convey("test apns", t, func() { |
|
cert, err := tls.X509KeyPair(c, k) |
|
if err != nil { |
|
panic(err) |
|
} |
|
apnsClient := NewClient(cert, 10*time.Second).Production() |
|
aps := Aps{ |
|
Alert: Alert{ |
|
Title: "test", |
|
Body: "test", |
|
}, |
|
Badge: 0, |
|
// Sound: "default", 不加sound没有提醒 |
|
MutableContent: 1, |
|
} |
|
var token string |
|
// token = "140b5f62b3db93bc6a072645d3825c50efa5693f733690542fffa034252c7495" |
|
scheme := model.Scheme(model.LinkTypeLive, "123", model.PlatformIPhone, 529000) |
|
payload := &Payload{Aps: aps, URL: scheme, TaskID: "3c9e1eaca2afd373_search_1473317045", Token: token, Image: "https://pic.qiantucdn.com/58pic/12/38/18/13758PIC4GV.jpg"} |
|
bs, _ := json.Marshal(payload) |
|
fmt.Printf("payload(%s)", bs) |
|
apnsClient.BoundID = "tv.danmaku.bilianime" |
|
resp, err := apnsClient.Push(token, payload, time.Now().Unix()) |
|
So(err, ShouldBeNil) |
|
fmt.Println("StatusCode:", resp.StatusCode, "ApnsID:", resp.ApnsID, "Reason:", resp.Reason) |
|
}) |
|
}
|
|
|