More api name & version with scripts (eg, running test scripts)

This commit is contained in:
2023-04-30 19:56:41 -05:00
parent 9ce45934a8
commit 15acaec523
11 changed files with 243 additions and 22 deletions

View File

@ -150,12 +150,11 @@ public class ApiScriptUtils implements Serializable
/*******************************************************************************
**
*******************************************************************************/
public Map<String, Serializable> query(String urlPart) throws QException
public Map<String, Serializable> query(String tableName, String queryString) throws QException
{
validateApiNameAndVersion("query(" + urlPart + ")");
String[] urlParts = urlPart.split("\\?", 2);
Map<String, List<String>> paramMap = parseQueryString(urlParts.length > 1 ? urlParts[1] : null);
return (ApiImplementation.query(getApiInstanceMetaData(), apiVersion, urlParts[0], paramMap));
validateApiNameAndVersion("query(" + tableName + ")");
Map<String, List<String>> paramMap = parseQueryString(queryString);
return (ApiImplementation.query(getApiInstanceMetaData(), apiVersion, tableName, paramMap));
}

View File

@ -102,13 +102,13 @@ class ApiScriptUtilsTest extends BaseTest
{
ApiScriptUtils apiScriptUtils = newDefaultApiScriptUtils();
assertThatThrownBy(() -> apiScriptUtils.query(TestUtils.TABLE_NAME_PERSON + "?foo=bar"))
assertThatThrownBy(() -> apiScriptUtils.query(TestUtils.TABLE_NAME_PERSON, "foo=bar"))
.isInstanceOf(QBadRequestException.class)
.hasMessageContaining("Unrecognized filter criteria field: foo");
insertSimpsons();
Map<String, Serializable> result = apiScriptUtils.query(TestUtils.TABLE_NAME_PERSON + "?id=2");
Map<String, Serializable> result = apiScriptUtils.query(TestUtils.TABLE_NAME_PERSON, "id=2");
assertEquals(1, result.get("count"));
assertEquals(1, ((List<?>) result.get("records")).size());
assertEquals("Marge", ((Map<?, ?>) ((List<?>) result.get("records")).get(0)).get("firstName"));