Skip to content

Commit

Permalink
Fix bug assert stubby and datasource
Browse files Browse the repository at this point in the history
  • Loading branch information
LVCarnevalli committed Jul 15, 2020
1 parent 46e5e28 commit 2680c59
Show file tree
Hide file tree
Showing 16 changed files with 44 additions and 35 deletions.
2 changes: 1 addition & 1 deletion easy-cucumber-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
</parent>
<artifactId>easy-cucumber-core</artifactId>
<packaging>jar</packaging>
Expand Down
2 changes: 1 addition & 1 deletion easy-cucumber-datasource/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
</parent>
<artifactId>easy-cucumber-datasource</artifactId>
<packaging>jar</packaging>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,20 +33,14 @@ public boolean execute(String tableName, List<Map<String, V>> lines) {
String selectQuery = getSelectQuery(tableName, lines.get(0));

List<Map<String, Object>> resultList = jdbcTemplate.queryForList(selectQuery);
return lines.stream()
.allMatch(line -> matchLine(tableName, new ArrayList<>(line.values()), resultList));
return lines.stream().allMatch(line -> matchLine(tableName, line, resultList));
}

private boolean matchLine(
String tableName, List<V> expectedLine, List<Map<String, Object>> allResults) {
String tableName, Map<String, V> expectedLine, List<Map<String, Object>> allResults) {

boolean matchAllColumns =
allResults.stream()
.anyMatch(
resultLine -> {
ArrayList<V> objects = new ArrayList(resultLine.values());
return matchAllColumns(expectedLine, objects);
});
allResults.stream().anyMatch(resultLine -> matchAllColumns(expectedLine, resultLine));

if (!matchAllColumns) {
throw new AssertionError(
Expand All @@ -58,14 +52,12 @@ private boolean matchLine(
return matchAllColumns;
}

private boolean matchAllColumns(List<V> expectedLine, List<V> resultLine) {
return expectedLine.stream()
.allMatch(
column ->
resultLine.stream().anyMatch(resultColumn -> matchColumn(column, resultColumn)));
private boolean matchAllColumns(Map<String, V> expectedLine, Map<String, Object> resultLine) {
return expectedLine.entrySet().stream()
.allMatch(expected -> matchColumn(expected.getValue(), resultLine.get(expected.getKey())));
}

private boolean matchColumn(V column, V resultColumn) {
private boolean matchColumn(V column, Object resultColumn) {
String returnValue = trim(valueOf(resultColumn));
String expectValue = valueOf(column);
return returnValue.equals(expectValue) || returnValue.matches(expectValue);
Expand Down
2 changes: 1 addition & 1 deletion easy-cucumber-jms/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
</parent>
<artifactId>easy-cucumber-jms</artifactId>
<packaging>jar</packaging>
Expand Down
2 changes: 1 addition & 1 deletion easy-cucumber-mock/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
</parent>
<artifactId>easy-cucumber-mock</artifactId>
<packaging>jar</packaging>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,13 @@ public void aHaveAMockForDependency(String mockName, String serviceName) throws
public void iExpectMockForDependencyToHaveBeenCalledTimes(
String mockName, String serviceName, Integer times) {
String mapKey = getStubbyKey(scenarioName, serviceName, mockName);
Object stubbyId = stubbyIdMap.get(mapKey);

assertThat(getMockHitsUsecase.execute(stubbyId), equalTo(times));
Integer mockHits = 0;
if(stubbyIdMap.containsKey(mapKey)) {
Object stubbyId = stubbyIdMap.get(mapKey);
mockHits = getMockHitsUsecase.execute(stubbyId);
}
assertThat(mockHits, equalTo(times));
}

@Given("I clear all mocks")
Expand Down
2 changes: 1 addition & 1 deletion easy-cucumber-owasp-zap/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
</parent>
<artifactId>easy-cucumber-owasp-zap</artifactId>
<packaging>jar</packaging>
Expand Down
11 changes: 6 additions & 5 deletions examples/complete-springboot/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,41 +17,42 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
</properties>

<dependencies>
<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-core</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-mock</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-datasource</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-jms</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-owasp-zap</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

Expand Down
3 changes: 2 additions & 1 deletion examples/simple-springboot-activemq/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
</properties>

<dependencies>
<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-jms</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

Expand Down
3 changes: 2 additions & 1 deletion examples/simple-springboot-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
</properties>

<dependencies>
<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-core</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

Expand Down
3 changes: 2 additions & 1 deletion examples/simple-springboot-datasource/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
</properties>

<dependencies>
<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-datasource</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

Expand Down
3 changes: 2 additions & 1 deletion examples/simple-springboot-mockserver/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
</properties>

<dependencies>
<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-mock</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,10 @@ Feature: Default
Given I have a mock http_post_successful for dependency mock_alias
When I make a request defined in http_post_defined_body_request.json
Then I expect to receive a 200 status
And response is valid according to schema schemas/schema.json
And response is valid according to schema schemas/schema.json

Scenario: Validate mock with error
Given I have a mock http_patch_successful for dependency mock_alias
When I make a request defined in http_patch_defined_body_request.json
Then I expect to receive a 200 status
And I expect mock http_patch_successful_error for dependency mock_alias to have been called 0 times
3 changes: 2 additions & 1 deletion examples/simple-springboot-owaspzap/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
</properties>

<dependencies>
<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-owasp-zap</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

Expand Down
3 changes: 2 additions & 1 deletion examples/simple-springboot-stubby/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
</properties>

<dependencies>
<dependency>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-mock</artifactId>
<version>1.0.1</version>
<version>${easy-cucumber.version}</version>
<scope>test</scope>
</dependency>

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
<packaging>pom</packaging>
<name>io.github.osvaldjr:easy-cucumber</name>
<description>Easy Cucumber JVM Testing</description>
Expand Down

0 comments on commit 2680c59

Please sign in to comment.