| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /*
- Copyright 2026 LocoStack.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- package controller
- import (
- "context"
- . "github.com/onsi/ginkgo/v2"
- . "github.com/onsi/gomega"
- "k8s.io/apimachinery/pkg/api/errors"
- "k8s.io/apimachinery/pkg/types"
- "sigs.k8s.io/controller-runtime/pkg/reconcile"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "github.com/LocoStack/loco-operator/api/v1alpha1"
- )
- var _ = Describe("ManagedTool Controller", func() {
- Context("When reconciling a resource", func() {
- const resourceName = "test-resource"
- ctx := context.Background()
- typeNamespacedName := types.NamespacedName{
- Name: resourceName,
- Namespace: "default", // TODO(user):Modify as needed
- }
- managedtool := &v1alpha1.ManagedTool{}
- BeforeEach(func() {
- By("creating the custom resource for the Kind ManagedTool")
- err := k8sClient.Get(ctx, typeNamespacedName, managedtool)
- if err != nil && errors.IsNotFound(err) {
- resource := &v1alpha1.ManagedTool{
- ObjectMeta: metav1.ObjectMeta{
- Name: resourceName,
- Namespace: "default",
- },
- // TODO(user): Specify other spec details if needed.
- }
- Expect(k8sClient.Create(ctx, resource)).To(Succeed())
- }
- })
- AfterEach(func() {
- // TODO(user): Cleanup logic after each test, like removing the resource instance.
- resource := &v1alpha1.ManagedTool{}
- err := k8sClient.Get(ctx, typeNamespacedName, resource)
- Expect(err).NotTo(HaveOccurred())
- By("Cleanup the specific resource instance ManagedTool")
- Expect(k8sClient.Delete(ctx, resource)).To(Succeed())
- })
- It("should successfully reconcile the resource", func() {
- By("Reconciling the created resource")
- controllerReconciler := &ManagedToolReconciler{
- Client: k8sClient,
- Scheme: k8sClient.Scheme(),
- }
- _, err := controllerReconciler.Reconcile(ctx, reconcile.Request{
- NamespacedName: typeNamespacedName,
- })
- Expect(err).NotTo(HaveOccurred())
- // TODO(user): Add more specific assertions depending on your controller's reconciliation logic.
- // Example: If you expect a certain status condition after reconciliation, verify it here.
- })
- })
- })
|