294 lines
9.9 KiB
Go
294 lines
9.9 KiB
Go
package tmobile
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/fiskerinc/cloud-services/pkg/grpc/sms"
|
|
)
|
|
|
|
var CLIENT_ID = ""
|
|
var SECRET = ""
|
|
var PRIVATE_KEY = ""
|
|
|
|
func TestTMobileSendMessage(t *testing.T) {
|
|
t.Skip()
|
|
tg, err := InitTokenGen(
|
|
PRIVATE_KEY,
|
|
CLIENT_ID,
|
|
SECRET,
|
|
)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client, err := NewTMobileClient(Endpoint, tg, time.Second*450)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second*450)
|
|
defer cancel()
|
|
|
|
o, err := client.AccessToken(context.Background())
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client.SetAccessToken(o.AccessToken)
|
|
|
|
msg := SendSMSRequest{
|
|
ICCID: "8901882000784166054",
|
|
MessageText: "local_test",
|
|
}
|
|
|
|
ctx, cancel = context.WithTimeout(context.Background(), time.Second*450)
|
|
defer cancel()
|
|
|
|
out, err := client.SendSMS(ctx, &msg)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
t.Error(out.SmsMessageID)
|
|
}
|
|
|
|
func TestTMobileCheckMessageStatus(t *testing.T) {
|
|
t.Skip()
|
|
messageID := "473007039"
|
|
tg, err := InitTokenGen(
|
|
PRIVATE_KEY,
|
|
CLIENT_ID,
|
|
SECRET,
|
|
)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
tmobc, err := NewTMobileClient(
|
|
Endpoint,
|
|
tg, time.Minute*2)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
o, err := tmobc.AccessToken(context.Background())
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
tmobc.SetAccessToken(o.AccessToken)
|
|
|
|
failed := 0
|
|
r := sync.WaitGroup{}
|
|
for x := 0; x < 5; x++ {
|
|
r.Add(1)
|
|
go func(y int) {
|
|
_, err := tmobc.Details(context.Background(), messageID)
|
|
if err != nil {
|
|
// t.Error(err)
|
|
failed++
|
|
t.Log(y, ",")
|
|
}
|
|
r.Done()
|
|
}(x)
|
|
}
|
|
r.Wait()
|
|
|
|
t.Error(failed)
|
|
}
|
|
|
|
func TestTMobileCustomAttributes(t *testing.T) {
|
|
t.Skip()
|
|
tg, err := InitTokenGen(
|
|
PRIVATE_KEY,
|
|
CLIENT_ID,
|
|
SECRET,
|
|
)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client, err := NewTMobileClient(Endpoint, tg, time.Second*450)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second*450)
|
|
defer cancel()
|
|
|
|
o, err := client.AccessToken(context.Background())
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client.SetAccessToken(o.AccessToken)
|
|
|
|
custumAttributes := CustomAtributesRequest{
|
|
ICCID: "8901882000784166054",
|
|
AccountCustom1: "US",
|
|
}
|
|
|
|
ctx, cancel = context.WithTimeout(context.Background(), time.Second*450)
|
|
defer cancel()
|
|
out, err := client.CustomAttributes(ctx, &custumAttributes)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
t.Log(out.ICCID)
|
|
}
|
|
|
|
func TestTMobileDeviceDetails(t *testing.T) {
|
|
t.Skip()
|
|
tg, err := InitTokenGen(
|
|
PRIVATE_KEY,
|
|
CLIENT_ID,
|
|
SECRET,
|
|
)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client, err := NewTMobileClient(Endpoint, tg, time.Second*450)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second*450)
|
|
defer cancel()
|
|
|
|
o, err := client.AccessToken(context.Background())
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client.SetAccessToken(o.AccessToken)
|
|
|
|
deviceDetailsRequest := DeviceDetailsRequest{
|
|
ICCID: "8901882000784166054",
|
|
}
|
|
|
|
ctx, cancel = context.WithTimeout(context.Background(), time.Second*450)
|
|
defer cancel()
|
|
out, err := client.DeviceDetails(ctx, &deviceDetailsRequest)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
t.Errorf("%+v", out)
|
|
}
|
|
|
|
func TestTMobileGetProducts(t *testing.T) {
|
|
t.Skip()
|
|
tg, err := InitTokenGen(
|
|
PRIVATE_KEY,
|
|
CLIENT_ID,
|
|
SECRET,
|
|
)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client, err := NewTMobileClient(Endpoint, tg, time.Second*450)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second*450)
|
|
defer cancel()
|
|
|
|
o, err := client.AccessToken(context.Background())
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client.SetAccessToken(o.AccessToken)
|
|
|
|
getProductsRequest := sms.GetAvailableProductsRequest{
|
|
AccountId: "500556839",
|
|
ProductType: []string{"RATEPLAN"},
|
|
ProductClassification: []string{"IOTCONNECTIVITY"},
|
|
}
|
|
|
|
ctx, cancel = context.WithTimeout(context.Background(), time.Second*450)
|
|
defer cancel()
|
|
out, err := client.GetProducts(ctx, &getProductsRequest)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
t.Errorf("%+v", out)
|
|
}
|
|
|
|
func TestTMobileChangeRatePlan(t *testing.T) {
|
|
t.Skip()
|
|
tg, err := InitTokenGen(
|
|
PRIVATE_KEY,
|
|
CLIENT_ID,
|
|
SECRET,
|
|
)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client, err := NewTMobileClient(Endpoint, tg, time.Second*450)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second*450)
|
|
defer cancel()
|
|
|
|
o, err := client.AccessToken(context.Background())
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client.SetAccessToken(o.AccessToken)
|
|
|
|
changeRatePlan := ChangeRatePlanRequest{
|
|
ICCID: "8901882000784166054",
|
|
ProductId: "716f8a59-6d2c-4687-b927-990a46b847cc",
|
|
AccountId: "500556839",
|
|
}
|
|
|
|
ctx, cancel = context.WithTimeout(context.Background(), time.Second*450)
|
|
defer cancel()
|
|
out, err := client.ChangeRatePlan(ctx, &changeRatePlan)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
t.Error(out.ICCID)
|
|
}
|
|
|
|
/* Available rate plans at Tmobile
|
|
|
|
{id:"64510d144707f865761ff0b0" productId:"03f30679-30a3-4d5c-ad49-be62ec26a886" shortDescription:"Fisker Intl3 5GB" status:"Published" effectiveDate:"2023-10-03T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Intl3 5GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"64510d137953b71c0564d365" productId:"90111353-7f8c-4315-8175-2abe127f2c97" shortDescription:"Fisker Intl3 7GB" status:"Published" effectiveDate:"2023-10-03T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Intl3 7GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"64510d137953b71c0564d366" productId:"71e97975-8b63-4c93-b2e4-60a48914408f" shortDescription:"Fisker Intl3 2GB" status:"Published" effectiveDate:"2023-10-03T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Intl3 2GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"645056444707f865761ff0ae" productId:"9621b445-c5bd-4ef5-9ee7-415c8c6045b6" shortDescription:"Fisker Intl2 7GB" status:"Published" effectiveDate:"2023-10-03T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Intl2 7GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"64504f37df187e2be859acde" productId:"6f56afbf-dd60-4210-9894-c7f3675f643d" shortDescription:"Fisker Intl2 2GB" status:"Published" effectiveDate:"2023-10-03T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Intl2 2GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"64505643abfe5c3f44b7bb6a" productId:"ee5bb6bb-074d-47ba-b47d-907f95a77e9f" shortDescription:"Fisker Intl2 5GB" status:"Published" effectiveDate:"2023-10-03T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Intl2 5GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"64504830abfe5c3f44b7bb68" productId:"92bf0610-098d-4ead-b38b-c8c4b2a1ede1" shortDescription:"Fisker Intl1 2GB" status:"Published" effectiveDate:"2023-08-21T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Intl1 2GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"64e3a9fe3dc11817f3797090" productId:"716f8a59-6d2c-4687-b927-990a46b847cc" shortDescription:"Fisker USA 7GB" status:"Published" effectiveDate:"2023-08-21T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker USA 7GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"64e3a686117310400e90b45f" productId:"af6dc7f2-cb9e-466f-a24a-003da89c9573" shortDescription:"Fisker USA 2GB" status:"Published" effectiveDate:"2023-08-21T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker USA 2GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"64e3a684117310400e90b45e" productId:"74719a08-2d1f-44d2-ae76-fec6409cb0e0" shortDescription:"Fisker USA 5GB" status:"Published" effectiveDate:"2023-08-21T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker USA 5GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"aba2be04-df09-42ac-87ed-f5e53652cf9b" productId:"7290a552-cf8d-4a32-b829-ea8c62c83bda" shortDescription:"Fisker Testing 2GB" longDescription:"pub again to push to AHUB" status:"Published" effectiveDate:"2022-12-08T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Testing 2GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"366bc7c0-c5f1-4e74-9748-a10910f42171" productId:"5bd33e0d-350c-45d3-bf97-8b501ac354d7" shortDescription:"Fisker Monaco 7GB" status:"Published" effectiveDate:"2023-05-09T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Monaco 7GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"39284d65-5688-4324-91fb-95b1271efa44" productId:"2248a17c-483f-4732-b9f1-ce0929666464" shortDescription:"Fisker Monaco 5GB" status:"Published" effectiveDate:"2023-05-09T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Monaco 5GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"1ed2d811-ec98-47ac-8338-1fad104f731d" productId:"e7f09cfe-4c80-4e90-92a9-a1fe92621e6e" shortDescription:"Fisker Monaco 2GB" status:"Published" effectiveDate:"2023-05-09T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Monaco 2GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"5ff7d298-53af-46e0-8058-011eaf95e53a" productId:"6eda215c-cd11-4686-b2c7-3fc4ad5f0a1d" shortDescription:"Fisker Intl1 7GB" status:"Published" effectiveDate:"2023-05-09T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Intl1 7GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
{id:"64609dda-4620-4057-b1a4-d8a9450ef404" productId:"164917cd-6bdc-44a7-a769-d4889775d6a4" shortDescription:"Fisker Intl1 5GB" status:"Published" effectiveDate:"2023-05-09T00:00:00Z" expirationDate:"9999-12-31T00:00:00Z" ratePlan:{ratePlanName:"Fisker Intl1 5GB" planType:"Monthly - Flexible Pool" planStatus:"Published"}}
|
|
|
|
*/
|