Skip to content

Commit

Permalink
Merge pull request #519 from XiangRongLin/better_logging_error_handling
Browse files Browse the repository at this point in the history
Better logging, error handling, doc for mock tests
  • Loading branch information
XiangRongLin authored Feb 16, 2021
2 parents 416cf17 + 88e4c86 commit a28e022
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 9 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ jobs:
- name: Build and run Tests
run: |
if [[ $GITHUB_EVENT_NAME == 'schedule' ]]; then
echo running with real downloader
./gradlew check --stacktrace -Ddownloader=REAL
else
echo running with mock downloader
./gradlew check --stacktrace -Ddownloader=MOCK
fi
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,17 @@ class MockDownloader extends Downloader {
public MockDownloader(@Nonnull String path) throws IOException {
this.path = path;
this.mocks = new HashMap<>();
File folder = new File(path);
for (File file : folder.listFiles()) {
if (file.getName().startsWith(RecordingDownloader.FILE_NAME_PREFIX)) {
final FileReader reader = new FileReader(file);
final TestRequestResponse response = new GsonBuilder()
.create()
.fromJson(reader, TestRequestResponse.class);
reader.close();
mocks.put(response.getRequest(), response.getResponse());
final File[] files = new File(path).listFiles();
if (files != null) {
for (File file : files) {
if (file.getName().startsWith(RecordingDownloader.FILE_NAME_PREFIX)) {
final FileReader reader = new FileReader(file);
final TestRequestResponse response = new GsonBuilder()
.create()
.fromJson(reader, TestRequestResponse.class);
reader.close();
mocks.put(response.getRequest(), response.getResponse());
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@
* The files <b>must</b> be created on the local dev environment
* and recreated when the requests made by a test class change.
* </p>
* <p>
* Run the test class as a whole and not each test separately.
* Make sure the requests made by a class are unique.
* </p>
*/
class RecordingDownloader extends Downloader {

Expand Down

0 comments on commit a28e022

Please sign in to comment.