package com.knowgate.storage; import java.sql.SQLException; import java.util.HashMap; import java.util.ArrayList; import java.util.Collection; import java.util.Properties; import java.text.SimpleDateFormat; import javax.jms.JMSException; import javax.naming.NamingException; import com.knowgate.berkeleydb.DBEntity; import com.knowgate.berkeleydb.DBEnvironment; import com.knowgate.clocial.*; import com.knowgate.berkeleydb.DBErrorLog; import com.knowgate.berkeleydb.DBEnvironment; import com.knowgate.storage.Manager; import com.knowgate.storage.RecordQueueProducer; import com.knowgate.storage.RecordQueueConsumer; import com.knowgate.syndication.FeedEntry; import com.knowgate.syndication.SyndSearch; import com.knowgate.syndication.crawler.SearchDaemon; import com.knowgate.syndication.crawler.SearchRunner; import com.knowgate.syndication.crawler.EntrySearcher; import com.knowgate.debug.DebugFile; import com.knowgate.misc.Gadgets; public final class TestSuite { public static final Engine NOSQL = Engine.BERKELYDB; public static final String PROFILE = "extranet"; public static boolean test01_WriteErrorLog() throws StorageException,InstantiationException,SQLException { DataSource oDs = DataSourcePool.get(NOSQL,PROFILE,false); Record oELog = new DBErrorLog(); Table oCn = oDs.openTable("k_errors_log", new String[]{"gu_error"}); oCn.truncate(); String sGuError = ((DBErrorLog)oELog).log(oDs, ErrorCode.SUCCESS, "UUIDGUID", "Prueba ELog"); oELog = oCn.load(sGuError); oCn.close(); oDs.close(); System.out.println("Write/Read ErrorLog test returned "+String.valueOf(oELog!=null)); return oELog!=null; } public static boolean test02_WriteDomain() throws StorageException,InstantiationException,SQLException { DataSource oDs = DataSourcePool.get(NOSQL,PROFILE,false); Domain oDom = new Domain(oDs); Table oCn = oDs.openTable(oDom); // oCn.truncate(); oDom.put("nm_domain","DirectWriteTest02"); oDom.store(oCn); RecordSet oCl = oCn.fetch("nm_domain", "DirectWriteTest02", 1); Record oRec = oCl.get(0); System.out.println("Fetch domain by name returned "+String.valueOf(oRec!=null)); oCl = oCn.fetch("id_domain", oDom.getString("id_domain"), 1); oRec = oCl.get(0); System.out.println("Fetch domain by id returned "+String.valueOf(oRec!=null)); oRec = oCn.load(oDom.getString("id_domain")); System.out.println("Write/Read Domain test returned "+String.valueOf(oDom!=null)); oCn.close(); oDs.close(); return oDom!=null; } public static boolean test04_WriteUserAccount() throws StorageException,JMSException,NamingException,InstantiationException, ClassNotFoundException,IllegalAccessException,NoSuchMethodException { Manager oStMan = new Manager(); RecordSet oCl = oStMan.fetch("k_domains"); Record oRec = oCl.get(0); UserAccount oAcc = (UserAccount) oStMan.createRecord("com.knowgate.clocial.UserAccount"); oAcc.put("id_domain", oRec.getInt("id_domain")); oAcc.put("tx_nickname", "TestNickName"); oAcc.put("tx_pwd", "123456"); oAcc.put("tx_main_email", "testuser@test.com"); oStMan.store(oAcc,true); return true; } public static boolean test05_WebSearch(String sTxSought) throws Exception { Manager oStMan = new Manager(); RecordSet oCl = oStMan.fetch("k_user_accounts"); Record oRec = oCl.get(0); EntrySearcher.search(oStMan, sTxSought,oRec.getString("gu_account"), 100); SearchRunner oRun = new SearchRunner(sTxSought, oStMan.getProperties()); DataSource oDts = oStMan.getDataSource(); oRun.run(oDts); oStMan.free(oDts); return true; } public static int test06_FetchIndex(String sTxSought) throws Exception { Manager oStMan = new Manager(); RecordSet oRst = oStMan.fetch("k_syndentries", "tx_sought", sTxSought); return oRst.size(); } public static boolean test07_IPInfo() throws StorageException,JMSException,NamingException,InstantiationException { Manager oStMan = new Manager(); IPInfo oIp = IPInfo.forHost(oStMan, "84.20.10.80"); return true; } public static void test08_deteteSearch(String sTxSought) throws Exception { Manager oStMan = new Manager(); DataSource oDts = oStMan.getDataSource(); SyndSearch oSs = new SyndSearch(oDts); Table oTbl = oDts.openTable(oSs); oSs.put("tx_sought", sTxSought); oSs.delete(oTbl); oTbl.close(); oStMan.free(oDts); } public static void test09_rebuildIndexes(String sTxSought) throws Exception { RecordSet oRst; Manager oStMan = new Manager(); DataSource oDts = oStMan.getDataSource(); SyndSearch oSs = new SyndSearch(oDts); Table oTbl = oDts.openTable(oSs); SearchRunner oRun = new SearchRunner("", oStMan.getProperties()); oRst = oTbl.fetch(); oTbl.close(); for (Record r : oRst) { oRun.setQueryString(r.getString("tx_sought")); oRun.run(oDts); } oStMan.free(oDts); } public static void test10_shortenURL() throws Exception { Manager oStMan = new Manager(); DataSource oDts = oStMan.getDataSource(); String sShort = Redirect.shorten(oDts, "http://www.urltobeshortened/params.php?one=1&two=2","http://short.ul/",null).shortURL(); System.out.println(sShort); String sOriginal = Redirect.resolve(oDts, sShort, "127.0.0.1"); System.out.println(sOriginal); oStMan.free(oDts); } public static void test11_refreshSearchresults() throws Exception { SearchDaemon.main(new String[]{"lapastillaroja.net"}); } public static void test12_delete_UserAccounts() throws Exception { Manager oStMan = new Manager(); oStMan.delete(oStMan.createRecord("com.knowgate.clocial.UserAccount"),Gadgets.split("c0a8203312ed8187d29100000b809d45`c0a8203312ed8473cc01000009ac0db1",'`')); } public static void main (String[] args) throws Exception { // DBEnvironment.runRecovery("C:\\Temp\\sleepycat"); // test01_WriteErrorLog(); // test02_WriteDomain(); // test03_WriteDomainAsync(); // test04_WriteUserAccount(); // test05_WebSearch("www.eoi.es"); // test05_WebSearch("www.lapastillaroja.net"); test05_WebSearch("lapastillaroja.net"); // test05_WebSearch("clay shirky"); // test11_refreshSearchresults(); // test05_WebSearch("inncorpora"); // test07_IPInfo(); // test08_deteteSearch("www.eoi.es"); // test09_rebuildIndexes(); // test10_shortenURL(); // test12_delete_UserAccounts(); } }