mirror of
https://github.com/kubevirt/containerized-data-importer.git
synced 2025-06-03 06:30:22 +00:00
DataImportCron tests: add waitForConditions (#3645)
* DataImportCron tests: add waitForConditions Signed-off-by: Jenia Peimer <jpeimer@redhat.com> * After each: get all DataImportCrons, wait for conditions Signed-off-by: Jenia Peimer <jpeimer@redhat.com> * Remove label selector Signed-off-by: Jenia Peimer <jpeimer@redhat.com> * Delete DataImportCron under test, wait deleted Signed-off-by: Jenia Peimer <jpeimer@redhat.com> * Move delete call outside of Eventually Signed-off-by: Jenia Peimer <jpeimer@redhat.com> * Get cron inside Eventually, increase timeout, remove i from loop Signed-off-by: Jenia Peimer <jpeimer@redhat.com> * remove Sprintf from the error message Signed-off-by: Jenia Peimer <jpeimer@redhat.com> --------- Signed-off-by: Jenia Peimer <jpeimer@redhat.com>
This commit is contained in:
parent
9dd532303b
commit
c332ee0d32
@ -30,13 +30,14 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
dataImportCronTimeout = 4 * time.Minute
|
||||
scheduleEveryMinute = "* * * * *"
|
||||
scheduleOnceAYear = "0 0 1 1 *"
|
||||
importsToKeep = 1
|
||||
emptySchedule = ""
|
||||
testKubevirtIoKey = "test.kubevirt.io/test"
|
||||
testKubevirtIoValue = "testvalue"
|
||||
dataImportCronTimeout = 4 * time.Minute
|
||||
dataImportCronConvergeTimeout = 10 * time.Minute
|
||||
scheduleEveryMinute = "* * * * *"
|
||||
scheduleOnceAYear = "0 0 1 1 *"
|
||||
importsToKeep = 1
|
||||
emptySchedule = ""
|
||||
testKubevirtIoKey = "test.kubevirt.io/test"
|
||||
testKubevirtIoValue = "testvalue"
|
||||
// Digest must be 64 characters long
|
||||
errorDigest = "sha256:1234567890123456789012345678901234567890123456789012345678901234"
|
||||
)
|
||||
@ -95,6 +96,30 @@ var _ = Describe("DataImportCron", Serial, func() {
|
||||
Satisfy(meta.IsNoMatchError),
|
||||
))
|
||||
}
|
||||
|
||||
By("[AfterEach] Delete the DataImportCron under test")
|
||||
// Delete the DataImportCron under test
|
||||
_ = f.CdiClient.CdiV1beta1().DataImportCrons(ns).Delete(context.TODO(), cronName, metav1.DeleteOptions{})
|
||||
Eventually(func() bool {
|
||||
_, err := f.CdiClient.CdiV1beta1().DataImportCrons(ns).Get(context.TODO(), cronName, metav1.GetOptions{})
|
||||
return errors.IsNotFound(err)
|
||||
}, dataImportCronTimeout, pollingInterval).Should(BeTrue(), "DataImportCron was not deleted")
|
||||
|
||||
By("[AfterEach] Wait for all DataImportCrons UpToDate")
|
||||
// Wait for all DataImportCrons to converge
|
||||
dataImportCrons := &cdiv1.DataImportCronList{}
|
||||
err = f.CrClient.List(context.TODO(), dataImportCrons, &client.ListOptions{Namespace: metav1.NamespaceAll})
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
for _, cronItem := range dataImportCrons.Items {
|
||||
Eventually(func() bool {
|
||||
cron, err = f.CdiClient.CdiV1beta1().DataImportCrons(cronItem.Namespace).Get(context.TODO(), cronItem.Name, metav1.GetOptions{})
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
condProgressing := controller.FindDataImportCronConditionByType(cron, cdiv1.DataImportCronProgressing)
|
||||
condUpToDate := controller.FindDataImportCronConditionByType(cron, cdiv1.DataImportCronUpToDate)
|
||||
return condProgressing != nil && condProgressing.Status == corev1.ConditionFalse &&
|
||||
condUpToDate != nil && condUpToDate.Status == corev1.ConditionTrue
|
||||
}, dataImportCronConvergeTimeout, pollingInterval).Should(BeTrue(), "Timeout waiting for DataImportCron conditions %q", cronItem.Namespace+"/"+cronItem.Name)
|
||||
}
|
||||
})
|
||||
|
||||
updateDigest := func(digest string) func(cron *cdiv1.DataImportCron) *cdiv1.DataImportCron {
|
||||
|
Loading…
Reference in New Issue
Block a user