def test_find_candidate_no_dev(cls, mock_os_path_dname, mock_os_path_bname,
                                   mock_glob):
        """
        Test no suitable device
        """
        mock_os_path_dname.return_value = "/dev/disk/by-id"
        mock_os_path_bname.return_value = "scsi-label_CN_devA"
        mock_glob.return_value = []

        res = utils.find_candidate_sbd("/not-exist-folder/not-exist-dev")
        assert res == ""
    def test_find_candidate_no_can(cls, mock_os_path_dname, mock_os_path_bname,
                                   mock_glob, mock_is_valid_sbd):
        """
        Test no valid candidate device
        """
        mock_os_path_dname.return_value = "/dev/disk/by-id"
        mock_os_path_bname.return_value = "scsi-label_CN_devA"
        mock_glob.return_value = [
            "/dev/disk/by-id/scsi-label_DE_devA",
            "/dev/disk/by-id/scsi-label_DE_devB",
            "/dev/disk/by-id/scsi-label_DE_devC",
            "/dev/disk/by-id/scsi-label_DE_devD"
        ]
        mock_is_valid_sbd.side_effect = [False, False, False, False]

        res = utils.find_candidate_sbd("/dev/disk/by-id/scsi-label_CN_devA")
        assert res == ""
    def test_find_candidate_has_multi(cls, mock_os_path_dname,
                                      mock_os_path_bname, mock_glob,
                                      mock_is_valid_sbd):
        """
        Test has multiple valid candidate devices
        """
        mock_os_path_dname.return_value = "/dev/disk/by-id"
        mock_os_path_bname.return_value = "scsi-label_CN_devA"
        mock_glob.return_value = [
            "/dev/disk/by-id/scsi-label_DE_devA",
            "/dev/disk/by-id/scsi-label_DE_devB",
            "/dev/disk/by-id/scsi-label_CN_devC",
            "/dev/disk/by-id/scsi-label_CN_devD",
            "/dev/disk/by-id/scsi-mp_China_devE",
            "/dev/disk/by-id/scsi-mp_China_devF"
        ]
        mock_is_valid_sbd.side_effect = [True, False, False, True, True, False]

        res = utils.find_candidate_sbd("/dev/disk/by-id/scsi-label_CN_devA")
        assert res == "/dev/disk/by-id/scsi-label_CN_devD"