Blame view

src/test/java/eu/omp/irap/vespa/epntapclient/EpnTapConnectionTest.java 14 KB
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
 * This file is a part of EpnTAPClient.
 * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer.
 * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861
 * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie.
 *
 * This program is free software: you can
 * redistribute it and/or modify it under the terms of the GNU General Public License as published
 * by the Free Software Foundation, either version 3 of the License, or (at your option) any later
 * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 * PURPOSE. See the GNU General Public License for more details. You should have received a copy of
 * the GNU General Public License along with this program. If not, see
 * <http://www.gnu.org/licenses/>.
 */

package eu.omp.irap.vespa.epntapclient;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
35daa117   Nathanael Jourdane   Improve JUnits te...
21
import static org.junit.Assert.assertTrue;
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
22
23

import java.util.ArrayList;
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
24
25
26
27
28
29
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;

import org.junit.Test;

1375d734   Nathanael Jourdane   Create package ep...
30
31
import eu.omp.irap.vespa.epntapclient.epntap.service.Service;
import eu.omp.irap.vespa.epntapclient.epntap.service.ServiceCtrl;
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
32
import eu.omp.irap.vespa.epntapclient.granule.Granule;
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
33
34
import eu.omp.irap.vespa.epntapclient.voresource.VOResourceException;
import eu.omp.irap.vespa.epntapclient.voresource.model.Resource;
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
35
import eu.omp.irap.vespa.epntapclient.votable.model.VOTABLE;
1375d734   Nathanael Jourdane   Create package ep...
36
import eu.omp.irap.vespa.votable.votable.VOTableException;
35daa117   Nathanael Jourdane   Improve JUnits te...
37
import eu.omp.irap.vespa.votable.votabledata.VOTableData;
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
38
39
40
41

/**
 * @author N. Jourdane
 */
