Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Dockerfile.cross

# Output of the go coverage tool, specifically when used with LiteIDE
*.out
cover.html

# Go workspace file
go.work
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/acl_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (

. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -79,6 +80,12 @@ var _ = Describe("AccessControlList Controller", func() {
By("Cleanup the specific resource instance AccessControlList")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for AccessControlList to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.AccessControlList{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/banner_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -46,6 +47,12 @@ var _ = Describe("Banner Controller", func() {
By("Cleanup the specific resource instance Banner")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for Banner to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.Banner{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
16 changes: 16 additions & 0 deletions internal/controller/core/bgp_peer_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,14 @@ var _ = Describe("BGPPeer Controller", func() {
Expect(k8sClient.Delete(ctx, bgppeer)).To(Succeed())
})

By("Waiting for BGPPeer's condition to be fully consistent")
Eventually(func(g Gomega) {
resource := &v1alpha1.BGPPeer{}
g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(bgppeer), resource)).To(Succeed())
g.Expect(resource.Status.Conditions).NotTo(BeEmpty())
g.Expect(conditions.IsConfigured(resource)).To(BeFalse()) // checks ObservedGeneration too
}).Should(Succeed())

By("Verifying the controller sets Interface not found status")
Eventually(func(g Gomega) {
resource := &v1alpha1.BGPPeer{}
Expand Down Expand Up @@ -514,6 +522,14 @@ var _ = Describe("BGPPeer Controller", func() {
}).Should(Succeed())
})

By("Waiting for BGPPeer's condition to be fully consistent")
Eventually(func(g Gomega) {
resource := &v1alpha1.BGPPeer{}
g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(bgppeer), resource)).To(Succeed())
g.Expect(resource.Status.Conditions).NotTo(BeEmpty())
g.Expect(conditions.IsConfigured(resource)).To(BeFalse()) // checks ObservedGeneration too
}).Should(Succeed())

By("Verifying the controller sets Configured=False with appropriate reason")
Eventually(func(g Gomega) {
resource := &v1alpha1.BGPPeer{}
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/certificate_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -88,6 +89,12 @@ var _ = Describe("Certificate Controller", func() {
By("Cleanup the specific resource instance Certificate")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for Certificate to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.Certificate{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
8 changes: 8 additions & 0 deletions internal/controller/core/dhcprelay_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1075,12 +1075,20 @@ var _ = Describe("DHCPRelay Controller", func() {
err = k8sClient.Get(ctx, interfaceKey, intf)
if err == nil {
Expect(k8sClient.Delete(ctx, intf)).To(Succeed())
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, interfaceKey, &v1alpha1.Interface{})
g.Expect(errors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())
}

By("Cleaning up the VLAN resource")
err = k8sClient.Get(ctx, vlanKey, vlan)
if err == nil {
Expect(k8sClient.Delete(ctx, vlan)).To(Succeed())
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, vlanKey, &v1alpha1.VLAN{})
g.Expect(errors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())
}

By("Cleaning up the Device resource")
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/dns_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -65,6 +66,12 @@ var _ = Describe("DNS Controller", func() {
By("Cleanup the specific resource instance DNS")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for DNS to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.DNS{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/isis_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
Expand Down Expand Up @@ -66,6 +67,12 @@ var _ = Describe("ISIS Controller", func() {
By("Cleanup the specific resource instance ISIS")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for ISIS to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.ISIS{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
9 changes: 9 additions & 0 deletions internal/controller/core/lldp_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,15 @@ var _ = Describe("LLDP Controller", func() {
g.Expect(k8sClient.Update(ctx, device)).To(Succeed())
}).Should(Succeed())

By("Waiting for LLDP to acknowledge the pause")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, resourceKey, lldp)
g.Expect(err).NotTo(HaveOccurred())
cond := meta.FindStatusCondition(lldp.Status.Conditions, v1alpha1.PausedCondition)
g.Expect(cond).ToNot(BeNil())
g.Expect(cond.Status).To(Equal(metav1.ConditionTrue))
}).Should(Succeed())

By("Updating LLDP AdminState to Down")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, resourceKey, lldp)
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/managementaccess_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -63,6 +64,12 @@ var _ = Describe("ManagementAccess Controller", func() {
By("Cleanup the specific resource instance ManagementAccess")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for ManagementAccess to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.ManagementAccess{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/ntp_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -66,6 +67,12 @@ var _ = Describe("NTP Controller", func() {
By("Cleanup the specific resource instance NTP")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for NTP to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.NTP{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/ospf_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
Expand Down Expand Up @@ -61,6 +62,12 @@ var _ = Describe("OSPF Controller", func() {
By("Cleanup the specific resource instance OSPF")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for OSPF to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.OSPF{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/pim_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
Expand Down Expand Up @@ -59,6 +60,12 @@ var _ = Describe("PIM Controller", func() {
By("Cleanup the specific resource instance PIM")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for PIM to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.PIM{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/prefixset_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -70,6 +71,12 @@ var _ = Describe("PrefixSet Controller", func() {
By("Cleanup the specific resource instance PrefixSet")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for PrefixSet to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.PrefixSet{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/snmp_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -77,6 +78,12 @@ var _ = Describe("SNMP Controller", func() {
By("Cleanup the specific resource instance SNMP")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for SNMP to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.SNMP{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
11 changes: 6 additions & 5 deletions internal/controller/core/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -342,11 +342,12 @@ var _ = BeforeSuite(func() {
Expect(err).NotTo(HaveOccurred())

err = (&EthernetSegmentReconciler{
Client: k8sManager.GetClient(),
Scheme: k8sManager.GetScheme(),
Recorder: recorder,
Provider: prov,
Locker: testLocker,
Client: k8sManager.GetClient(),
Scheme: k8sManager.GetScheme(),
Recorder: recorder,
Provider: prov,
Locker: testLocker,
RequeueInterval: time.Second,
}).SetupWithManager(ctx, k8sManager)
Expect(err).NotTo(HaveOccurred())

Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/syslog_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -72,6 +73,12 @@ var _ = Describe("Syslog Controller", func() {
By("Cleanup the specific resource instance Syslog")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for Syslog to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.Syslog{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/user_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -82,6 +83,12 @@ var _ = Describe("User Controller", func() {
By("Cleanup the specific resource instance User")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for User to be fully deleted")
Eventually(func(g Gomega) {
err := k8sClient.Get(ctx, key, &v1alpha1.User{})
g.Expect(apierrors.IsNotFound(err)).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/core/vlan_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package core
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -62,6 +63,12 @@ var _ = Describe("VLAN Controller", func() {
By("Cleanup the specific resource instance VLAN")
Expect(k8sClient.Delete(ctx, resource)).To(Succeed())

By("Waiting for the VLAN to be fully deleted")
Eventually(func(g Gomega) {
vlan := &v1alpha1.VLAN{}
g.Expect(apierrors.IsNotFound(k8sClient.Get(ctx, key, vlan))).To(BeTrue())
}).Should(Succeed())

resource = &v1alpha1.Device{}
err = k8sClient.Get(ctx, key, resource)
Expect(err).NotTo(HaveOccurred())
Expand Down
Loading