Commit 99642cfe08fb13b9e72099dd65c01103e7ee71b1

Authored by Nathanael Jourdane
1 parent 35daa117
Exists in master

Improve unit test for ADQL queries.

src/main/java/eu/omp/irap/vespa/epntapclient/EpnTapConnection.java
@@ -31,6 +31,7 @@ import eu.omp.irap.vespa.epntapclient.voresource.VOResourceException; @@ -31,6 +31,7 @@ import eu.omp.irap.vespa.epntapclient.voresource.VOResourceException;
31 import eu.omp.irap.vespa.epntapclient.voresource.model.Resource; 31 import eu.omp.irap.vespa.epntapclient.voresource.model.Resource;
32 import eu.omp.irap.vespa.epntapclient.votable.model.VOTABLE; 32 import eu.omp.irap.vespa.epntapclient.votable.model.VOTABLE;
33 import eu.omp.irap.vespa.votable.controller.CantGetVOTableException; 33 import eu.omp.irap.vespa.votable.controller.CantGetVOTableException;
  34 +import eu.omp.irap.vespa.votable.controller.VOTableController;
34 import eu.omp.irap.vespa.votable.utils.StringJoiner; 35 import eu.omp.irap.vespa.votable.utils.StringJoiner;
35 import eu.omp.irap.vespa.votable.votabledata.VOTableData; 36 import eu.omp.irap.vespa.votable.votabledata.VOTableData;
36 37
@@ -129,9 +130,10 @@ public class EpnTapConnection implements EpnTapInterface { @@ -129,9 +130,10 @@ public class EpnTapConnection implements EpnTapInterface {
129 @Override 130 @Override
130 public List<Granule> sendADQLQuery(String tapURL, String adqlQuery) 131 public List<Granule> sendADQLQuery(String tapURL, String adqlQuery)
131 throws CantGetVOTableException { 132 throws CantGetVOTableException {
132 - EpnTapController epnTapCtrl = new EpnTapController();  
133 - epnTapCtrl.sendQuery(adqlQuery, tapURL);  
134 - VOTableData data = epnTapCtrl.getResultsController().getVOTableData(); 133 + VOTableController voTableCtrl = new VOTableController(tapURL, adqlQuery);
  134 + voTableCtrl.readTable();
  135 + VOTableData data = voTableCtrl.getVOTableData();
  136 +
135 List<Granule> granules; 137 List<Granule> granules;
136 try { 138 try {
137 GranuleCtrl gc = new GranuleCtrl(data); 139 GranuleCtrl gc = new GranuleCtrl(data);
src/test/java/eu/omp/irap/vespa/epntapclient/EpnTapConnectionTest.java
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertNotNull; @@ -21,6 +21,7 @@ import static org.junit.Assert.assertNotNull;
21 import static org.junit.Assert.assertTrue; 21 import static org.junit.Assert.assertTrue;
22 22
23 import java.util.ArrayList; 23 import java.util.ArrayList;
  24 +import java.util.Date;
24 import java.util.List; 25 import java.util.List;
25 import java.util.Map; 26 import java.util.Map;
26 import java.util.logging.Logger; 27 import java.util.logging.Logger;
@@ -56,6 +57,11 @@ public class EpnTapConnectionTest { @@ -56,6 +57,11 @@ public class EpnTapConnectionTest {
56 57
57 private static final String APIS_SHORT_NAME = "APIS"; 58 private static final String APIS_SHORT_NAME = "APIS";
58 59
  60 + private static final String SERVICE_EPNCOREV2_ACCESS_URL = "http://voparis-tap-planeto.obspm.fr/__system__/tap/run/tap";
  61 +
  62 + private static final String SERVICE_EPNCOREV2_QUERY = "SELECT * FROM planets.epn_core";
  63 +
  64 + private static final String SERVICE_EPNCOREV2_TABLE_NAME = "planets.epn_core";
59 // *** VOResources *** 65 // *** VOResources ***
60 66
61 67
@@ -251,32 +257,42 @@ public class EpnTapConnectionTest { @@ -251,32 +257,42 @@ public class EpnTapConnectionTest {
251 System.out.println("sendADQLQueryTest"); 257 System.out.println("sendADQLQueryTest");
252 EpnTapConnection facade = new EpnTapConnection(); 258 EpnTapConnection facade = new EpnTapConnection();
253 259
254 - String tapURL = "http://voparis-tap-planeto.obspm.fr/__system__/tap/run/tap";  
255 - String query = "SELECT TOP 1 * FROM planets.epn_core";  
256 - List<Granule> granules = facade.sendADQLQuery(tapURL, query); 260 + List<Granule> granules = facade.sendADQLQuery(SERVICE_EPNCOREV2_ACCESS_URL,
  261 + SERVICE_EPNCOREV2_QUERY);
257 262
258 assertNotNull("Granules list not returned.", granules); 263 assertNotNull("Granules list not returned.", granules);
259 - assertTrue("No granules returned.", granules.size() > 0);  
260 - assertEquals("?", granules.get(0).granuleUid);  
261 - assertEquals("?", granules.get(0).timeMin);  
262 - assertEquals("?", granules.get(0).processingLevel);  
263 - assertEquals("?", granules.get(0).creationDate); 264 + assertEquals(8, granules.size());
  265 + Granule mars = null;
  266 + for (Granule granule : granules) {
  267 + if ("Mars".equals(granule.granuleUid)) {
  268 + mars = granule;
  269 + }
  270 + }
  271 + assertNotNull("granule 'Mars' is not found.", mars);
  272 + assertEquals("4", mars.obsId);
  273 + assertEquals(new Integer(5), mars.processingLevel);
  274 + assertEquals(mars.creationDate, new Date(2015, 8, 20));
264 } 275 }
265 276
266 @Test 277 @Test
267 public void sendADQLQueryWithSchemaNameTest() throws CantGetVOTableException { 278 public void sendADQLQueryWithSchemaNameTest() throws CantGetVOTableException {
268 System.out.println("sendADQLQueryWithSchemaNameTest"); 279 System.out.println("sendADQLQueryWithSchemaNameTest");
269 EpnTapConnection facade = new EpnTapConnection(); 280 EpnTapConnection facade = new EpnTapConnection();
270 - String tapURL = "http://voparis-tap-planeto.obspm.fr/__system__/tap/run/tap";  
271 - String schemaName = "amdadb.epn_core";  
272 - String query = "SELECT TOP 1 * FROM planets.epn_core";  
273 - List<Granule> granules = facade.sendQuery(tapURL, schemaName, query); 281 + List<Granule> granules = facade.sendQuery(SERVICE_EPNCOREV2_ACCESS_URL,
  282 + SERVICE_EPNCOREV2_TABLE_NAME, SERVICE_EPNCOREV2_QUERY);
274 283
275 assertNotNull("Granules list not returned.", granules); 284 assertNotNull("Granules list not returned.", granules);
276 - assertTrue("No granules returned.", granules.size() > 0);  
277 - assertEquals("?", granules.get(0).granuleUid);  
278 - assertEquals("?", granules.get(0).timeMin);  
279 - assertEquals("?", granules.get(0).processingLevel);  
280 - assertEquals("?", granules.get(0).creationDate); 285 + assertEquals(8, granules.size());
  286 + Granule mars = null;
  287 + for (Granule granule : granules) {
  288 + if ("Mars".equals(granule.granuleUid)) {
  289 + mars = granule;
  290 + }
  291 + }
  292 + assertNotNull("granule 'Mars' is not found.", mars);
  293 + assertEquals(mars.obsId, 4);
  294 + assertEquals((int) mars.processingLevel, 5);
  295 + assertEquals(mars.creationDate, "2015-08-20");
  296 +
281 } 297 }
282 } 298 }