func TestMain(m *testing.M) { // open database in memory for testing mailbox.OpenMemDB() err := mailbox.CreateDB() if err != nil { panic(err) } // create a default mailbox to use mb, err = mailbox.Create("mb") if err != nil { panic(err) } // create an access token for the default mailbox accessKey = &mailbox.AccessKey{FullAccess: true} accessKey.Create() // create a postmasterClient pmClient = client.Client{ Host: "localhost:4111", Mailbox: mb.Id, AccessKeyName: accessKey.Name, AccessKey: accessKey.Secret, } // Start up a test server to use server.EnableLongPolling = false go server.Start(":4111") retCode := m.Run() // cleanup mailbox.CloseDB() os.Exit(retCode) }
func (m *conduitServerService) Execute(args []string, r <-chan svc.ChangeRequest, changes chan<- svc.Status) (ssec bool, errno uint32) { const cmdsAccepted = svc.AcceptStop | svc.AcceptShutdown | svc.AcceptPauseAndContinue changes <- svc.Status{State: svc.StartPending} changes <- svc.Status{State: svc.Running, Accepts: cmdsAccepted} if viper.IsSet("enable_long_polling") { server.EnableLongPolling = viper.GetBool("enable_long_polling") } err := server.Start(viper.GetString("host")) fmt.Println("Could not start server:", err) loop: for { select { case c := <-r: switch c.Cmd { case svc.Interrogate: changes <- c.CurrentStatus time.Sleep(100 * time.Millisecond) changes <- c.CurrentStatus case svc.Stop, svc.Shutdown: break loop default: } } } changes <- svc.Status{State: svc.StopPending} return }
func TestMain(m *testing.M) { mailbox.OpenMemDB() mailbox.CreateDB() server.EnableLongPolling = false server.ThrottleDelay = 0 go server.Start(":4111") retCode := m.Run() mailbox.CloseDB() os.Exit(retCode) }
"github.com/spf13/viper" "postmaster/server" ) // serverCmd represents the server command var serverCmd = &cobra.Command{ Use: "server", Short: "Run Conduit in server mode.", Long: `Run the conduit message server. To manage the server use the server sub commands. For help run 'conduit help server'.`, Run: func(cmd *cobra.Command, args []string) { if viper.IsSet("enable_long_polling") { server.EnableLongPolling = viper.GetBool("enable_long_polling") } log.LogFile = true err := server.Start(viper.GetString("host")) fmt.Println("Could not start server:", err) }, } func init() { RootCmd.AddCommand(serverCmd) // Here you will define your flags and configuration settings. // Cobra supports Persistent Flags which will work for this command // and all subcommands, e.g.: // serverCmd.PersistentFlags().String("foo", "", "A help for foo") // Cobra supports local flags which will only run when this command // is called directly, e.g.: