@Test public void testPaginatedWrapper() { System.out.println("::: testPaginatedWrapper :::"); final String rootFeedUriStr = "http://localhost:20090/feed"; FeedEntryReader<SomeDomain> reader = new FeedEntryReader<SomeDomain>( httpClient, Arrays.<Entry<String, String>>asList( new AbstractMap.SimpleEntry<String, String>( Link.REL_ALTERNATE, MediaType.APPLICATION_JSON)), SomeDomain.class); try { int newCount = 20; URI uri = new URI(rootFeedUriStr + "?" + SomeDomainResource.COUNT + "=" + newCount); Feed feed = ClientUtil.readEntity(uri, httpClient, MediaType.APPLICATION_ATOM_XML, Feed.class); // Thread.sleep(10000); PaginatedEntitiesWrapper<EntityResource<SomeDomain>> domains = new PaginatedEntitiesWrapper<EntityResource<SomeDomain>>(feed, httpClient, reader); List<EntityResource<SomeDomain>> domainList = new ArrayList<EntityResource<SomeDomain>>(SomeDomainResource.DOMAIN_SIZE); for (int i = 0; i < (SomeDomainResource.DOMAIN_SIZE / newCount); ++i) { domainList.addAll(domains.getEntitiesForCurrentPage()); domains = domains.next(); } Assert.assertNull(domains); Assert.assertEquals(SomeDomainResource.DOMAIN_SIZE, domainList.size()); } catch (Exception ex) { ex.printStackTrace(); Assert.fail(ex.getMessage()); } }
@Test public void testPaginatedList() { System.out.println("::: testPaginatedList :::"); final String rootFeedUriStr = "http://localhost:20090/feed"; FeedEntryReader<SomeDomain> reader = new FeedEntryReader<SomeDomain>( httpClient, Arrays.<Entry<String, String>>asList( new AbstractMap.SimpleEntry<String, String>( Link.REL_ALTERNATE, MediaType.APPLICATION_JSON)), SomeDomain.class); try { int newCount = 20; URI uri = new URI(rootFeedUriStr + "?" + SomeDomainResource.COUNT + "=" + newCount); Feed feed = ClientUtil.readEntity(uri, httpClient, MediaType.APPLICATION_ATOM_XML, Feed.class); PaginatedEntitiesWrapper<EntityResource<SomeDomain>> domains = new PaginatedEntitiesWrapper<EntityResource<SomeDomain>>(feed, httpClient, reader); List<EntityResource<SomeDomain>> domainList = new PaginatedFeedEntitiesList<EntityResource<SomeDomain>>(domains); Assert.assertEquals(SomeDomainResource.DOMAIN_SIZE, domainList.size()); final int midSize = SomeDomainResource.DOMAIN_SIZE / 2; domainList = new PaginatedFeedEntitiesList<EntityResource<SomeDomain>>(domains, midSize); Assert.assertEquals( new Double(Math.ceil(midSize / (double) newCount)).intValue() * newCount, domainList.size()); } catch (Exception ex) { ex.printStackTrace(); Assert.fail(ex.getMessage()); } }
@Test public void testFeedReader() { System.out.println("::: testFeedReader :::"); final String rootFeedUriStr = "http://localhost:20090/feed"; WebResource resource = client.resource(rootFeedUriStr); Feed feed = resource.get(Feed.class); FeedEntryReader<SomeDomain> reader = new FeedEntryReader<SomeDomain>( httpClient, Arrays.<Entry<String, String>>asList( new AbstractMap.SimpleEntry<String, String>( Link.REL_ALTERNATE, MediaType.APPLICATION_JSON)), SomeDomain.class); Collection<EntityResource<SomeDomain>> collection = reader.readEntriesFromFeed(feed); Assert.assertNotNull(collection); Assert.assertEquals(5, collection.size()); try { int newCount = 20; URI uri = new URI(rootFeedUriStr + "?count=" + newCount); feed = ClientUtil.readEntity(uri, httpClient, MediaType.APPLICATION_ATOM_XML, Feed.class); collection = reader.readEntriesFromFeed(feed); Assert.assertNotNull(collection); Assert.assertEquals(newCount, collection.size()); } catch (Exception ex) { ex.printStackTrace(); Assert.fail(ex.getMessage()); } }