Skip to content

Commit

Permalink
Merge pull request #647 from baulea/upgrade_wiremock_and_json-path
Browse files Browse the repository at this point in the history
Upgrade wiremock 2.27.2 and json-path 2.9.0
  • Loading branch information
a1shadows authored Mar 18, 2024
2 parents 5e440fa + 422a231 commit 9242eb7
Show file tree
Hide file tree
Showing 23 changed files with 86 additions and 79 deletions.
13 changes: 11 additions & 2 deletions core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,10 @@
<artifactId>json-path</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
</dependency>

<dependency>
<groupId>com.google.classpath-explorer</groupId>
<artifactId>classpath-explorer</artifactId>
Expand Down Expand Up @@ -164,6 +165,14 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
</dependency>
<dependency>
<groupId>org.jsmart</groupId>
<artifactId>micro-simulator</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectReader;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;

import java.io.IOException;
import java.nio.file.Files;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.jsmart.zerocode.core.engine.assertion.JsonAsserter;
import org.jsmart.zerocode.core.engine.assertion.FieldAssertionMatcher;

import static org.apache.commons.lang.StringUtils.substringBetween;
import static org.apache.commons.lang3.StringUtils.substringBetween;

public class FieldIsOneOfValueAsserter implements JsonAsserter {
private final String path;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import static org.apache.commons.lang.StringUtils.isEmpty;
import static org.apache.commons.lang3.StringUtils.isEmpty;
import static org.jsmart.zerocode.core.engine.mocker.RestEndPointMocker.createWithLocalMock;
import static org.jsmart.zerocode.core.engine.mocker.RestEndPointMocker.createWithVirtuosoMock;
import static org.jsmart.zerocode.core.engine.mocker.RestEndPointMocker.createWithWireMock;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
import com.github.tomakehurst.wiremock.extension.responsetemplating.ResponseTemplateTransformer;
import com.github.tomakehurst.wiremock.matching.UrlPattern;
import org.apache.commons.collections4.map.HashedMap;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.jsmart.zerocode.core.domain.MockStep;
import org.jsmart.zerocode.core.domain.MockSteps;
import org.slf4j.Logger;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.jsmart.zerocode.core.engine.preprocessor;

import org.apache.commons.lang.text.StrSubstitutor;
import org.apache.commons.text.StringSubstitutor;

import java.util.ArrayList;
import java.util.HashMap;
Expand Down Expand Up @@ -56,6 +56,6 @@ public String getResolvedScenarioState() {
final String commaSeparatedStepResults = String.join(", ", getAllStepsInStringList());
paramMap.put("STEP_REQUEST_RESPONSE_SECTION", commaSeparatedStepResults);

return (new StrSubstitutor(paramMap)).replace(scenarioStateTemplate);
return (new StringSubstitutor(paramMap)).replace(scenarioStateTemplate);
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.jsmart.zerocode.core.engine.preprocessor;

import org.apache.commons.lang.text.StrSubstitutor;
import org.apache.commons.text.StringSubstitutor;
import org.jsmart.zerocode.core.domain.Step;

import java.util.HashMap;
Expand Down Expand Up @@ -36,7 +36,7 @@ public void addResponse(String responseJson) {
}

public String getResolvedStep() {
StrSubstitutor sub = new StrSubstitutor(paramMap);
StringSubstitutor sub = new StringSubstitutor(paramMap);
return sub.replace(requestResponseState);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import com.google.inject.name.Named;
import com.jayway.jsonpath.JsonPath;
import net.minidev.json.JSONArray;
import org.apache.commons.lang.text.StrSubstitutor;
import org.apache.commons.text.StringSubstitutor;
import org.jsmart.zerocode.core.domain.Step;
import org.jsmart.zerocode.core.engine.assertion.FieldAssertionMatcher;
import org.jsmart.zerocode.core.engine.assertion.JsonAsserter;
Expand Down Expand Up @@ -41,11 +41,9 @@
import java.util.List;
import java.util.Map;
import java.util.Properties;

import static java.lang.Integer.valueOf;
import static java.lang.String.format;
import static org.apache.commons.lang.StringEscapeUtils.escapeJava;
import static org.apache.commons.lang.StringUtils.substringBetween;
import static org.apache.commons.text.StringEscapeUtils.escapeJava;
import static org.apache.commons.lang3.StringUtils.substringBetween;
import static org.jsmart.zerocode.core.engine.tokens.ZeroCodeAssertionTokens.ASSERT_LOCAL_DATETIME_AFTER;
import static org.jsmart.zerocode.core.engine.tokens.ZeroCodeAssertionTokens.ASSERT_LOCAL_DATETIME_BEFORE;
import static org.jsmart.zerocode.core.engine.tokens.ZeroCodeAssertionTokens.ASSERT_PATH_SIZE;
Expand Down Expand Up @@ -118,7 +116,7 @@ public String resolveKnownTokensAndProperties(String requestJsonOrAnyString) {

});

StrSubstitutor sub = new StrSubstitutor(paramMap);
StringSubstitutor sub = new StringSubstitutor(paramMap);

return sub.replace(requestJsonOrAnyString);
}
Expand All @@ -133,7 +131,7 @@ public String resolveJsonPaths(String jsonString, String scenarioState) {
try {

if (thisPath.endsWith(RAW_BODY)) {
/**
/*
* In case the rawBody is used anywhere in the steps as $.step_name.response.rawBody,
* then it must be escaped as the content was not a simple JSON string to be able
* to convert to json. Hence without throwing exception, treat as string content.
Expand Down Expand Up @@ -167,7 +165,7 @@ public String resolveJsonPaths(String jsonString, String scenarioState) {
}
});

StrSubstitutor sub = new StrSubstitutor(paramMap);
StringSubstitutor sub = new StringSubstitutor(paramMap);

return sub.replace(jsonString);
}
Expand All @@ -194,7 +192,6 @@ public List<JsonAsserter> createJsonAsserters(String resolvedAssertionJson) {

Map<String, Object> createFieldsKeyValuesMap = createAssertionKV(jsonNode, "$.");

int i = 1;
for (Map.Entry<String, Object> entry : createFieldsKeyValuesMap.entrySet()) {
String path = entry.getKey();
Object value = entry.getValue();
Expand All @@ -216,7 +213,7 @@ public List<JsonAsserter> createJsonAsserters(String resolvedAssertionJson) {
} else if (path.endsWith(ASSERT_PATH_SIZE)) {
path = path.substring(0, path.length() - ASSERT_PATH_SIZE.length());
if (value instanceof Number) {
asserter = new ArraySizeAsserterImpl(path, ((Integer) value).intValue());
asserter = new ArraySizeAsserterImpl(path, (Integer) value);
} else if (value instanceof String) {
asserter = new ArraySizeAsserterImpl(path, (String) value);
} else {
Expand Down Expand Up @@ -378,10 +375,10 @@ public List<FieldAssertionMatcher> assertAllAndReturnFailed(List<JsonAsserter> a

/**
* Resolves JSON.CONTENT as object or array
*
* <p>
* First the logic checks if dig-deep needed to avoid unwanted recursions. If not needed, the step definition is
* returned intact. Otherwise calls the dig deep method to perform the operation.
*
* <p>
* returns: The effective step definition
*/
@Override
Expand Down Expand Up @@ -433,9 +430,7 @@ private void loadAnnotatedHostProperties() {
throw new RuntimeException(msg + e);
}

properties.keySet().stream().forEach(thisKey -> {
propertyKeys.add(thisKey.toString());
});
properties.keySet().forEach(thisKey -> propertyKeys.add(thisKey.toString()));
}

private boolean isPropertyKey(String runTimeToken) {
Expand Down Expand Up @@ -463,7 +458,7 @@ private int findArrayIndex(String thisPath, String actualPath) {
if ($VALUE.equals(valueExpr)) {
return 0;
}
return valueOf(substringBetween(valueExpr, "[", "]"));
return Integer.parseInt(substringBetween(valueExpr, "[", "]"));
}

private String resolveFieldTypes(String resolvedJson) {
Expand All @@ -472,7 +467,8 @@ private String resolveFieldTypes(String resolvedJson) {
return resolvedJson;
}

Map<String, Object> fieldMap = mapper.readValue(resolvedJson, new TypeReference<Map<String, Object>>() { });
Map<String, Object> fieldMap = mapper.readValue(resolvedJson, new TypeReference<Map<String, Object>>() {
});
deepTypeCast(fieldMap);

return mapper.writeValueAsString(fieldMap);
Expand All @@ -484,8 +480,8 @@ private String resolveFieldTypes(String resolvedJson) {
}

private boolean hasNoTypeCast(String resolvedJson) {
long foundCount = fieldTypes.stream().filter(thisType -> resolvedJson.contains(thisType)).count();
return foundCount <= 0 ? true : false;
long foundCount = fieldTypes.stream().filter(resolvedJson::contains).count();
return foundCount <= 0;
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import com.google.inject.Singleton;
import com.univocity.parsers.csv.CsvParser;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.text.StrSubstitutor;
import org.apache.commons.text.StringSubstitutor;
import org.jsmart.zerocode.core.domain.ScenarioSpec;
import org.slf4j.Logger;

Expand Down Expand Up @@ -137,7 +137,7 @@ private void resolveCsvLine(Map<String, Object> valuesMap, String csvLine) {
}

private String replaceWithValues(String stepJson, Map<String, Object> valuesMap) {
StrSubstitutor sub = new StrSubstitutor(valuesMap);
StringSubstitutor sub = new StringSubstitutor(valuesMap);
return sub.replace(stepJson);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import java.util.Comparator;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.jsmart.zerocode.core.engine.assertion.FieldAssertionMatcher;
import org.junit.runner.Description;
import org.junit.runner.notification.Failure;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
import com.google.inject.name.Named;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import static org.apache.commons.lang.StringUtils.isEmpty;
import static org.apache.commons.lang3.StringUtils.isEmpty;
import static org.jsmart.zerocode.core.constants.ZerocodeConstants.KAFKA;

public class ApiTypeUtils {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import java.util.List;
import java.util.stream.Collectors;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.jsmart.zerocode.core.di.provider.ObjectMapperProvider;
import org.jsmart.zerocode.core.engine.assertion.FieldAssertionMatcher;
import org.slf4j.LoggerFactory;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.jsmart.zerocode.core.domain.EnvProperty;
import org.jsmart.zerocode.core.domain.Parameterized;
import org.jsmart.zerocode.core.domain.Step;
Expand Down
15 changes: 2 additions & 13 deletions core/src/main/java/org/jsmart/zerocode/core/utils/SmartUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,37 +14,26 @@
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.InvalidPathException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.lang.text.StrSubstitutor;
import org.apache.commons.text.StringSubstitutor;
import org.jsmart.zerocode.core.di.provider.ObjectMapperProvider;
import org.jsmart.zerocode.core.domain.ScenarioSpec;
import org.jsmart.zerocode.core.domain.Step;
import org.jsmart.zerocode.core.engine.assertion.FieldAssertionMatcher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import static java.nio.charset.Charset.defaultCharset;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.jsmart.zerocode.core.engine.assertion.FieldAssertionMatcher.aMatchingMessage;
import static org.jsmart.zerocode.core.engine.assertion.FieldAssertionMatcher.aNotMatchingMessage;
import static org.jsmart.zerocode.core.engine.tokens.ZeroCodeValueTokens.JSON_PAYLOAD_FILE;
import static org.jsmart.zerocode.core.engine.tokens.ZeroCodeValueTokens.YAML_PAYLOAD_FILE;
import static org.jsmart.zerocode.core.utils.PropertiesProviderUtils.loadAbsoluteProperties;
import static org.jsmart.zerocode.core.utils.TokenUtils.getTestCaseTokens;
import static org.skyscreamer.jsonassert.JSONAssert.assertEquals;
import static org.skyscreamer.jsonassert.JSONCompareMode.STRICT;

@Singleton
public class SmartUtils {
Expand Down Expand Up @@ -229,7 +218,7 @@ public ObjectMapper getMapper() {
}

public static String resolveToken(String stringWithToken, Map<String, String> paramMap) {
StrSubstitutor sub = new StrSubstitutor(paramMap);
StringSubstitutor sub = new StringSubstitutor(paramMap);
return sub.replace(stringWithToken);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.jsmart.zerocode.core.utils;

import org.apache.commons.lang.text.StrSubstitutor;

import java.io.File;
import java.net.URL;
import java.nio.file.Paths;
Expand All @@ -16,9 +14,11 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic;
import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;
import static org.apache.commons.lang.StringEscapeUtils.escapeJava;
import org.apache.commons.text.StringSubstitutor;

import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic;
import static org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric;
import static org.apache.commons.text.StringEscapeUtils.escapeJava;
import static org.jsmart.zerocode.core.engine.tokens.ZeroCodeValueTokens.*;

public class TokenUtils {
Expand All @@ -31,7 +31,7 @@ public static String resolveKnownTokens(String requestJsonOrAnyString) {
populateParamMap(paramMap, runTimeToken);
});

StrSubstitutor sub = new StrSubstitutor(paramMap);
StringSubstitutor sub = new StringSubstitutor(paramMap);

return sub.replace(requestJsonOrAnyString);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import java.io.File;
import java.io.IOException;

import java.nio.charset.Charset;
import org.apache.commons.io.FileUtils;
import org.json.CDL;
import org.json.JSONArray;
Expand Down Expand Up @@ -42,7 +42,7 @@ public static void main(String myHelpers[]){

File file=new File("target/fromJSON.csv");
String csv = CDL.toString(docs);
FileUtils.writeStringToFile(file, csv);
FileUtils.writeStringToFile(file, csv, Charset.defaultCharset());
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jayway.jsonpath.JsonPath;
import org.jsmart.zerocode.core.di.provider.ObjectMapperProvider;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import static org.apache.commons.lang.StringEscapeUtils.escapeJava;
import static org.apache.commons.lang.StringEscapeUtils.escapeJavaScript;
import static org.apache.commons.text.StringEscapeUtils.escapeJava;
import static org.apache.commons.text.StringEscapeUtils.escapeEcmaScript;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
Expand All @@ -29,7 +28,7 @@ public void setUpStuffs() throws Exception {
public void testXmlToJsonWithSingleQuote_willNotFail() throws Exception {

String xml = "<?xml version='1.0' encoding=\"UTF-8\"?><address>Street 123</address>";
String escapedOut = escapeJavaScript(xml);
String escapedOut = escapeEcmaScript(xml);
assertThat(escapedOut, containsString("<?xml version=\\'1.0\\' encoding=\\\"UTF-8\\\"?><address>Street 123<\\/address>"));

escapedOut = escapeJava(xml);
Expand Down
Loading

0 comments on commit 9242eb7

Please sign in to comment.