Package edu.scripps.genewiki.mwsync

Source Code of edu.scripps.genewiki.mwsync.MockWiki

package edu.scripps.genewiki.mwsync;

import static org.junit.Assert.*;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;

import org.junit.Test;

import edu.scripps.mwsync.Sync;
import edu.scripps.mwsync.WikiPlus;

public class SyncTest
{

  /**
   * Test that the basic instantiation as expected
   */
  @Test
  public void testInstantiation()
  {
    MockWiki src = new MockWiki("url1");
    MockWiki tgt = new MockWiki("url2");
    long period = 1000;
    Sync sync = new Sync(src, tgt, period);
    assertEquals(sync.getPeriod(), period);
    assertEquals(sync.getSource(), src);
    assertEquals(sync.getTarget(), tgt);
  }
 
 
  /**
   * Test instantiation fails if given null Wiki args
   */
  @SuppressWarnings("unused")
  @Test (expected=IllegalArgumentException.class)
  public void testFailedInstantiationNullWiki()
  {
    Sync sync = new Sync(null, null, 60);
  }
 
 
  /**
   * Test instantiation fails if given < 60s for period
   */
  @SuppressWarnings("unused")
  @Test (expected=IllegalArgumentException.class)
  public void testFailedInstantiationShortPeriod()
  {
    MockWiki src = new MockWiki("url1");
    MockWiki tgt = new MockWiki("url2");
    Sync sync = new Sync(src, tgt, 30);
  }

 
  @Test
  public void testRun() {
    MockWiki src = new MockWiki("url1");
    MockWiki tgt = new MockWiki("url2");
    long period = 1000;
    Sync sync = new Sync(src, tgt, period);
    sync.run();
    assertEquals(tgt.editText, Arrays.asList(
        "Sample Page Text", "Sample Page Text", "Sample Page Text"));
   
  }
 

 
}

class MockWiki extends WikiPlus
{

  private static final long serialVersionUID = 1L;
  private Revision rev1, rev2, rev3;
  public List<String> editText;
 
  public MockWiki(String url) {
//    rev1 = new Revision(1L, Calendar.getInstance(), "TestRevision1",
//        "TestSummary", "TestUser", false, false);
//    rev2 = new Revision(1L, Calendar.getInstance(), "TestRevision2",
//        "TestSummary", "TestUser", false, false);
//    rev3 = new Revision(1L, Calendar.getInstance(), "TestRevision3",
//        "TestSummary", "TestUser", false, false);
    editText = new ArrayList<String>();
  }
 
  @Override
  public void login(String username, char[] password)
  {
    // do nothing
  }
 
//  @Override
//  public List<Revision> getChangesFromWatchlist(Calendar since, boolean includeBotEdits)
//  {
//    List<Revision> list = Arrays.asList(rev1, rev2, rev3);
//    return list;
//  }
 
  @Override
  public String getPageText(String title)
  {
    return "Sample Page Text";
  }
 
  @Override
  public Revision getTopRevision(String title)
  {
    switch(Integer.parseInt(title.substring(12, 13))){
    case 1: return rev1;
    case 2: return rev2;
    case 3: return rev3;
    default: return rev1;
    }
  }
 
  @Override
  public void edit(String title, String text, String summary)
  {
    editText.add(text);
  }
}
TOP

Related Classes of edu.scripps.genewiki.mwsync.MockWiki

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.