Package com.gnizr.core.robot.rss

Source Code of com.gnizr.core.robot.rss.TestCrawlRssFeed

/*
* gnizr is a trademark of Image Matters LLC in the United States.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Initial Contributor of the Original Code is Image Matters LLC.
* Portions created by the Initial Contributor are Copyright (C) 2007
* Image Matters LLC. All Rights Reserved.
*/
package com.gnizr.core.robot.rss;

import java.util.List;
import java.util.Timer;
import java.util.concurrent.TimeUnit;

import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import com.gnizr.core.bookmark.BookmarkManager;
import com.gnizr.core.bookmark.FolderTagListener;
import com.gnizr.core.bookmark.ForUserListener;
import com.gnizr.core.feed.FeedSubscriptionManager;
import com.gnizr.core.folder.FolderManager;
import com.gnizr.core.foruser.ForUserManager;
import com.gnizr.core.user.UserManager;
import com.gnizr.core.web.junit.GnizrWebappTestBase;
import com.gnizr.db.dao.Bookmark;
import com.gnizr.db.dao.DaoResult;
import com.gnizr.db.dao.Folder;
import com.gnizr.db.dao.PointMarker;
import com.gnizr.db.dao.User;

public class TestCrawlRssFeed extends GnizrWebappTestBase {
 
  private BookmarkManager bookmarkManager;
  private FeedSubscriptionManager feedManager;
  private ThreadPoolTaskExecutor executor;
  private CrawlRssFeed crawlRssFeed;
  private FolderManager folderManager ;
  private ForUserManager forUserManager;
  private UserManager userManager;
 
  protected void setUp() throws Exception {
    super.setUp();
   
    executor = new ThreadPoolTaskExecutor();
    executor.initialize();
   
    userManager = new UserManager(getGnizrDao());
    forUserManager = new ForUserManager(getGnizrDao());
    folderManager = new FolderManager(getGnizrDao());
   
    bookmarkManager = new BookmarkManager(getGnizrDao());
    bookmarkManager.addBookmarkListener(new ForUserListener(userManager,forUserManager));
    bookmarkManager.addBookmarkListener(new FolderTagListener(folderManager));
    feedManager = new FeedSubscriptionManager(getGnizrDao());
    crawlRssFeed = new CrawlRssFeed();
    crawlRssFeed.setServiceEnabled(true);
    crawlRssFeed.setBookmarkManager(bookmarkManager);
    crawlRssFeed.setFeedSubscriptionManager(feedManager);
    crawlRssFeed.setThreadPoolTaskExecutor(executor);
  }

  protected void tearDown() throws Exception {
    super.tearDown();
  }

  @Override
  protected IDataSet getDataSet() throws Exception {
    return new FlatXmlDataSet(TestCrawlRssFeed.class
        .getResourceAsStream("/TestCrawlRssFeed-input.xml"));
  }

  public void testRun() throws Exception{
    Timer timer = new Timer();
    timer.schedule(crawlRssFeed,0);
    crawlRssFeed.awaitAndShutdown(60,TimeUnit.SECONDS);
       
    Folder folder66 = folderManager.getUserFolder(new User(2), "latest news");
    Folder folder67 = folderManager.getUserFolder(new User(2), "news2");
    assertTrue(folder66.getSize()>0);
    assertEquals(folder66.getSize(),folder67.getSize());
   
    Folder importFolder = folderManager.getUserFolder(new User(2), FolderManager.IMPORTED_BOOKMARKS_LABEL);
    assertTrue(importFolder.getSize()>0);
   
    Folder folder69 = folderManager.getUserFolder(new User(2),"georss data");
    assertTrue(folder69.getSize()>0);
    DaoResult<Bookmark> result2 = folderManager.pageFolderContent(new User(2),"georss data",0,1);
    Bookmark bm = result2.getResult().get(0);
    List<PointMarker> markers =  bookmarkManager.getPointMarkers(bm);
    assertTrue(markers.size()>0);
  }
}
TOP

Related Classes of com.gnizr.core.robot.rss.TestCrawlRssFeed

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.