warning_producer_one := new(netfakes.FakeWarningProducer) warning_producer_one.WarningsReturns([]string{"Hello", "Darling"}) warningsCollector := net.NewWarningsCollector(ui, warning_producer_one) Expect(warningsCollector.PrintWarnings).NotTo(Panic()) }) It("does not print out duplicate warnings", func() { warning_producer_one := new(netfakes.FakeWarningProducer) warning_producer_one.WarningsReturns([]string{"Hello Darling"}) warning_producer_two := new(netfakes.FakeWarningProducer) warning_producer_two.WarningsReturns([]string{"Hello Darling"}) warningsCollector := net.NewWarningsCollector(ui, warning_producer_one, warning_producer_two) warningsCollector.PrintWarnings() Expect(ui.WarnCallCount()).To(Equal(1)) Expect(ui.WarnArgsForCall(0)).To(ContainSubstring("Hello Darling")) }) It("does not print out Endpoint deprecated warnings", func() { warning_producer_one := new(netfakes.FakeWarningProducer) warning_producer_one.WarningsReturns([]string{"Endpoint deprecated"}) warning_producer_two := new(netfakes.FakeWarningProducer) warning_producer_two.WarningsReturns([]string{"A warning"}) warningsCollector := net.NewWarningsCollector(ui, warning_producer_one, warning_producer_two) warningsCollector.PrintWarnings() Expect(ui.WarnCallCount()).To(Equal(1)) Expect(ui.WarnArgsForCall(0)).To(ContainSubstring("A warning")) }) })