func genKeypairCmd(component string) *cobra.Command { return &cobra.Command{ Use: "gen-keypair", Short: "Generate a public/private keypair", Long: `ttn gen-keypair generates a public/private keypair`, Run: func(cmd *cobra.Command, args []string) { if err := security.GenerateKeypair(viper.GetString("key-dir")); err != nil { ctx.WithError(err).Fatal("Could not generate keypair") } ctx.WithField("TLSDir", viper.GetString("key-dir")).Info("Done") }, } }
func TestInit(t *testing.T) { r := rand.New(rand.NewSource(time.Now().UnixNano())) tmpDir := fmt.Sprintf("%s/%d", os.TempDir(), r.Int63()) os.Mkdir(tmpDir, 755) defer os.Remove(tmpDir) a := assertions.New(t) c := new(Component) c.Identity = new(discovery.Announcement) c.Config.KeyDir = tmpDir security.GenerateKeypair(tmpDir) a.So(c.InitAuth(), assertions.ShouldBeNil) }
func TestGetAndVerifyContext(t *testing.T) { r := rand.New(rand.NewSource(time.Now().UnixNano())) tmpDir := fmt.Sprintf("%s/%d", os.TempDir(), r.Int63()) os.Mkdir(tmpDir, 755) defer os.Remove(tmpDir) a := assertions.New(t) c := new(Component) c.Identity = new(discovery.Announcement) c.Config.KeyDir = tmpDir security.GenerateKeypair(tmpDir) c.initKeyPair() { ctx := c.GetContext("") _, err := c.ValidateNetworkContext(ctx) a.So(err, assertions.ShouldNotBeNil) } c.Identity.Id = "test-context" { ctx := c.GetContext("") _, err := c.ValidateNetworkContext(ctx) a.So(err, assertions.ShouldNotBeNil) } c.Identity.ServiceName = "test-service" ctrl := gomock.NewController(t) discoveryClient := discovery.NewMockClient(ctrl) c.Discovery = discoveryClient discoveryClient.EXPECT().Get("test-service", "test-context").Return(c.Identity, nil) ctx := c.GetContext("") _, err := c.ValidateNetworkContext(ctx) a.So(err, assertions.ShouldBeNil) }