330431b5   Nathanael Jourdane   Fix a Junit test ...
42
@SuppressWarnings("static-method")
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
43
44
public class EpnTapConnectionTest {

45fb4583   Nathanael Jourdane   Sort methods and ...
45
46
	/** The AMDA access URL, for testing purposes. */
	private static final String AMDA_ACCESS_URL = "http://cdpp-epntap.cesr.fr/__system__/tap/run/tap";
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
47

330431b5   Nathanael Jourdane   Fix a Junit test ...
48
	/** The AMDA ivoid, for testing purposes. */
35daa117   Nathanael Jourdane   Improve JUnits te...
49
50
	private static final String AMDA_IVOID = "ivo://cdpp/amda";

330431b5   Nathanael Jourdane   Fix a Junit test ...
51
	/** The AMDA short name (to compare with the returned value), for testing purposes. */
35daa117   Nathanael Jourdane   Improve JUnits te...
52
53
	private static final String AMDA_SHORT_NAME = "AMDA";

330431b5   Nathanael Jourdane   Fix a Junit test ...
54
	/** A subject associated with the AMDA service, for testing purposes. */
35daa117   Nathanael Jourdane   Improve JUnits te...
55
56
	private static final String AMDA_SUBJECT = "Space plasmas";

330431b5   Nathanael Jourdane   Fix a Junit test ...
57
	/** The API ivoid, for testing purposes. */
35daa117   Nathanael Jourdane   Improve JUnits te...
58
59
	private static final String APIS_IVOID = "ivo://vopdc.obspm/lesia/apis/epn";

330431b5   Nathanael Jourdane   Fix a Junit test ...
60
	/** The APIS short name (to compare with the returned value), for testing purposes. */
35daa117   Nathanael Jourdane   Improve JUnits te...
61
62
	private static final String APIS_SHORT_NAME = "APIS";

45fb4583   Nathanael Jourdane   Sort methods and ...
63
64
65
	/** The logger for the class Main. */
	private static final Logger LOGGER = Logger.getLogger(EpnTapConnectionTest.class.getName());

330431b5   Nathanael Jourdane   Fix a Junit test ...
66
	/** The URL access of a service implementing the EpnCorev2, for testing purposes. */
99642cfe   Nathanael Jourdane   Improve unit test...
67
68
	private static final String SERVICE_EPNCOREV2_ACCESS_URL = "http://voparis-tap-planeto.obspm.fr/__system__/tap/run/tap";

330431b5   Nathanael Jourdane   Fix a Junit test ...
69
	/** A query to send to a service implementing the EpnCorev2, for testing purposes */
99642cfe   Nathanael Jourdane   Improve unit test...
70
71
	private static final String SERVICE_EPNCOREV2_QUERY = "SELECT * FROM planets.epn_core";

330431b5   Nathanael Jourdane   Fix a Junit test ...
72
	/** The table name of a service implementing the EpnCorev2, for testing purposes. */
99642cfe   Nathanael Jourdane   Improve unit test...
73
	private static final String SERVICE_EPNCOREV2_TABLE_NAME = "planets.epn_core";
35daa117   Nathanael Jourdane   Improve JUnits te...
74
75
	// *** VOResources ***

5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
76

330431b5   Nathanael Jourdane   Fix a Junit test ...
77
	/**
45fb4583   Nathanael Jourdane   Sort methods and ...
78
	 * Unit test for the class {@link EpnTapConnection#getEPNCoreTableName(String)}.
330431b5   Nathanael Jourdane   Fix a Junit test ...
79
	 *
e669c5d3   Nathanael Jourdane   Improve Javadoc.
80
	 * @throws VOTableException Can not get the VOTable corresponding to the service.
330431b5   Nathanael Jourdane   Fix a Junit test ...
81
	 */
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
82
	@Test
45fb4583   Nathanael Jourdane   Sort methods and ...
83
84
	public void getEPNCoreTableNameTest() throws VOTableException {
		LOGGER.info("getEPNCoreTableNameTest");
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
85
86
		EpnTapConnection facade = new EpnTapConnection();

45fb4583   Nathanael Jourdane   Sort methods and ...
87
		String epnCoreTableName = facade.getEPNCoreTableName(AMDA_IVOID);
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
88

45fb4583   Nathanael Jourdane   Sort methods and ...
89
		assertEquals("amdadb.epn_core", epnCoreTableName);
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
90
91
	}

330431b5   Nathanael Jourdane   Fix a Junit test ...
92
93
94
	/**
	 * Unit test for the class {@link EpnTapConnection#getEPNServices()}.
	 *
e669c5d3   Nathanael Jourdane   Improve Javadoc.
95
	 * @throws VOTableException Can not get the VOTable corresponding to the service.
330431b5   Nathanael Jourdane   Fix a Junit test ...
96
	 */
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
97
	@Test
e669c5d3   Nathanael Jourdane   Improve Javadoc.
98
	public void getEPNServicesTest() throws VOTableException {
fd93317f   Nathanael Jourdane   Solve Sonar/Eclip...
99
		LOGGER.info("getEPNServicesTest");
35daa117   Nathanael Jourdane   Improve JUnits te...
100

2e350611   Nathanael Jourdane   Check Services pa...
101
		EpnTapConnection facade = new EpnTapConnection();
35daa117   Nathanael Jourdane   Improve JUnits te...
102
103
		VOTABLE voTable = facade.getEPNServices();
		VOTableData data = ServiceCtrl.getVoTableData(voTable);
2e350611   Nathanael Jourdane   Check Services pa...
104
105
106
107
108
109
110
111
112
113
114
		List<Service> services = ServiceCtrl.getServices(data);
		boolean foundAMDAIvoid = false;

		for (Service service : services) {
			if (AMDA_IVOID.equals(service.getIvoid())) {
				foundAMDAIvoid = true;
				assertEquals(AMDA_SHORT_NAME, service.getShortName());
			}
		}
		assertTrue("AMDA service is not found.", foundAMDAIvoid);

35daa117   Nathanael Jourdane   Improve JUnits te...
115
116
		int nbServices = data.getNbRows();
		assertTrue(nbServices + " ∉ [13;20].", nbServices >= 13 && nbServices <= 20);
2e350611   Nathanael Jourdane   Check Services pa...
117
118
		assertTrue("Column name short_name not found.",
				data.isContainingColumnName("short_name"));
35daa117   Nathanael Jourdane   Improve JUnits te...
119
120
		assertTrue("AMDA ivoid not found.", data.isColumnContainingValue("ivoid", AMDA_IVOID));
		Map<String, Object> amda = data.getRowMapByValue("ivoid", AMDA_IVOID);
330431b5   Nathanael Jourdane   Fix a Junit test ...
121
122
123

		assertEquals(AMDA_ACCESS_URL, amda.get("access_url"));
		assertEquals(AMDA_SHORT_NAME, amda.get("short_name"));
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
124
125
	}

330431b5   Nathanael Jourdane   Fix a Junit test ...
126
127
128
	/**
	 * Unit test for the class {@link EpnTapConnection#getEPNServices(List)}.
	 *
e669c5d3   Nathanael Jourdane   Improve Javadoc.
129
	 * @throws VOTableException Can not get the VOTable corresponding to the service.
330431b5   Nathanael Jourdane   Fix a Junit test ...
130
	 */
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
131
132
	@Test
	public void getEPNServicesWithAttributesTest()
e669c5d3   Nathanael Jourdane   Improve Javadoc.
133
			throws VOTableException {
fd93317f   Nathanael Jourdane   Solve Sonar/Eclip...
134
		LOGGER.info("getEPNServicesWithAttributesTest");
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
135
		EpnTapConnection facade = new EpnTapConnection();
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
136

35daa117   Nathanael Jourdane   Improve JUnits te...
137
138
139
140
		final List<String> attributes = new ArrayList<>();
		attributes.add("access_url");
		attributes.add("short_name");

330431b5   Nathanael Jourdane   Fix a Junit test ...
141
		VOTABLE voTable = facade.getEPNServices(attributes);
35daa117   Nathanael Jourdane   Improve JUnits te...
142
143
144
		VOTableData data = ServiceCtrl.getVoTableData(voTable);

		assertEquals(2, data.getNbColumns());
330431b5   Nathanael Jourdane   Fix a Junit test ...
145
146
147
148
149
150
151
152
153
154
		assertTrue("Column name access_url not found.", data.isContainingColumnName("access_url"));
		assertTrue("Column name short_name not found.", data.isContainingColumnName("short_name"));
		assertTrue("AMDA short_name not found.",
				data.isColumnContainingValue("short_name", AMDA_SHORT_NAME));
		assertTrue("AMDA access_url not found.",
				data.isColumnContainingValue("access_url", AMDA_ACCESS_URL));

		Map<String, Object> amda = data.getRowMapByValue("short_name", AMDA_SHORT_NAME);
		assertEquals(AMDA_ACCESS_URL, amda.get("access_url"));
		assertEquals(AMDA_SHORT_NAME, amda.get("short_name"));
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
155
156
	}

45fb4583   Nathanael Jourdane   Sort methods and ...
157
158
	// *** Services ***

330431b5   Nathanael Jourdane   Fix a Junit test ...
159
160
161
	/**
	 * Unit test for the class {@link EpnTapConnection#getEPNServices(List, List)}.
	 *
e669c5d3   Nathanael Jourdane   Improve Javadoc.
162
	 * @throws VOTableException Can not get the VOTable corresponding to the service.
330431b5   Nathanael Jourdane   Fix a Junit test ...
163
164
	 * @throws VOResourceException Can not get the VOresource.
	 */
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
165
	@Test
330431b5   Nathanael Jourdane   Fix a Junit test ...
166
	public void getEPNServicesWithKeywordsAndAttributesTest()
e669c5d3   Nathanael Jourdane   Improve Javadoc.
167
			throws VOTableException, VOResourceException {
fd93317f   Nathanael Jourdane   Solve Sonar/Eclip...
168
		LOGGER.info("getEPNServicesWithKeywordsAndAttributesTest");
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
169
		EpnTapConnection facade = new EpnTapConnection();
35daa117   Nathanael Jourdane   Improve JUnits te...
170

330431b5   Nathanael Jourdane   Fix a Junit test ...
171
172
173
		final List<String> keywords = new ArrayList<>();
		keywords.add(AMDA_SUBJECT);

35daa117   Nathanael Jourdane   Improve JUnits te...
174
175
176
177
		final List<String> attributes = new ArrayList<>();
		attributes.add("access_url");
		attributes.add("short_name");

35daa117   Nathanael Jourdane   Improve JUnits te...
178
179
180
181
		VOTABLE voTable = facade.getEPNServices(keywords, attributes);
		VOTableData data = ServiceCtrl.getVoTableData(voTable);

		assertEquals(3, data.getNbColumns());
330431b5   Nathanael Jourdane   Fix a Junit test ...
182
		assertEquals(1, data.getNbRows());
35daa117   Nathanael Jourdane   Improve JUnits te...
183
184
185
186
187
188
189
190
		assertTrue("Column name access_url not found.", data.isContainingColumnName("access_url"));
		assertTrue("Column name short_name not found.", data.isContainingColumnName("short_name"));
		assertTrue("AMDA short_name not found.",
				data.isColumnContainingValue("short_name", AMDA_SHORT_NAME));
		assertTrue("AMDA access_url not found.",
				data.isColumnContainingValue("access_url", AMDA_ACCESS_URL));
		assertEquals(AMDA_SHORT_NAME, data.getCell(0, "short_name"));
		assertEquals(AMDA_ACCESS_URL, data.getCell(0, "access_url"));
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
191
192
	}

45fb4583   Nathanael Jourdane   Sort methods and ...
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
	/**
	 * Unit test for the class {@link EpnTapConnection#getEPNService(String)}.
	 *
	 * @throws VOTableException Can not get the VOTable corresponding to the service.
	 */
	@Test
	public void getEPNServiceTest() throws VOTableException {
		LOGGER.info("getEPNServiceTest");
		EpnTapConnection facade = new EpnTapConnection();

		VOTABLE voTable = facade.getEPNService(AMDA_IVOID);
		VOTableData data = ServiceCtrl.getVoTableData(voTable);

		assertEquals(1, data.getNbRows());
		assertTrue("Column name ivoid not found.", data.isContainingColumnName("ivoid"));
		assertTrue("Column name short_name not found.", data.isContainingColumnName("access_url"));
		assertTrue("Column name short_name not found.", data.isContainingColumnName("short_name"));
		assertEquals(AMDA_IVOID, data.getCell(0, "ivoid"));
		assertEquals(AMDA_ACCESS_URL, data.getCell(0, "access_url"));
		assertEquals(AMDA_SHORT_NAME, data.getCell(0, "short_name"));
	}
35daa117   Nathanael Jourdane   Improve JUnits te...
214

330431b5   Nathanael Jourdane   Fix a Junit test ...
215
	/**
45fb4583   Nathanael Jourdane   Sort methods and ...
216
	 * Unit test for the class {@link EpnTapConnection#getEPNService(String, List)}.
330431b5   Nathanael Jourdane   Fix a Junit test ...
217
	 *
e669c5d3   Nathanael Jourdane   Improve Javadoc.
218
	 * @throws VOTableException Can not get the VOTable corresponding to the service.
330431b5   Nathanael Jourdane   Fix a Junit test ...
219
	 */
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
220
	@Test
45fb4583   Nathanael Jourdane   Sort methods and ...
221
222
	public void getEPNServiceWithAttributesTest() throws VOTableException {
		LOGGER.info("getEPNServiceWithAttributesTest");
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
223
		EpnTapConnection facade = new EpnTapConnection();
35daa117   Nathanael Jourdane   Improve JUnits te...
224

45fb4583   Nathanael Jourdane   Sort methods and ...
225
226
227
		final List<String> attributes = new ArrayList<>();
		attributes.add("access_url");
		attributes.add("short_name");
35daa117   Nathanael Jourdane   Improve JUnits te...
228

45fb4583   Nathanael Jourdane   Sort methods and ...
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
		VOTABLE voTable = facade.getEPNService(AMDA_IVOID, attributes);
		VOTableData data = ServiceCtrl.getVoTableData(voTable);

		assertEquals(1, data.getNbRows());
		assertEquals(2, data.getNbColumns());
		assertTrue("Column name short_name not found.", data.isContainingColumnName("access_url"));
		assertTrue("Column name short_name not found.", data.isContainingColumnName("short_name"));
		assertEquals(AMDA_ACCESS_URL, data.getCell(0, "access_url"));
		assertEquals(AMDA_SHORT_NAME, data.getCell(0, "short_name"));
	}

