NOISSUE - Fix provision test command (#2182)

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
This commit is contained in:
b1ackd0t
2024-04-17 10:40:08 +03:00
committed by GitHub
parent 28b4087b69
commit 3cfcf14a50
11 changed files with 278 additions and 204 deletions
+11 -1
View File
@@ -26,7 +26,7 @@ const (
defDomainsURL string = defURL + ":8189"
defCertsURL string = defURL + ":9019"
defInvitationsURL string = defURL + ":9020"
defHTTPURL string = defURL + ":9016/http"
defHTTPURL string = defURL + ":8008"
defTLSVerification bool = false
defOffset string = "0"
defLimit string = "10"
@@ -42,6 +42,7 @@ type remotes struct {
HTTPAdapterURL string `toml:"http_adapter_url"`
BootstrapURL string `toml:"bootstrap_url"`
CertsURL string `toml:"certs_url"`
InvitationsURL string `toml:"invitations_url"`
TLSVerification bool `toml:"tls_verification"`
}
@@ -110,6 +111,7 @@ func ParseConfig(sdkConf mgxsdk.Config) (mgxsdk.Config, error) {
HTTPAdapterURL: defHTTPURL,
BootstrapURL: defBootstrapURL,
CertsURL: defCertsURL,
InvitationsURL: defInvitationsURL,
TLSVerification: defTLSVerification,
},
Filter: filter{
@@ -176,6 +178,10 @@ func ParseConfig(sdkConf mgxsdk.Config) (mgxsdk.Config, error) {
sdkConf.ReaderURL = config.Remotes.ReaderURL
}
if sdkConf.DomainsURL == "" && config.Remotes.DomainsURL != "" {
sdkConf.DomainsURL = config.Remotes.DomainsURL
}
if sdkConf.HTTPAdapterURL == "" && config.Remotes.HTTPAdapterURL != "" {
sdkConf.HTTPAdapterURL = config.Remotes.HTTPAdapterURL
}
@@ -188,6 +194,10 @@ func ParseConfig(sdkConf mgxsdk.Config) (mgxsdk.Config, error) {
sdkConf.CertsURL = config.Remotes.CertsURL
}
if sdkConf.InvitationsURL == "" && config.Remotes.InvitationsURL != "" {
sdkConf.InvitationsURL = config.Remotes.InvitationsURL
}
sdkConf.TLSVerification = config.Remotes.TLSVerification || sdkConf.TLSVerification
return sdkConf, nil
+55 -17
View File
@@ -14,8 +14,8 @@ import (
"path/filepath"
"time"
"github.com/0x6flab/namegenerator"
mgxsdk "github.com/absmach/magistrala/pkg/sdk/go"
"github.com/docker/docker/pkg/namesgenerator"
"github.com/spf13/cobra"
)
@@ -24,6 +24,11 @@ const (
csvExt = ".csv"
)
var (
msgFormat = `[{"bn":"provision:", "bu":"V", "t": %d, "bver":5, "n":"voltage", "u":"V", "v":%d}]`
namesgenerator = namegenerator.NewGenerator()
)
var cmdProvision = []cobra.Command{
{
Use: "things <things_file> <user_token>",
@@ -71,11 +76,16 @@ var cmdProvision = []cobra.Command{
return
}
channels, err = sdk.CreateChannels(channels, args[1])
if err != nil {
logError(err)
return
var chs []mgxsdk.Channel
for _, c := range channels {
c, err = sdk.CreateChannel(c, args[1])
if err != nil {
logError(err)
return
}
chs = append(chs, c)
}
channels = chs
logJSON(channels)
},
@@ -122,9 +132,8 @@ var cmdProvision = []cobra.Command{
return
}
rand.Seed(time.Now().UnixNano())
name := namesgenerator.GetRandomName(0)
// Create test user
name := namesgenerator.Generate()
user := mgxsdk.User{
Name: name,
Credentials: mgxsdk.Credentials{
@@ -146,11 +155,28 @@ var cmdProvision = []cobra.Command{
return
}
// create domain
domain := mgxsdk.Domain{
Name: fmt.Sprintf("%s-domain", name),
Status: mgxsdk.EnabledStatus,
}
domain, err = sdk.CreateDomain(domain, ut.AccessToken)
if err != nil {
logError(err)
return
}
// domain login
ut, err = sdk.CreateToken(mgxsdk.Login{Identity: user.Credentials.Identity, Secret: user.Credentials.Secret, DomainID: domain.ID})
if err != nil {
logError(err)
return
}
// Create things
for i := 0; i < numThings; i++ {
n := fmt.Sprintf("d%d", i)
t := mgxsdk.Thing{
Name: n,
Name: fmt.Sprintf("%s-thing-%d", name, i),
Status: mgxsdk.EnabledStatus,
}
@@ -164,20 +190,18 @@ var cmdProvision = []cobra.Command{
// Create channels
for i := 0; i < numChan; i++ {
n := fmt.Sprintf("c%d", i)
c := mgxsdk.Channel{
Name: n,
Name: fmt.Sprintf("%s-channel-%d", name, i),
Status: mgxsdk.EnabledStatus,
}
c, err = sdk.CreateChannel(c, ut.AccessToken)
if err != nil {
logError(err)
return
}
channels = append(channels, c)
}
channels, err = sdk.CreateChannels(channels, ut.AccessToken)
if err != nil {
logError(err)
return
}
// Connect things to channels - first thing to both channels, second only to first
conIDs := mgxsdk.Connection{
@@ -207,6 +231,20 @@ var cmdProvision = []cobra.Command{
return
}
// send message to test connectivity
if err := sdk.SendMessage(channels[0].ID, fmt.Sprintf(msgFormat, time.Now().Unix(), rand.Int()), things[0].Credentials.Secret); err != nil {
logError(err)
return
}
if err := sdk.SendMessage(channels[0].ID, fmt.Sprintf(msgFormat, time.Now().Unix(), rand.Int()), things[1].Credentials.Secret); err != nil {
logError(err)
return
}
if err := sdk.SendMessage(channels[1].ID, fmt.Sprintf(msgFormat, time.Now().Unix(), rand.Int()), things[0].Credentials.Secret); err != nil {
logError(err)
return
}
logJSON(user, ut, things, channels)
},
},