mirror of
https://github.com/kubevirt/containerized-data-importer.git
synced 2025-06-03 06:30:22 +00:00

* Bump k8s/OpenShift/ctrl-runtime/lifecycle-sdk & make deps-update
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Operator: adapt for dependency bump
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Controller: adapt watch calls for dependency bump
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Controller: adapt to ctrl-runtime's cache API changes
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Operator: fix unit tests by deleting resources properly in fake client
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Controller: fix unit tests by deleting resources properly in fake client
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Controller: adapt to fake client honoring status subresource
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Fix codegen script & make generate
There are some issues in the new script, so we
will still use the deprecated one.
More context in f4d1a5431b
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Functests: Adapt to NamespacedName now implementing MarshalLog
ns/name -> {"name":"name","namespace":"ns"}
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Functests & API server: address deprecation of wait.PollImmediate
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
---------
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
73 lines
2.4 KiB
Go
73 lines
2.4 KiB
Go
package transfer_test
|
|
|
|
import (
|
|
"context"
|
|
"reflect"
|
|
|
|
. "github.com/onsi/gomega"
|
|
|
|
corev1 "k8s.io/api/core/v1"
|
|
"k8s.io/apimachinery/pkg/types"
|
|
"k8s.io/client-go/tools/record"
|
|
"sigs.k8s.io/controller-runtime/pkg/client"
|
|
"sigs.k8s.io/controller-runtime/pkg/client/fake"
|
|
logf "sigs.k8s.io/controller-runtime/pkg/log"
|
|
"sigs.k8s.io/controller-runtime/pkg/reconcile"
|
|
|
|
cdiv1 "kubevirt.io/containerized-data-importer-api/pkg/apis/core/v1beta1"
|
|
"kubevirt.io/containerized-data-importer/pkg/client/clientset/versioned/scheme"
|
|
"kubevirt.io/containerized-data-importer/pkg/common"
|
|
"kubevirt.io/containerized-data-importer/pkg/controller/transfer"
|
|
)
|
|
|
|
func rr(name string) reconcile.Request {
|
|
return reconcile.Request{NamespacedName: types.NamespacedName{Name: name}}
|
|
}
|
|
|
|
func getResource(c client.Client, ns, name string, obj client.Object) error {
|
|
p := reflect.ValueOf(obj).Elem()
|
|
p.Set(reflect.Zero(p.Type()))
|
|
return c.Get(context.TODO(), types.NamespacedName{Namespace: ns, Name: name}, obj)
|
|
}
|
|
|
|
func checkCompleteFalse(ot *cdiv1.ObjectTransfer, m, r string) {
|
|
Expect(ot.Status.Conditions).To(HaveLen(1))
|
|
cond := ot.Status.Conditions[0]
|
|
Expect(cond.Type).To(Equal(cdiv1.ObjectTransferConditionComplete))
|
|
Expect(cond.Status).To(Equal(corev1.ConditionFalse))
|
|
Expect(cond.Message).To(Equal(m))
|
|
Expect(cond.Reason).To(Equal(r))
|
|
Expect(cond.LastHeartbeatTime.Unix()).ToNot(BeZero())
|
|
Expect(cond.LastTransitionTime.Unix()).ToNot(BeZero())
|
|
}
|
|
|
|
func checkCompleteTrue(ot *cdiv1.ObjectTransfer) {
|
|
Expect(ot.Status.Conditions).To(HaveLen(1))
|
|
cond := ot.Status.Conditions[0]
|
|
Expect(cond.Type).To(Equal(cdiv1.ObjectTransferConditionComplete))
|
|
Expect(cond.Status).To(Equal(corev1.ConditionTrue))
|
|
Expect(cond.Message).To(Equal("Transfer complete"))
|
|
Expect(cond.Reason).To(Equal(""))
|
|
Expect(cond.LastHeartbeatTime.Unix()).ToNot(BeZero())
|
|
Expect(cond.LastTransitionTime.Unix()).ToNot(BeZero())
|
|
}
|
|
|
|
func createReconciler(objects ...client.Object) *transfer.ObjectTransferReconciler {
|
|
s := scheme.Scheme
|
|
_ = corev1.AddToScheme(s)
|
|
_ = cdiv1.AddToScheme(s)
|
|
|
|
cl := fake.NewClientBuilder().WithScheme(s).WithObjects(objects...).WithStatusSubresource(objects...).Build()
|
|
|
|
return &transfer.ObjectTransferReconciler{
|
|
Client: cl,
|
|
Scheme: s,
|
|
Log: logf.Log.WithName("transfer-controller-test"),
|
|
Recorder: record.NewFakeRecorder(10),
|
|
InstallerLabels: map[string]string{
|
|
common.AppKubernetesPartOfLabel: "testing",
|
|
common.AppKubernetesVersionLabel: "v0.0.0-tests",
|
|
},
|
|
}
|
|
}
|