mirror of
https://github.com/absmach/supermq.git
synced 2026-06-23 07:20:19 +00:00
NOISSUE - Fix provision test command (#2182)
Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
This commit is contained in:
+11
-1
@@ -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
@@ -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)
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user