@RequestMapping(value = "/torznab/api", produces = MediaType.TEXT_XML_VALUE) public ResponseEntity<? extends Object> torznabapi(NewznabParameters params) throws Exception { if (params.getT() == ActionAttribute.CAPS) { return new ResponseEntity<Object>(NewznabMockBuilder.getCaps(), HttpStatus.OK); } NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(0, 10, params.getApikey(), false, Collections.emptyList()); Random random = new Random(); for (NewznabXmlItem item : rssRoot.getRssChannel().getItems()) { item.setNewznabAttributes(new ArrayList<>()); item.getTorznabAttributes().add(new NewznabAttribute("seeders", String.valueOf(random.nextInt(30000)))); item.getTorznabAttributes().add(new NewznabAttribute("peers", String.valueOf(random.nextInt(30000)))); if (random.nextInt(5) > 3) { item.getTorznabAttributes().add(new NewznabAttribute("grabs", String.valueOf(random.nextInt(30000)))); } item.setCategory("5000"); item.setGrabs(null); } return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); }
public static NewznabXmlRoot generateResponse(int startIndex, int endIndex, String itemTitleBase, boolean generateDuplicates, List<String> titleWords) { return generateResponse( NewznabMockRequest.builder() .numberOfResults(endIndex - startIndex) .titleBase(itemTitleBase) .generateDuplicates(generateDuplicates) .titleWords(titleWords) .build() ); }
if (uri.toString().contains("oneduplicate")) { NewznabMockRequest mockRequest = NewznabMockRequest.builder().numberOfResults(1).titleBase("oneresult").titleWords(Collections.emptyList()).total(1).build(); rssRoot = NewznabMockBuilder.generateResponse(mockRequest); rssRoot.getRssChannel().getNewznabResponse().setTotal(1); rssRoot.getRssChannel().getItems().get(0).getEnclosure().setLength(100000L); rssRoot = NewznabMockBuilder.generateResponse(mockRequest); rssRoot.getRssChannel().getItems().get(0).getEnclosure().setLength(100000L); rssRoot.getRssChannel().getItems().get(0).getNewznabAttributes().clear(); NewznabXmlRoot rssRoot3 = NewznabMockBuilder.generateResponse(mockRequest); rssRoot3.getRssChannel().getItems().get(0).getEnclosure().setLength(200000L); rssRoot3.getRssChannel().getItems().get(0).getNewznabAttributes().clear(); NewznabXmlRoot rssRoot2 = NewznabMockBuilder.generateResponse(mockRequest); rssRoot.getRssChannel().getItems().add(rssRoot2.getRssChannel().getItems().get(0)); rssRoot = NewznabMockBuilder.generateResponse(mockRequest); rssRoot.getRssChannel().getNewznabResponse().setTotal(10); for (NewznabXmlItem rssItem : rssRoot.getRssChannel().getItems()) { rssRoot = NewznabMockBuilder.generateResponse(0, 2, "results", false, Collections.emptyList()); rssRoot.getRssChannel().getNewznabResponse().setTotal(2); rssRoot = NewznabMockBuilder.generateResponse(0, 100, "results", false, Collections.emptyList()); rssRoot.getRssChannel().getNewznabResponse().setTotal(100);
NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(0, -1, itemTitleBase, false, Collections.emptyList()); logger.info("Returning no results for rid based search without query"); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); rssRoot = NewznabMockBuilder.generateResponse(start, end, "offsetTest", doGenerateDuplicates, Collections.emptyList()); NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(mockRequest); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(mockRequest); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(mockRequest); rssRoot.getRssChannel().getItems().forEach(x -> x.setTitle(rssRoot.getRssChannel().getItems().get(0).getTitle())); rssRoot.getRssChannel().getItems().forEach(x -> x.setLink(rssRoot.getRssChannel().getItems().get(0).getLink())); NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(mockRequest); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(0, -1, itemTitleBase, false, Collections.emptyList()); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(mockRequest); rssRoot.getRssChannel().getNewznabResponse().setTotal(100); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(0, -1, itemTitleBase, false, Collections.emptyList()); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK);