Skip to content

Commit feca2bc

Browse files
authored
Merge pull request #52 from ing-bank/bugfix-azureTestPlanWindow
Playwright Recorder enhanced with Assertions
2 parents be5c8cc + 4aba62e commit feca2bc

File tree

19 files changed

+226
-130
lines changed

19 files changed

+226
-130
lines changed

Common/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.ing</groupId>
77
<artifactId>ingenious-playwright</artifactId>
8-
<version>2.0</version>
8+
<version>2.1</version>
99
</parent>
1010
<artifactId>Common</artifactId>
1111
<properties>

Common/src/main/java/com/ing/parent/createParentPOM.java

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,11 @@ public static void main(String[] args) {
4242
// Create a new document for the target pom.xml file
4343
Document targetDocument = createTargetDocument(targetPath);
4444

45-
// Remove content under dependencies tag from target document
45+
// Remove content under dependencies and Repositories tag from target document
4646
removeExistingDependencies(targetDocument);
47+
removeExistingRepositories(targetDocument);
48+
removeExistingPluginRepositories(targetDocument);
49+
4750

4851
// Copy dependencies from modules pom to target pom
4952
for (int i = 2; i < args.length; i++) {
@@ -53,8 +56,8 @@ public static void main(String[] args) {
5356

5457
// Copy repositories and pluginRepositories
5558
if (args[i].contains("Engine")) {
56-
copyRepositories(sourceDocument, targetDocument);
57-
removeDuplicateRepositories(targetDocument);
59+
//copyRepositories(sourceDocument, targetDocument);
60+
//removeDuplicateRepositories(targetDocument);
5861
copyPluginRepositories(sourceDocument,targetDocument);
5962
removeDuplicatePluginRepositories(targetDocument);
6063
}
@@ -233,4 +236,23 @@ private static void saveXML(Document doc, File file) throws TransformerException
233236
StreamResult streamResult = new StreamResult(file);
234237
transformer.transform(domSource, streamResult);
235238
}
239+
240+
private static void removeExistingRepositories(Document targetDocument) {
241+
NodeList dependencyList = targetDocument.getElementsByTagName("repositories");
242+
if (dependencyList.getLength() > 0) {
243+
Node dependenciesNode = dependencyList.item(0);
244+
while (dependenciesNode.hasChildNodes()) {
245+
dependenciesNode.removeChild(dependenciesNode.getFirstChild());
246+
}
247+
}
248+
}
249+
private static void removeExistingPluginRepositories(Document targetDocument) {
250+
NodeList dependencyList = targetDocument.getElementsByTagName("pluginRepositories");
251+
if (dependencyList.getLength() > 0) {
252+
Node dependenciesNode = dependencyList.item(0);
253+
while (dependenciesNode.hasChildNodes()) {
254+
dependenciesNode.removeChild(dependenciesNode.getFirstChild());
255+
}
256+
}
257+
}
236258
}

Datalib/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.ing</groupId>
66
<artifactId>ingenious-playwright</artifactId>
7-
<version>2.0</version>
7+
<version>2.1</version>
88
</parent>
99
<artifactId>ingenious-datalib</artifactId>
1010
<packaging>jar</packaging>

Datalib/src/main/java/com/ing/datalib/settings/PropUtils.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ private static String escapeSpecialCharacters(String input) {
7474
case '\t':
7575
sb.append("\\t");
7676
break;
77+
case ' ':
78+
sb.append("\\ ");
79+
break;
7780
default:
7881
if (c > 127) {
7982
sb.append(String.format("\\u%04x", (int) c));

Dist/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.ing</groupId>
66
<artifactId>ingenious-playwright</artifactId>
7-
<version>2.0</version>
7+
<version>2.1</version>
88
</parent>
99
<artifactId>Dist</artifactId>
1010
<packaging>pom</packaging>

Engine/pom.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.ing</groupId>
77
<artifactId>ingenious-playwright</artifactId>
8-
<version>2.0</version>
8+
<version>2.1</version>
99
</parent>
1010
<artifactId>ingenious-engine</artifactId>
1111
<packaging>jar</packaging>
@@ -239,7 +239,7 @@
239239
<artifactId>kafka-clients</artifactId>
240240
<version>${kafka-clients.version}</version>
241241
</dependency>
242-
<dependency>
242+
<!-- <dependency>
243243
<groupId>org.apache.avro</groupId>
244244
<artifactId>avro</artifactId>
245245
<version>${avro.version}</version>
@@ -248,20 +248,22 @@
248248
<groupId>io.confluent</groupId>
249249
<artifactId>kafka-avro-serializer</artifactId>
250250
<version>${kafka-avro-serializer.version}</version>
251-
</dependency>
251+
</dependency> -->
252252
<!-- add your respective jms dependency here -->
253253
<dependency>
254254
<groupId>com.ibm.mq</groupId>
255255
<artifactId>com.ibm.mq.allclient</artifactId>
256256
<version>${ibmmq.version}</version>
257257
</dependency>
258258
</dependencies>
259+
<!--
259260
<repositories>
260261
<repository>
261262
<id>confluent</id>
262263
<url>https://packages.confluent.io/maven/</url>
263264
</repository>
264265
</repositories>
266+
-->
265267
<build>
266268
<resources>
267269
<resource>

Engine/src/main/java/com/ing/engine/commands/database/General.java

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
import com.ing.engine.core.CommandControl;
77
import com.ing.engine.support.Status;
88
import com.ing.util.encryption.Encryption;
9-
9+
import com.ing.engine.core.Control;
10+
import java.util.Collection;
1011
import java.sql.*;
1112
import java.util.ArrayList;
1213
import java.util.HashSet;
@@ -75,13 +76,21 @@ public boolean verifyDbConnection(String dbName) throws ClassNotFoundException,
7576
}
7677

7778
public void executeSelect() throws SQLException {
78-
result = statement.executeQuery(Data);
79+
String query = Data;
80+
query = handleDataSheetVariables(query);
81+
query = handleuserDefinedVariables(query);
82+
System.out.println("Query :" + query);
83+
result = statement.executeQuery(query);
7984
resultData = result.getMetaData();
8085
populateColumnNames();
8186
}
8287

8388
public boolean executeDML() throws SQLException {
84-
return (statement.executeUpdate(Data) >= 0);
89+
String query = Data;
90+
query = handleDataSheetVariables(query);
91+
query = handleuserDefinedVariables(query);
92+
System.out.println("Query :" + query);
93+
return (statement.executeUpdate(query) >= 0);
8594
}
8695

8796
private void initialize(Boolean commit,int timeout) throws SQLException {
@@ -189,4 +198,33 @@ public int getColumnIndex(String columnName) {
189198
return colNames.indexOf(columnName);
190199
}
191200

201+
private String handleDataSheetVariables(String query) {
202+
List<String> sheetlist = Control.getCurrentProject().getTestData().getTestDataFor(Control.exe.runEnv())
203+
.getTestDataNames();
204+
for (int sheet = 0; sheet < sheetlist.size(); sheet++) {
205+
if (query.contains("{" + sheetlist.get(sheet) + ":")) {
206+
com.ing.datalib.testdata.model.TestDataModel tdModel = Control.getCurrentProject()
207+
.getTestData().getTestDataByName(sheetlist.get(sheet));
208+
List<String> columns = tdModel.getColumns();
209+
for (int col = 0; col < columns.size(); col++) {
210+
if (query.contains("{" + sheetlist.get(sheet) + ":" + columns.get(col) + "}")) {
211+
query = query.replace("{" + sheetlist.get(sheet) + ":" + columns.get(col) + "}",
212+
userData.getData(sheetlist.get(sheet), columns.get(col)));
213+
}
214+
}
215+
}
216+
}
217+
return query;
218+
}
219+
220+
private String handleuserDefinedVariables(String query) {
221+
Collection<Object> valuelist = Control.getCurrentProject().getProjectSettings().getUserDefinedSettings()
222+
.values();
223+
for (Object prop : valuelist) {
224+
if (query.contains("{" + prop + "}")) {
225+
query = query.replace("{" + prop + "}", prop.toString());
226+
}
227+
}
228+
return query;
229+
}
192230
}

Engine/src/main/java/com/ing/engine/commands/kafka/KafkaOperations.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
import com.ing.engine.support.methodInf.InputType;
99
import com.ing.engine.support.methodInf.ObjectType;
1010
import com.jayway.jsonpath.JsonPath;
11-
import io.confluent.kafka.serializers.KafkaAvroDeserializer;
12-
import io.confluent.kafka.serializers.KafkaAvroDeserializerConfig;
13-
import io.confluent.kafka.serializers.KafkaAvroSerializer;
11+
//import io.confluent.kafka.serializers.KafkaAvroDeserializer;
12+
//import io.confluent.kafka.serializers.KafkaAvroDeserializerConfig;
13+
//import io.confluent.kafka.serializers.KafkaAvroSerializer;
1414

1515
import java.time.Duration;
1616
import java.util.*;
@@ -296,8 +296,8 @@ private void createProducer(String serializer) {
296296
} else if (serializer.toLowerCase().contains("bytearray")) {
297297
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, ByteArraySerializer.class.getName());
298298
} else if (serializer.toLowerCase().contains("avro")) {
299-
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, KafkaAvroSerializer.class.getName());
300-
props.put("schema.registry.url", kafkaSchemaRegistryURL.get(key));
299+
// props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, KafkaAvroSerializer.class.getName());
300+
// props.put("schema.registry.url", kafkaSchemaRegistryURL.get(key));
301301
} else {
302302
throw new IllegalArgumentException("Unsupported value type");
303303
}
@@ -384,9 +384,9 @@ public void createConsumer(String deserializer) {
384384
} else if (deserializer.toLowerCase().contains("bytearray")) {
385385
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, ByteArrayDeserializer.class.getName());
386386
} else if (deserializer.toLowerCase().contains("avro")) {
387-
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, KafkaAvroDeserializer.class.getName());
388-
props.put(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, "true");
389-
props.put("schema.registry.url", kafkaSchemaRegistryURL.get(key));
387+
// props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, KafkaAvroDeserializer.class.getName());
388+
// props.put(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, "true");
389+
// props.put("schema.registry.url", kafkaSchemaRegistryURL.get(key));
390390
} else {
391391
throw new IllegalArgumentException("Unsupported value type");
392392
}

0 commit comments

Comments
 (0)