def METHOD_NAME(self, mock_log):
    serialized_data = 'initial data'
    # shouldn't already exist
    with pytest.raises(BlockStructureNotFound):
        BlockStructureModel.get(self.usage_key)
        assert 'BlockStructure: Not found in table;' in mock_log.info.call_args[0][0]
    # create an entry
    bsm = self._verify_update_or_create_call(serialized_data, mock_log, expect_created=True)
    # get entry
    found_bsm = BlockStructureModel.get(self.usage_key)
    self._assert_bsm_fields(found_bsm, serialized_data)
    assert 'Read' in mock_log.info.call_args[0][1]
    # update entry
    self.params.update(dict(data_version='new version'))
    updated_serialized_data = 'updated data'
    updated_bsm = self._verify_update_or_create_call(updated_serialized_data, mock_log, expect_created=False)
    assert bsm.data.name != updated_bsm.data.name
    # old files not pruned
    self._assert_file_count_equal(2)