def test_check_index_valid_size_no_order_error(_mocked_exists, mocked_data_file, mocked_index_file, mocker, index, is_sorted, valid, malformed_headers): """Check generated headers sequence with eblob_kit.BlobRepairer.check_index. :param List[eblob_kit.DiskControl] index: :param bool is_sorted: :param bool valid: :param int malformed_headers: """ mocked_index_file.return_value.__iter__.return_value = iter(index) type(mocked_index_file.return_value).sorted = mocker.PropertyMock( return_value=is_sorted) # Need to set some abstract value in order to make inner # check_header return True. mocked_data_file.return_value.__len__.return_value = 256 blob_repairer = BlobRepairer(TEST_BLOB_PATH) assert blob_repairer.valid assert not blob_repairer.stat.index_order_error blob_repairer.check_index(True) assert blob_repairer.valid == valid assert not blob_repairer.stat.invalid_index_size assert not blob_repairer.stat.index_order_error assert blob_repairer.stat.index_malformed_headers == malformed_headers
def test_check_index_non_valid(_mocked_exists, mocked_data_file, mocked_index_file, mocker, index, sorted, invalid_index_size, index_order_error): """Check generated headers sequence with eblob_kit.BlobRepairer.check_index. TODO(karapuz): add test cases. :param List[eblob_kit.DiskControl] index: :param bool sorted: :param bool invalid_index_size: :param bool index_order_error: """ if isinstance(index, Exception): mocked_index_file.return_value.__iter__.side_effect = index else: mocked_index_file.return_value.__iter__.return_value = iter(index) type(mocked_index_file.return_value).sorted = mocker.PropertyMock(return_value=sorted) # Need to set some abstract value in order to make inner # check_header return True. mocked_data_file.return_value.__len__.return_value = 256 blob_repairer = BlobRepairer(TEST_BLOB_PATH) assert blob_repairer.valid assert not blob_repairer.stat.index_order_error blob_repairer.check_index(True) assert not blob_repairer.valid assert blob_repairer.stat.invalid_index_size == invalid_index_size assert blob_repairer.stat.index_order_error == index_order_error assert blob_repairer.stat.index_malformed_headers == 0
def test_check_index_non_valid(_mocked_exists, mocked_data_file, mocked_index_file, mocker, index, sorted, invalid_index_size, index_order_error): """Check generated headers sequence with eblob_kit.BlobRepairer.check_index. TODO(karapuz): add test cases. :param List[eblob_kit.DiskControl] index: :param bool sorted: :param bool invalid_index_size: :param bool index_order_error: """ if isinstance(index, Exception): mocked_index_file.return_value.__iter__.side_effect = index else: mocked_index_file.return_value.__iter__.return_value = iter(index) type(mocked_index_file.return_value).sorted = mocker.PropertyMock( return_value=sorted) # Need to set some abstract value in order to make inner # check_header return True. mocked_data_file.return_value.__len__.return_value = 256 blob_repairer = BlobRepairer(TEST_BLOB_PATH) assert blob_repairer.valid assert not blob_repairer.stat.index_order_error blob_repairer.check_index(True) assert not blob_repairer.valid assert blob_repairer.stat.invalid_index_size == invalid_index_size assert blob_repairer.stat.index_order_error == index_order_error assert blob_repairer.stat.index_malformed_headers == 0
def test_check_index_valid_size_no_order_error(_mocked_exists, mocked_data_file, mocked_index_file, mocker, index, is_sorted, valid, malformed_headers): """Check generated headers sequence with eblob_kit.BlobRepairer.check_index. :param List[eblob_kit.DiskControl] index: :param bool is_sorted: :param bool valid: :param int malformed_headers: """ mocked_index_file.return_value.__iter__.return_value = iter(index) type(mocked_index_file.return_value).sorted = mocker.PropertyMock(return_value=is_sorted) # Need to set some abstract value in order to make inner # check_header return True. mocked_data_file.return_value.__len__.return_value = 256 blob_repairer = BlobRepairer(TEST_BLOB_PATH) assert blob_repairer.valid assert not blob_repairer.stat.index_order_error blob_repairer.check_index(True) assert blob_repairer.valid == valid assert not blob_repairer.stat.invalid_index_size assert not blob_repairer.stat.index_order_error assert blob_repairer.stat.index_malformed_headers == malformed_headers