// Start will start the message broker and prepare it for testing. func (c *Broker) Start(host, port string) (interface{}, error) { ctx, err := newContext(c.ProjectID, c.JSONKey) if err != nil { return "", err } exists, err := pubsub.TopicExists(ctx, topic) if err != nil { log.Printf("Failed to check Cloud Pub/Sub topic: %s", err.Error()) return "", err } if exists { if err := pubsub.DeleteTopic(ctx, topic); err != nil { log.Printf("Failed to delete Cloud Pub/Sub topic: %s", err.Error()) return "", err } } if err := pubsub.CreateTopic(ctx, topic); err != nil { log.Printf("Failed to create Cloud Pub/Sub topic: %s", err.Error()) return "", err } log.Println("Created Cloud Pub/Sub topic") return "", nil }
func (s *pubSubServiceImpl) TopicExists(topic string) (bool, error) { return pubsub.TopicExists(s.ctx, topic) }