Difference between revisions of "Examples"

From BITPlan mediawiki-japi Wiki
Jump to navigation Jump to search
Line 54: Line 54:
 
     wiki.logout();
 
     wiki.logout();
 
   }
 
   }
 +
</source>
 +
 +
=== query ===
 +
[https://github.com/WolfgangFahl/Mediawiki-Japi/blob/master/src/test/java/com/bitplan/mediawiki/japi/TestAPI_Query.java Junit Test]
 +
==== Allpages ====
 +
<source lang='java'>
 +
        /**
 +
* test the Allpages API call http://www.mediawiki.org/wiki/API:Allpages
 +
*
 +
* @throws Exception
 +
*/
 +
@Test
 +
public void testGetAllPages() throws Exception {
 +
for (ExampleWiki lwiki : getWikis()) {
 +
Api api = getQueryResult(lwiki, "&list=allpages&apfrom=Kre&aplimit=3");
 +
List<P> pageRefList = api.getQuery().getAllpages();
 +
assertEquals(lwiki.getSiteurl(),3, pageRefList.size());
 +
}
 +
}
 
</source>
 
</source>
  

Revision as of 10:32, 18 January 2015

Intro

Depending on your version of Mediawiki you'll get different API details and help pages:

API usage examples

Sample query:get a single page

http://www.mediawiki.org/wiki/API:Query#Sample_query

Mediawiki wiki=new Mediawiki("http://en.wikipedia.org");
String content=wiki.getPageContent("Main Page");

JUnit Test

/**
 * http://www.mediawiki.org/wiki/API:Query#Sample_query
 * http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles=Main%20Page&format=xml
 * @throws Exception 
 */
@Test
public void testSampleQuery() throws Exception {
  Mediawiki wiki=new Mediawiki("http://en.wikipedia.org");
  String content=wiki.getPageContent("Main Page");
  assertTrue(content.contains("Wikipedia"));
}

login/logout

http://www.mediawiki.org/wiki/API:Login

Login login=wiki.login("scott","tiger");
wiki.logout();

Junit Test

  /**
   * test Login and logout 
   * see <a href='http://www.mediawiki.org/wiki/API:Login'>API:Login</a>
   * @throws Exception
   */
   @Test
   public void testLogin() throws Exception {
     WikiUser wuser=WikiUser.getUser("mediawiki_org");
     Login login=wiki.login(wuser.getUsername(),wuser.getPassword());
     assertEquals("Success",login.getResult());
     assertNotNull(login.getLguserid());
     assertEquals(wuser.getUsername(),login.getLgusername());
     assertNotNull(login.getLgtoken());
     wiki.logout();
   }

query

Junit Test

Allpages

        /**
	 * test the Allpages API call http://www.mediawiki.org/wiki/API:Allpages
	 * 
	 * @throws Exception
	 */
	@Test
	public void testGetAllPages() throws Exception {
		for (ExampleWiki lwiki : getWikis()) {
			Api api = getQueryResult(lwiki, "&list=allpages&apfrom=Kre&aplimit=3");
			List<P> pageRefList = api.getQuery().getAllpages();
			assertEquals(lwiki.getSiteurl(),3, pageRefList.size());
		}
	}

Edit

https://www.mediawiki.org/wiki/API:Edit

wiki.login("scott","tiger");
wiki.edit("Test Page 1","new content of test page 1","Summary for this edit");

JUnit test