Files
Felix Gateru 0bcb846e86 NOISSUE - Add Magistrala CLI (#40)
Signed-off-by: Felix Gateru <felix.gateru@gmail.com>
2025-01-14 14:08:19 +01:00

121 lines
1.9 KiB
Go

// Copyright (c) Abstract Machines
// SPDX-License-Identifier: Apache-2.0
package cli_test
import (
"bytes"
"testing"
"github.com/absmach/supermq/cli"
"github.com/spf13/cobra"
"github.com/stretchr/testify/assert"
)
type outputLog uint8
const (
usageLog outputLog = iota
errLog
entityLog
okLog
createLog
revokeLog
)
func executeCommand(t *testing.T, root *cobra.Command, args ...string) string {
buffer := new(bytes.Buffer)
root.SetOut(buffer)
root.SetErr(buffer)
root.SetArgs(args)
err := root.Execute()
assert.NoError(t, err, "Error executing command")
return buffer.String()
}
func setFlags(rootCmd *cobra.Command) *cobra.Command {
// Root Flags
rootCmd.PersistentFlags().BoolVarP(
&cli.RawOutput,
"raw",
"r",
cli.RawOutput,
"Enables raw output mode for easier parsing of output",
)
// Client and Channels Flags
rootCmd.PersistentFlags().Uint64VarP(
&cli.Limit,
"limit",
"l",
10,
"Limit query parameter",
)
rootCmd.PersistentFlags().Uint64VarP(
&cli.Offset,
"offset",
"o",
0,
"Offset query parameter",
)
rootCmd.PersistentFlags().StringVarP(
&cli.Name,
"name",
"n",
"",
"Name query parameter",
)
rootCmd.PersistentFlags().StringVarP(
&cli.Identity,
"identity",
"I",
"",
"User identity query parameter",
)
rootCmd.PersistentFlags().StringVarP(
&cli.Metadata,
"metadata",
"m",
"",
"Metadata query parameter",
)
rootCmd.PersistentFlags().StringVarP(
&cli.Status,
"status",
"S",
"",
"User status query parameter",
)
rootCmd.PersistentFlags().StringVarP(
&cli.State,
"state",
"z",
"",
"Bootstrap state query parameter",
)
rootCmd.PersistentFlags().StringVarP(
&cli.Topic,
"topic",
"T",
"",
"Subscription topic query parameter",
)
rootCmd.PersistentFlags().StringVarP(
&cli.Contact,
"contact",
"C",
"",
"Subscription contact query parameter",
)
return rootCmd
}