tests: Intorduce safe ExpectBatchWithValidatedSend
tests: Intorduce safe ExpectBatchWithValidatedSend

Wrongs usage of the `expecter` may casue the tests to be flaky.

`ExpectBatchWithValidatedSend` adds the `expect.BSnd` command to the
`exect.BExp` expression.
It is done to make sure the match was found in the result of
the `expect.BSnd` command and not in a leftover the wasn't removed from
the buffer.

Issue https://github.com/kubevirt/kubevirt/issues/3619 describes such
scenario.

`ExpectBatchWithValidatedSend` also prevents having two sequential `expect.
BExp` which cause unpredictable behaviour as happend in -
https://github.com/kubevirt/kubevirt/issues/3602 and explained in PR
https://github.com/kubevirt/kubevirt/pull/3693.

For simplicity, `ExpectBatchWithValidatedSend` also prevents two
sequential `expect.BSnd`.

Signed-off-by: Alona Kaplan <9ea2f88c7fe7e68aa51858b03e0d548211901b83@redhat.com>

stu-gott/kubevirt,kubevirt/kubevirt,davidvossel/kubevirt,kubevirt/kubevirt,stu-gott/kubevirt,kubevirt/kubevirt,davidvossel/kubevirt,davidvossel/kubevirt,kubevirt/kubevirt,stu-gott/kubevirt,davidvossel/kubevirt,stu-gott/kubevirt