	/**
	 * Unit test for the class {@link EpnTapConnection#getEPNVOResources()}.
	 *
	 * @throws VOResourceException Can not get the VOresource.
	 */
	@Test
	public void getEPNVOResourcesTest() throws VOResourceException {
		LOGGER.info("getEPNVOResourcesTest");
		EpnTapConnection facade = new EpnTapConnection();

		List<Resource> resources = facade.getEPNVOResources();

		int nbResources = resources.size();
		assertTrue(nbResources + " ∉ [13;20]", nbResources >= 13 && nbResources <= 20);

		Resource amda = null;
		Resource apis = null;
		for (Resource resource : resources) {
			if (AMDA_IVOID.equals(resource.getIdentifier())) {
				amda = resource;
			}
			if (APIS_IVOID.equals(resource.getIdentifier())) {
				apis = resource;
			}
		}
		assertNotNull("AMDA resource should be present.", amda);
		assertNotNull("APIS resource should be present.", apis);
		assertEquals(AMDA_SHORT_NAME, amda.getShortName());
		assertEquals(APIS_SHORT_NAME, apis.getShortName());
	}

	/**
	 * Unit test for the class {@link EpnTapConnection#getEPNVOResources(List)}.
	 *
	 * @throws VOResourceException Can not get the VOresource.
	 */
	@Test
	public void getEPNVOResourcesWithKeywordsTest() throws VOResourceException {
		LOGGER.info("getEPNVOResourcesWithKeywordsTest");
		EpnTapConnection facade = new EpnTapConnection();

		final List<String> keywords = new ArrayList<>();
		keywords.add(AMDA_SUBJECT);
		List<Resource> resources = facade.getEPNVOResources(keywords);

		assertEquals(resources.size(), 1);

		Resource amda = null;
		for (Resource resource : resources) {
			if (AMDA_IVOID.equals(resource.getIdentifier())) {
				amda = resource;
			}
		}
		assertNotNull("AMDA resource should be present.", amda);
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
294
295
	}

45fb4583   Nathanael Jourdane   Sort methods and ...
296
297
	// *** Getters ***

330431b5   Nathanael Jourdane   Fix a Junit test ...
298
299
300
	/**
	 * Unit test for the class {@link EpnTapConnection#getTAPURL(String)}.
	 *
e669c5d3   Nathanael Jourdane   Improve Javadoc.
301
	 * @throws VOTableException Can not get the VOTable corresponding to the service.
330431b5   Nathanael Jourdane   Fix a Junit test ...
302
	 */
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
303
	@Test
e669c5d3   Nathanael Jourdane   Improve Javadoc.
304
	public void getTAPURLTest() throws VOTableException {
fd93317f   Nathanael Jourdane   Solve Sonar/Eclip...
305
		LOGGER.info("getTAPURLTest");
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
306
		EpnTapConnection facade = new EpnTapConnection();
35daa117   Nathanael Jourdane   Improve JUnits te...
307

5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
308
		String tapURL = facade.getTAPURL("ivo://cdpp/amda");
35daa117   Nathanael Jourdane   Improve JUnits te...
309

5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
310
311
312
		assertEquals("http://cdpp-epntap.cesr.fr/__system__/tap/run/tap", tapURL);
	}

45fb4583   Nathanael Jourdane   Sort methods and ...
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
	/**
	 * Unit test for the class {@link EpnTapConnection#getEPNVOresource(String)}.
	 *
	 * @throws VOResourceException Can not get the VOresource.
	 */
	@Test
	public void getVOResourceTest() throws VOResourceException {
		LOGGER.info("getVOResourceTest");
		EpnTapConnection facade = new EpnTapConnection();

		Resource resource = facade.getEPNVOresource(AMDA_IVOID);

		assertEquals("AMDA", resource.getShortName());
		assertEquals("CDPP AMDA DataBase", resource.getTitle());
		assertEquals("Centre de Données de la Physique des Plasmas",
				resource.getCuration().getCreator().get(0).getName().getValue());
	}

35daa117   Nathanael Jourdane   Improve JUnits te...
331
332
	// *** Queries ***

330431b5   Nathanael Jourdane   Fix a Junit test ...
333
334
335
	/**
	 * Unit test for the class {@link EpnTapConnection#sendADQLQuery(String, String)}.
	 *
e669c5d3   Nathanael Jourdane   Improve Javadoc.
336
	 * @throws VOTableException Can not get the VOTable resulting the query.
330431b5   Nathanael Jourdane   Fix a Junit test ...
337
	 */
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
338
	@Test
e669c5d3   Nathanael Jourdane   Improve Javadoc.
339
	public void sendADQLQueryTest() throws VOTableException {
fd93317f   Nathanael Jourdane   Solve Sonar/Eclip...
340
		LOGGER.info("sendADQLQueryTest");
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
341
		EpnTapConnection facade = new EpnTapConnection();
35daa117   Nathanael Jourdane   Improve JUnits te...
342

99642cfe   Nathanael Jourdane   Improve unit test...
343
344
		List<Granule> granules = facade.sendADQLQuery(SERVICE_EPNCOREV2_ACCESS_URL,
				SERVICE_EPNCOREV2_QUERY);
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
345

35daa117   Nathanael Jourdane   Improve JUnits te...
346
		assertNotNull("Granules list not returned.", granules);
99642cfe   Nathanael Jourdane   Improve unit test...
347
348
349
		assertEquals(8, granules.size());
		Granule mars = null;
		for (Granule granule : granules) {
6a2d3842   Nathanael Jourdane   Use getters and s...
350
			if ("Mars".equals(granule.getGranuleUid())) {
99642cfe   Nathanael Jourdane   Improve unit test...
351
352
353
354
				mars = granule;
			}
		}
		assertNotNull("granule 'Mars' is not found.", mars);
6a2d3842   Nathanael Jourdane   Use getters and s...
355
356
		assertEquals("4", mars.getObsId());
		assertEquals(new Integer(5), mars.getProcessingLevel());
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
357
358
	}

330431b5   Nathanael Jourdane   Fix a Junit test ...
359
360
361
	/**
	 * Unit test for the class {@link EpnTapConnection#sendQuery(String, String, Query)}.
	 *
e669c5d3   Nathanael Jourdane   Improve Javadoc.
362
	 * @throws VOTableException Can not get the VOTable resulting the query.
330431b5   Nathanael Jourdane   Fix a Junit test ...
363
	 */
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
364
	@Test
e669c5d3   Nathanael Jourdane   Improve Javadoc.
365
	public void sendADQLQueryWithSchemaNameTest() throws VOTableException {
fd93317f   Nathanael Jourdane   Solve Sonar/Eclip...
366
		LOGGER.info("sendADQLQueryWithSchemaNameTest");
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
367
		EpnTapConnection facade = new EpnTapConnection();
99642cfe   Nathanael Jourdane   Improve unit test...
368
		List<Granule> granules = facade.sendQuery(SERVICE_EPNCOREV2_ACCESS_URL,
125adfc1   Nathanael Jourdane   Use enumerated qu...
369
				SERVICE_EPNCOREV2_TABLE_NAME, Query.GET_SCENE_FROM_TARGET_AND_TIME_INTERVAL);
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
370

35daa117   Nathanael Jourdane   Improve JUnits te...
371
		assertNotNull("Granules list not returned.", granules);
99642cfe   Nathanael Jourdane   Improve unit test...
372
373
374
		assertEquals(8, granules.size());
		Granule mars = null;
		for (Granule granule : granules) {
6a2d3842   Nathanael Jourdane   Use getters and s...
375
			if ("Mars".equals(granule.getGranuleUid())) {
99642cfe   Nathanael Jourdane   Improve unit test...
376
377
378
379
				mars = granule;
			}
		}
		assertNotNull("granule 'Mars' is not found.", mars);
6a2d3842   Nathanael Jourdane   Use getters and s...
380
381
		assertEquals("4", mars.getObsId());
		assertEquals(new Integer(5), mars.getProcessingLevel());
5d00d3ff   Nathanael Jourdane   #5 Add JUnit test...
382
383
	}
}