Initial cloud-services repo - gateway service + pkg modules

This commit is contained in:
Chris Rai
2026-01-30 23:14:52 -05:00
commit fbb820d7b3
1037 changed files with 171318 additions and 0 deletions

View File

@@ -0,0 +1,293 @@
package tmobile
import (
"context"
"sync"
"testing"
"time"
"fiskerinc.com/modules/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"}}
*/