Merge pull request #3 from suzujun/master
Add Validator for Purchase Product token (GooglePlay)
This commit is contained in:
@@ -62,7 +62,7 @@ func main() {
|
|||||||
# ToDo
|
# ToDo
|
||||||
- [x] Validator for In App Purchase Receipt (AppStore)
|
- [x] Validator for In App Purchase Receipt (AppStore)
|
||||||
- [x] Validator for Subscription token (GooglePlay)
|
- [x] Validator for Subscription token (GooglePlay)
|
||||||
- [ ] Validator for Purchase Product token (GooglePlay)
|
- [x] Validator for Purchase Product token (GooglePlay)
|
||||||
- [ ] More Tests
|
- [ ] More Tests
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -122,6 +122,23 @@ func (c *Client) VerifySubscription(
|
|||||||
return result, err
|
return result, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// VerifyProduct Verifies product status
|
||||||
|
func (c *Client) VerifyProduct(
|
||||||
|
packageName string,
|
||||||
|
productID string,
|
||||||
|
token string,
|
||||||
|
) (*androidpublisher.ProductPurchase, error) {
|
||||||
|
service, err := androidpublisher.New(c.httpClient)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
ps := androidpublisher.NewPurchasesProductsService(service)
|
||||||
|
result, err := ps.Get(packageName, productID, token).Do()
|
||||||
|
|
||||||
|
return result, err
|
||||||
|
}
|
||||||
|
|
||||||
func dialTimeout(network, addr string) (net.Conn, error) {
|
func dialTimeout(network, addr string) (net.Conn, error) {
|
||||||
return net.DialTimeout(network, addr, defaultTimeout)
|
return net.DialTimeout(network, addr, defaultTimeout)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,3 +105,24 @@ func TestVerifySubscription(t *testing.T) {
|
|||||||
|
|
||||||
// TODO Nomal scenario
|
// TODO Nomal scenario
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestVerifyProduct(t *testing.T) {
|
||||||
|
Init()
|
||||||
|
|
||||||
|
// Exception scenario
|
||||||
|
token := &oauth.Token{
|
||||||
|
AccessToken: "accessToken",
|
||||||
|
RefreshToken: "refreshToken",
|
||||||
|
Expiry: time.Unix(1234567890, 0).UTC(),
|
||||||
|
}
|
||||||
|
|
||||||
|
client := New(token)
|
||||||
|
expected := "Get https://www.googleapis.com/androidpublisher/v2/applications/package/purchases/products/productID/tokens/purchaseToken?alt=json: OAuthError: updateToken: Unexpected HTTP status 400 Bad Request"
|
||||||
|
_, err := client.VerifyProduct("package", "productID", "purchaseToken")
|
||||||
|
|
||||||
|
if err.Error() != expected {
|
||||||
|
t.Errorf("got %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO Nomal scenario
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user