package service import ( "context" "fmt" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" "opendev.org/airship/kubernetes-entrypoint/entrypoint" "opendev.org/airship/kubernetes-entrypoint/mocks" ) const ( testServiceName = "TEST_SERVICE_NAME" testServiceNamespace = "TEST_SERVICE_NAMESPACE" ) var testEntrypoint entrypoint.EntrypointInterface var _ = Describe("Service", func() { BeforeEach(func() { testEntrypoint = mocks.NewEntrypoint() }) It("checks the name of a newly created service", func() { service := NewService(testServiceName, testServiceNamespace) Expect(service.name).To(Equal(testServiceName)) Expect(service.namespace).To(Equal(testServiceNamespace)) }) It("checks resolution of a succeeding service", func() { service := NewService(mocks.SucceedingServiceName, mocks.SucceedingServiceName) isResolved, err := service.IsResolved(context.TODO(), testEntrypoint) Expect(isResolved).To(Equal(true)) Expect(err).NotTo(HaveOccurred()) }) It("checks resolution failure of a failing service", func() { service := NewService(mocks.FailingServiceName, mocks.FailingServiceName) isResolved, err := service.IsResolved(context.TODO(), testEntrypoint) Expect(isResolved).To(Equal(false)) Expect(err.Error()).To(Equal(mocks.MockEndpointError)) }) It("checks resolution failure of a succeeding service with removed subsets", func() { service := NewService(mocks.EmptySubsetsServiceName, mocks.EmptySubsetsServiceName) isResolved, err := service.IsResolved(context.TODO(), testEntrypoint) Expect(isResolved).To(Equal(false)) Expect(err.Error()).To(Equal(fmt.Sprintf(FailingStatusFormat, service.name))) }) })