func unregisterRoutes(c *cli.Context) { issues := checkFlags(c) issues = append(issues, checkArguments(c, "unregister")...) if len(issues) > 0 { printHelpForCommand(c, issues, "unregister") } client := routing_api.NewClient(c.String("api")) config := buildOauthConfig(c) fetcher := token_fetcher.NewTokenFetcher(&config) desiredRoutes := c.Args().First() var routes []db.Route err := json.Unmarshal([]byte(desiredRoutes), &routes) if err != nil { fmt.Println("Invalid json format.") os.Exit(3) } err = commands.UnRegister(client, fetcher, routes) if err != nil { fmt.Println("route unregistration failed:", err) os.Exit(3) } fmt.Printf("Successfully unregistered routes: %s\n", desiredRoutes) }
fake_token_fetcher "github.com/cloudfoundry-incubator/uaa-token-fetcher/fakes" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe(".UnRegister", func() { var ( client *fake_routing_api.FakeClient tokenFetcher *fake_token_fetcher.FakeTokenFetcher ) BeforeEach(func() { client = &fake_routing_api.FakeClient{} tokenFetcher = &fake_token_fetcher.FakeTokenFetcher{} tokenFetcher.FetchTokenReturns(&token_fetcher.Token{AccessToken: "token"}, nil) }) It("unregisters routes", func() { routes := []db.Route{{}} commands.UnRegister(client, tokenFetcher, routes) Expect(client.DeleteRoutesCallCount()).To(Equal(1)) Expect(client.DeleteRoutesArgsForCall(0)).To(Equal(routes)) }) It("fetches a token", func() { routes := []db.Route{{}} commands.UnRegister(client, tokenFetcher, routes) Expect(tokenFetcher.FetchTokenCallCount()).To(Equal(1)) }) })