-
Notifications
You must be signed in to change notification settings - Fork 213
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Split SeleniumVersionCheck tests into two classes, style improvements
- Loading branch information
Showing
5 changed files
with
220 additions
and
223 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
120 changes: 120 additions & 0 deletions
120
fluentlenium-core/src/test/java/org/fluentlenium/utils/SeleniumVersionCheckerLoggerTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
package org.fluentlenium.utils; | ||
|
||
import ch.qos.logback.classic.Logger; | ||
import ch.qos.logback.classic.spi.ILoggingEvent; | ||
import ch.qos.logback.core.read.ListAppender; | ||
import org.junit.Before; | ||
import org.junit.Test; | ||
import org.slf4j.LoggerFactory; | ||
|
||
import java.util.List; | ||
import java.util.Objects; | ||
import java.util.stream.Collectors; | ||
|
||
import static org.assertj.core.api.Assertions.assertThat; | ||
import static org.fluentlenium.utils.SeleniumVersionChecker.checkVersionFromMaven; | ||
|
||
public class SeleniumVersionCheckerLoggerTest extends SeleniumVersionCheckerRetrieveVersionTest { | ||
|
||
private ListAppender<ILoggingEvent> listAppender; | ||
|
||
private static final String FAILED_TO_READ_MESSAGE = | ||
"Failed to read Selenium version from your pom.xml." | ||
+ " Skipped compatibility check." | ||
+ " Please make sure you are using correct Selenium version - {}"; | ||
private static final String WRONG_VERSION_MESSAGE = | ||
"You are using incompatible Selenium version. Please change it to {}. " | ||
+ "You can find example on project main page {}"; | ||
|
||
@Before | ||
public void reset() { | ||
|
||
Logger fooLogger = (Logger) LoggerFactory.getLogger(SeleniumVersionChecker.class); | ||
listAppender = new ListAppender<>(); | ||
listAppender.start(); | ||
|
||
fooLogger.addAppender(listAppender); | ||
|
||
SeleniumVersionChecker.isSeleniumVersionFound = false; | ||
SeleniumVersionChecker.notifiedAlready = false; | ||
} | ||
|
||
@Test | ||
public void shouldLogWrongVersionOfLibraryTest() { | ||
|
||
checkVersionFromMaven(WRONG_VERSION_POM); | ||
|
||
assertThat(getLogsForThread(listAppender)) | ||
.hasSize(1) | ||
.element(0) | ||
.isEqualTo(WRONG_VERSION_MESSAGE); | ||
} | ||
|
||
@Test | ||
public void shouldLogMessageOnlyOnceTest() { | ||
|
||
checkVersionFromMaven(WRONG_VERSION_POM); | ||
checkVersionFromMaven(WRONG_VERSION_POM); | ||
|
||
assertThat(getLogsForThread(listAppender)) | ||
.hasSize(1) | ||
.element(0) | ||
.isEqualTo(WRONG_VERSION_MESSAGE); | ||
} | ||
|
||
@Test | ||
public void shouldNotLogAnythingWhenFileIsNotPresentTest() { | ||
|
||
checkVersionFromMaven(PATH_TO_TEST_FOLDER + "/not_exisitng.xml"); | ||
|
||
assertThat(getLogsForThread(listAppender)) | ||
.hasSize(0); | ||
} | ||
|
||
@Test | ||
public void shouldNotLogAnythingWhenVersionParametrizedInPomPropertiesIsCorrectTest() { | ||
|
||
checkVersionFromMaven(PARAMETRIZED_POM); | ||
|
||
assertThat(getLogsForThread(listAppender)) | ||
.hasSize(0); | ||
} | ||
|
||
@Test | ||
public void shouldNotLogAnythingWhenVersionParametrizedInParentPomPropertiesIsCorrectTest() { | ||
|
||
checkVersionFromMaven(PARAMETRIZED_CHILD_POM); | ||
|
||
assertThat(getLogsForThread(listAppender)).hasSize(0); | ||
} | ||
|
||
@Test | ||
public void shouldLogWrongParametrizedVersionOfLibraryTest() { | ||
|
||
checkVersionFromMaven(PARAMETRIZED_WRONG_VERSION_POM); | ||
|
||
assertThat(getLogsForThread(listAppender)) | ||
.hasSize(1) | ||
.element(0) | ||
.isEqualTo(WRONG_VERSION_MESSAGE); | ||
} | ||
|
||
@Test | ||
public void shouldLogMessageWhenWrongFileWasPassedTest() { | ||
|
||
checkVersionFromMaven(PATH_TO_TEST_FOLDER + "dummy_resource.json"); | ||
|
||
assertThat(getLogsForThread(listAppender)) | ||
.hasSize(1) | ||
.element(0) | ||
.isEqualTo(FAILED_TO_READ_MESSAGE); | ||
} | ||
|
||
private List<String> getLogsForThread(ListAppender<ILoggingEvent> listAppender) { | ||
|
||
return listAppender.list.stream() | ||
.filter(event -> Objects.equals(event.getThreadName(), Thread.currentThread().getName())) | ||
.map(ILoggingEvent::getMessage) | ||
.collect(Collectors.toList()); | ||
} | ||
} |
75 changes: 75 additions & 0 deletions
75
...-core/src/test/java/org/fluentlenium/utils/SeleniumVersionCheckerRetrieveVersionTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
package org.fluentlenium.utils; | ||
|
||
import org.apache.maven.model.Model; | ||
import org.apache.maven.model.io.xpp3.MavenXpp3Reader; | ||
import org.codehaus.plexus.util.xml.pull.XmlPullParserException; | ||
import org.junit.Before; | ||
import org.junit.Test; | ||
|
||
import java.io.File; | ||
import java.io.FileReader; | ||
import java.io.IOException; | ||
|
||
import static org.assertj.core.api.Assertions.assertThat; | ||
import static org.fluentlenium.utils.SeleniumVersionChecker.checkModelForParametrizedValue; | ||
import static org.fluentlenium.utils.SeleniumVersionChecker.retrieveVersionFromPom; | ||
|
||
public class SeleniumVersionCheckerRetrieveVersionTest extends SeleniumVersionCheckerTestConstants { | ||
|
||
private MavenXpp3Reader reader; | ||
|
||
@Before | ||
public void init() { | ||
reader = new MavenXpp3Reader(); | ||
} | ||
|
||
@Test | ||
public void retrieveGoodVersionShouldReturnTrueTest() throws IOException, XmlPullParserException { | ||
|
||
File file = new File(PARENT_POM); | ||
|
||
Model model = reader.read(new FileReader(file)); | ||
|
||
String actualVersion = retrieveVersionFromPom(model); | ||
|
||
assertThat(actualVersion).isEqualTo(EXPECTED_VERSION); | ||
} | ||
|
||
@Test | ||
public void retrieveGoodVersionFromPomPropertiesShouldReturnTrueTest() throws IOException, XmlPullParserException { | ||
|
||
File file = new File(PARAMETRIZED_POM); | ||
|
||
Model model = reader.read(new FileReader(file)); | ||
|
||
String parametrizedVersion = retrieveVersionFromPom(model); | ||
String actualVersion = checkModelForParametrizedValue(parametrizedVersion, model); | ||
|
||
assertThat(actualVersion).isEqualTo(EXPECTED_VERSION); | ||
} | ||
|
||
@Test | ||
public void retrieveBadVersionShouldReturnFalseTest() throws IOException, XmlPullParserException { | ||
|
||
File file = new File(WRONG_VERSION_POM); | ||
|
||
Model model = reader.read(new FileReader(file)); | ||
|
||
String actualVersion = retrieveVersionFromPom(model); | ||
|
||
assertThat(actualVersion).isNotEqualTo(EXPECTED_VERSION); | ||
} | ||
|
||
@Test | ||
public void retrieveVersionShouldReturnNullWhenVersionNotPresentTest() throws IOException, XmlPullParserException { | ||
|
||
File file = new File(CHILD_POM); | ||
|
||
Model model = reader.read(new FileReader(file)); | ||
|
||
String actualVersion = retrieveVersionFromPom(model); | ||
|
||
assertThat(actualVersion).isNull(); | ||
} | ||
|
||
} |
Oops, something went wrong.