From c7bd80f7599e49fea8e8a7bb148e26f5a8d50c0b Mon Sep 17 00:00:00 2001 From: TheOtherP Date: Sat, 23 Sep 2023 11:37:00 +0200 Subject: [PATCH] Let mockserver log, include docker logs in artifacts --- .github/workflows/system-test.yml | 11 ++++++++++- buildCore.cmd | 6 +++--- docker/docker-compose.yaml | 2 +- .../main/java/org/nzbhydra/mockserver/MockGithub.java | 3 +++ .../java/org/nzbhydra/mockserver/MockNewznab.java | 7 ++++++- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/.github/workflows/system-test.yml b/.github/workflows/system-test.yml index 37a78cdf2..5e9fcee30 100644 --- a/.github/workflows/system-test.yml +++ b/.github/workflows/system-test.yml @@ -116,12 +116,21 @@ jobs: run: mvn --batch-mode test -pl org.nzbhydra.tests:system -DtrimStackTrace=false - name: "Write docker-compose logs" + if: always() run: | cd docker - docker-compose logs --no-color > docker-compose.log + echo "Writing docker compose logs to files" + docker-compose logs --no-color radarr > docker-compose-radarr.log + docker-compose logs --no-color sonarr > docker-compose-sonarr.log + docker-compose logs --no-color mockserver > docker-compose-mockserver.log + docker-compose logs --no-color core > docker-compose-core.log + docker-compose logs --no-color v1Migration > docker-compose-v1Migration.log + echo "Found log files:" + find . -name "*.log" cd .. - name: "Truncate large log files" + if: always() # If the logs are larger than 1MB there's probably something wrong run: | for d in ./**/*.log ; do (truncate --size=1M $d); done diff --git a/buildCore.cmd b/buildCore.cmd index 92fe1e78f..b7d5bfbdc 100644 --- a/buildCore.cmd +++ b/buildCore.cmd @@ -2,10 +2,10 @@ setlocal -call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 +rem call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 -set path=c:\Programme\graalvm\graalvm-community-openjdk-21+35.1\bin\;%PATH%;c:\Programme\graalvm\graalvm-community-openjdk-21+35.1\bin\ -set java_home=c:\Programme\graalvm\graalvm-community-openjdk-21+35.1 +set path=c:\Programme\graalvm\graalvm-jdk-17.0.8+9.1\bin\;%PATH%;c:\Programme\graalvm\graalvm-jdk-17.0.8+9.1\bin\ +set java_home=c:\Programme\graalvm\graalvm-jdk-17.0.8+9.1\ set HYDRA_NATIVE_BUILD=true call mvn -pl org.nzbhydra:core -Pnative clean native:compile -DskipTests diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 1eaf5ebf1..c84bce56c 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -4,7 +4,7 @@ networks: external: true services: mockserver: - image: ghcr.io/theotherp/mockserver:3.0.0 + image: ghcr.io/theotherp/mockserver:3.1.0 container_name: mockserver ports: - "5080:5080" diff --git a/other/mockserver/src/main/java/org/nzbhydra/mockserver/MockGithub.java b/other/mockserver/src/main/java/org/nzbhydra/mockserver/MockGithub.java index 600702e7a..d456e9de8 100644 --- a/other/mockserver/src/main/java/org/nzbhydra/mockserver/MockGithub.java +++ b/other/mockserver/src/main/java/org/nzbhydra/mockserver/MockGithub.java @@ -87,6 +87,7 @@ public Asset uploadAsset(@RequestBody byte[] body) throws Exception { @RequestMapping(value = "/changelog", method = RequestMethod.GET) public List changelog() throws Exception { + logger.info("Returning changelog"); return Arrays.asList( new ChangelogVersionEntry("11.0.0", null, false, Arrays.asList(new ChangelogChangeEntry("note", "a note for beta release 11.0.0"), new ChangelogChangeEntry("note", "another note"), new ChangelogChangeEntry("note", "yet another note"))), new ChangelogVersionEntry("4.0.0", null, true, Arrays.asList(new ChangelogChangeEntry("note", "a note"), new ChangelogChangeEntry("note", "another note"), new ChangelogChangeEntry("note", "yet another note"))), @@ -97,11 +98,13 @@ public List changelog() throws Exception { @RequestMapping(value = "/theotherp/nzbhydra/master/news.json", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public String news() throws Exception { + logger.info("Returning news"); return new String(Files.readAllBytes(new File("news.json").toPath())); } @RequestMapping(value = "/theotherp/nzbhydra/master/blockedVersions.json", method = RequestMethod.GET) public String blockedVersions() throws Exception { + logger.info("Returning blocked versions"); return "[{\"version\":\"3.2.1\",\"comment\":\"some comment\"}]"; } diff --git a/other/mockserver/src/main/java/org/nzbhydra/mockserver/MockNewznab.java b/other/mockserver/src/main/java/org/nzbhydra/mockserver/MockNewznab.java index 88a816564..8a8112afa 100644 --- a/other/mockserver/src/main/java/org/nzbhydra/mockserver/MockNewznab.java +++ b/other/mockserver/src/main/java/org/nzbhydra/mockserver/MockNewznab.java @@ -73,16 +73,21 @@ public void init() { @RequestMapping(value = "/nzb/{nzbId}", produces = MediaType.APPLICATION_XML_VALUE) public ResponseEntity nzbDownload(@PathVariable String nzbId) throws Exception { if (nzbId.endsWith("91")) { + logger.info("Returning 91 - too many requests"); return ResponseEntity.status(HttpStatus.TOO_MANY_REQUESTS).build(); } if (nzbId.endsWith("92")) { + logger.info("Returning 92 - not found"); return ResponseEntity.status(HttpStatus.NOT_FOUND).build(); } if (nzbId.endsWith("93")) { + + logger.info("Returning 429 - request limit reached"); return ResponseEntity.status(429).body("\n" + ""); } + logger.info("Returning NZB with ID {}", nzbId); return ResponseEntity.ok("Would download NZB with ID" + nzbId); } @@ -98,7 +103,7 @@ public String nzbComments(@PathVariable String nzbId) throws Exception { @RequestMapping(value = {"/api", "/dognzb/api"}, produces = MediaType.APPLICATION_XML_VALUE) public ResponseEntity api(NewznabParameters params, HttpServletRequest request) throws Exception { - + logger.info("Received API request {}", params); if (params.getT() == ActionAttribute.CAPS) { //throw new RuntimeException("test"); return new ResponseEntity(NewznabMockBuilder.getCaps(), HttpStatus.OK);