### Question:
APICaseVariable extends ConsoleAPI<CaseVariableItem> implements APIHasSearch<CaseVariableItem>,
        APIHasUpdate<CaseVariableItem>, APIHasGet<CaseVariableItem> { @Override public CaseVariableItem runUpdate(APIID id, Map<String, String> attributes) { attributeChecker.checkUpdateAttributes(attributes); id.setItemDefinition(CaseVariableDefinition.get()); CaseVariableItem item = CaseVariableItem.fromIdAndAttributes(id, attributes); ((CaseVariableDatastore) getDefaultDatastore()).updateVariableValue(item.getCaseId(), item.getName(), item.getType(), item.getValue()); return item; }  @Override CaseVariableItem runUpdate(APIID id, Map<String, String> attributes); @Override ItemSearchResult<CaseVariableItem> runSearch(int page, int resultsByPage, String search, String orders,
            Map<String, String> filters, List<String> deploys, List<String> counters); @Override CaseVariableItem runGet(APIID id, List<String> deploys, List<String> counters); void setAttributeChecker(APICaseVariableAttributeChecker attributeChecker);  }### Answer:
@Test public void updateUpdateTheVariableValue() throws Exception { long caseId = 1L; String variableName = "aName"; String newValue = "newValue"; Map<String, String> parameters = buildUpdateParameters(newValue, String.class.getName()); APIID apiid = buildAPIID(caseId, variableName); apiCaseVariable.runUpdate(apiid, parameters); verify(datastore).updateVariableValue(caseId, variableName, String.class.getName(), newValue); }