Changeset 3982
- Timestamp:
- 03/06/08 15:23:51 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TI01-discovery/branches/ws-Discovery2-upgrade/src/unittests/ndg/testclient/discovery/DiscoveryServiceClientTest.java
r3964 r3982 1 1 package unittests.ndg.testclient.discovery; 2 2 3 import static org.junit.Assert.*; 4 import junit.framework.TestCase; 3 import static org.junit.Assert.assertEquals; 4 import static org.junit.Assert.assertFalse; 5 import static org.junit.Assert.assertNotNull; 6 import static org.junit.Assert.assertNotSame; 7 import static org.junit.Assert.assertTrue; 8 9 import java.util.Vector; 10 11 import junit.framework.Assert; 12 import ndg.services.discovery.DiscoveryServiceSkeleton; 13 import ndg.services.discovery.Utilities; 14 import ndg.testclient.discovery.DiscoveryServiceClient; 5 15 6 16 import org.junit.AfterClass; 7 17 import org.junit.BeforeClass; 8 18 import org.junit.Test; 9 10 import ndg.services.discovery.DiscoveryServiceSkeleton;11 import ndg.services.discovery.Utilities;12 import ndg.testclient.discovery.*;13 19 14 20 public class DiscoveryServiceClientTest … … 17 23 // this is the dummy doc to use for all tests - NB, it is available under resources and should be ingested 18 24 // using the oai_document_ingester.py script as a badc file 19 private static String DOC_NAME_1 = "dataent_berlin_DIF.xml";25 private static final String DOC_NAME_1 = "badc.nerc.ac.uk__DIF__test_file.xml"; 20 26 27 private static final String DOC_NAME_2 = "badc.nerc.ac.uk__DIF__test_file2.xml"; 28 29 private static final String VALID_TERM = "circulation"; 30 31 private static final String INVALID_BIT = "XXXXXXXXXXFDS"; 32 33 private static final String VALID_AUTHOR = "DUMMY TEST FILE AUTHOR"; 34 35 private static final String VALID_PARAMETER = "unknown"; 36 37 private static final String VALID_SCOPE1 = "NERC_DDC"; 38 39 private static final String VALID_SCOPE2 = "MDIP"; 40 41 private static final String VALID_COLUMN_NAME1 = "original_document_filename"; 42 43 private static final String VALID_COLUMN_NAME2 = "original_document_id"; 44 45 private static final String VALID_START_DATE = "2023-02-02"; 46 47 private static final String VALID_END_DATE = "2055-02-02"; 48 49 private static final String VALID_WIDE_END_DATE = "3023-02-02"; 50 51 private static final String VALID_WIDE_START_DATE = "1023-02-02"; 52 53 private static final String INVALID_START_DATE = "3023-02-02"; 54 55 private static final String INVALID_END_DATE = "3055-02-02"; 21 56 22 57 @BeforeClass … … 34 69 35 70 @Test 36 public void testRunBasicSearch() 37 { 38 String results = client.runSearch(null, null, null, null, null, null, null, 39 null, null, null, null, null, null, null, null); 40 assertNotNull(results); 41 assertFalse(results.contains("<urn:status>false</urn:status>")); 42 } 43 44 @Test 45 public void testRunFullTextTermSearch() 46 { 47 String results = client.runSearch("Radiosonde", "fullText", null, null, null, null, null, 48 null, null, null, null, null, null, null, null); 49 assertNotNull(results); 50 assertFalse(results.contains("<urn:status>false</urn:status>")); 51 } 52 53 @Test 54 public void testEmptyFullTextTermSearch() 55 { 56 String results = client.runSearch("RadiosondeXXXXXVVVVV", "fullText", null, null, null, null, null, 57 null, null, null, null, null, null, null, null); 58 assertNotNull(results); 59 assertTrue(results.contains("<urn:status>false</urn:status>")); 60 } 61 62 @Test 63 public void testRunAuthorTermSearch() 64 { 65 String results = client.runSearch("", "author", null, null, null, null, null, 66 null, null, null, null, null, null, null, null); 67 assertNotNull(results); 68 assertFalse(results.contains("<urn:status>false</urn:status>")); 69 fail("Not implemented yet"); 70 } 71 72 @Test 73 public void testRunParameterTermSearch() 74 { 75 String results = client.runSearch("", "parameter", null, null, null, null, null, 76 null, null, null, null, null, null, null, null); 77 assertNotNull(results); 78 assertFalse(results.contains("<urn:status>false</urn:status>")); 79 fail("Not implemented yet"); 80 } 81 82 @Test 83 public void testRunWrongTermTypeSearch() 71 public void BasicSearch() 72 { 73 String results = client.runSearch(null, null, null, null, null, null, null, 74 null, null, null, null, null, null, null, null); 75 assertNotNull(results); 76 assertFalse(results.contains("<urn:status>false</urn:status>")); 77 } 78 79 @Test 80 public void validFullTextTermSearch() 81 { 82 String results = client.runSearch(VALID_TERM, DiscoveryServiceSkeleton.FULL_TEXT_TERM_TYPE, null, null, null, null, null, 83 null, null, null, null, null, null, null, null); 84 assertNotNull(results); 85 assertFalse(results.contains("<urn:status>false</urn:status>")); 86 } 87 88 @Test 89 public void invalidFullTextTermSearch() 90 { 91 String results = client.runSearch(INVALID_BIT + VALID_TERM, DiscoveryServiceSkeleton.FULL_TEXT_TERM_TYPE, null, null, null, null, null, 92 null, null, null, null, null, null, null, null); 93 assertNotNull(results); 94 assertTrue(results.contains("<urn:status>false</urn:status>")); 95 } 96 97 @Test 98 public void validAuthorTermSearch() 99 { 100 // this fails currently since unsure where the author data should be set and retrieved from 101 // - altho' the data is in the moles file, it has special characters (e.g. %20) as delimiters, which stop the 102 // search from working 103 String results = client.runSearch(VALID_AUTHOR, DiscoveryServiceSkeleton.AUTHOR_TERM_TYPE, null, null, null, null, null, 104 null, null, null, null, null, null, null, null); 105 assertNotNull(results); 106 assertFalse(results.contains("<urn:status>false</urn:status>")); 107 } 108 109 @Test 110 public void invalidAuthorTermSearch() 111 { 112 String results = client.runSearch(INVALID_BIT + VALID_AUTHOR, DiscoveryServiceSkeleton.AUTHOR_TERM_TYPE, null, null, null, null, null, 113 null, null, null, null, null, null, null, null); 114 assertNotNull(results); 115 assertTrue(results.contains("<urn:status>false</urn:status>")); 116 } 117 118 @Test 119 public void validParameterTermSearch() 120 { 121 // as with author search, currently unsure where this should be populated to and retrieved from - so currently fails 122 String results = client.runSearch(VALID_PARAMETER, DiscoveryServiceSkeleton.PARAMETER_TERM_TYPE, null, null, null, null, null, 123 null, null, null, null, null, null, null, null); 124 assertNotNull(results); 125 assertFalse(results.contains("<urn:status>false</urn:status>")); 126 } 127 128 @Test 129 public void invalidParameterTermSearch() 130 { 131 String results = client.runSearch(INVALID_BIT + VALID_PARAMETER, DiscoveryServiceSkeleton.PARAMETER_TERM_TYPE, null, null, null, null, null, 132 null, null, null, null, null, null, null, null); 133 assertNotNull(results); 134 assertTrue(results.contains("<urn:status>false</urn:status>")); 135 } 136 137 @Test 138 public void wrongTermTypeSearch() 84 139 { 85 140 // NB if no term has been set, the code should ignore doing term searches - so won't care about term type … … 91 146 92 147 @Test 93 public void testRunWrongTermTypeSearchWithTerm()148 public void wrongTermTypeSearchWithTerm() 94 149 { 95 150 String results = client.runSearch("blah", "blah", null, null, null, null, null, … … 100 155 101 156 @Test 102 public void testRunMissingTermTypeSearch()157 public void missingTermTypeSearch() 103 158 { 104 159 // NB, if no term type provided, assume full text search 105 String results = client.runSearch( "Radiosonde", null, null, null, null, null, null,106 null, null, null, null, null, null, null, null); 107 assertNotNull(results); 108 assertFalse(results.contains("<urn:status>false</urn:status>")); 109 } 110 111 @Test 112 public void testRunHighStartSearch()160 String results = client.runSearch(VALID_TERM, null, null, null, null, null, null, 161 null, null, null, null, null, null, null, null); 162 assertNotNull(results); 163 assertFalse(results.contains("<urn:status>false</urn:status>")); 164 } 165 166 @Test 167 public void highStartSearch() 113 168 { 114 169 // NB, this will result in no rows being returned … … 120 175 121 176 @Test 122 public void testRunNegativeStartSearch() 123 { 177 public void negativeStartSearch() 178 { 179 // negative values are corrected by the service to 0 124 180 String results = client.runSearch(null, null, "-55", null, null, null, null, 125 181 null, null, null, null, null, null, null, null); … … 129 185 130 186 @Test 131 public void testRunZeroStartSearch()187 public void zeroStartSearch() 132 188 { 133 189 String results = client.runSearch(null, null, "0", null, null, null, null, … … 138 194 139 195 @Test 140 public void testRunZeroStartSearchCompare()196 public void zeroStartSearchCompare() 141 197 { 142 198 String results = client.runSearch(null, null, "0", null, null, null, null, … … 150 206 assertFalse(results1.contains("<urn:status>false</urn:status>")); 151 207 152 assertSame(Utilities.getSubStringCount("<urn:document>", results), 153 Utilities.getSubStringCount("<urn:document>", results1)); 154 } 155 156 @Test 157 public void testRunSmallStartSearch() 208 assertTrue(results.equals(results1)); 209 } 210 211 @Test 212 public void smallStartSearch() 158 213 { 159 214 String results = client.runSearch(null, null, "1", null, null, null, null, … … 164 219 165 220 @Test 166 public void testRunDifferentStartSearch()167 { 168 String results = client.runSearch(null, null, null, null, null, null, null,221 public void differentStartSearchCompare() 222 { 223 String results = client.runSearch(null, null, "0", null, null, null, null, 169 224 null, null, null, null, null, null, null, null); 170 225 assertNotNull(results); … … 176 231 assertFalse(results1.contains("<urn:status>false</urn:status>")); 177 232 178 assertNotSame(results, results1); 179 } 180 181 @Test 182 public void testRunZeroHowManySearch() 183 { 233 assertNotSame(Utilities.getSubStringCount("<urn:document>", results), 234 Utilities.getSubStringCount("<urn:document>", results1)); 235 } 236 237 @Test 238 public void zeroHowManySearch() 239 { 240 // NB, if this is set to =<0 the value reverts to the default of 30 184 241 String results = client.runSearch(null, null, null, "0", null, null, null, 185 242 null, null, null, null, null, null, null, null); … … 189 246 190 247 @Test 191 public void testRunHighHowManySearch()248 public void highHowManySearch() 192 249 { 193 250 String results = client.runSearch(null, null, null, "100", null, null, null, … … 198 255 199 256 @Test 200 public void testRunNegativeHowManySearch() 201 { 257 public void negativeHowManySearch() 258 { 259 // NB, if this is set to =<0 the value reverts to the default of 30 202 260 String results = client.runSearch(null, null, null, "-100", null, null, null, 203 261 null, null, null, null, null, null, null, null); … … 207 265 208 266 @Test 209 public void testRunSmallHowManySearch()267 public void smallHowManySearch() 210 268 { 211 269 String results = client.runSearch(null, null, null, "2", null, null, null, … … 218 276 219 277 @Test 220 public void testRunOrderBySearch() 221 { 222 String results = client.runSearch(null, null, null, null, "original_document_filename", null, null, 223 null, null, null, null, null, null, null, null); 224 assertNotNull(results); 225 assertFalse(results.contains("<urn:status>false</urn:status>")); 226 } 227 228 @Test 229 public void testRunDifferentOrderBySearch() 230 { 231 String results = client.runSearch(null, null, null, null, "original_document_id", null, null, 232 null, null, null, null, null, null, null, null); 233 assertNotNull(results); 234 assertFalse(results.contains("<urn:status>false</urn:status>")); 235 } 236 237 @Test 238 public void testRunDifferentOrderBySearchAndCompare() 239 { 240 String results = client.runSearch(null, null, null, null, "original_document_filename", null, null, 241 null, null, null, null, null, null, null, null); 242 assertNotNull(results); 243 assertFalse(results.contains("<urn:status>false</urn:status>")); 244 245 String results1 = client.runSearch(null, null, null, null, "original_document_id", null, null, 278 public void oneHowManySearch() 279 { 280 String results = client.runSearch(null, null, null, "1", null, null, null, 281 null, null, null, null, null, null, null, null); 282 assertNotNull(results); 283 assertFalse(results.contains("<urn:status>false</urn:status>")); 284 285 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 1); 286 } 287 288 @Test 289 public void orderBySearch() 290 { 291 String results = client.runSearch(null, null, null, null, VALID_COLUMN_NAME1, null, null, 292 null, null, null, null, null, null, null, null); 293 assertNotNull(results); 294 assertFalse(results.contains("<urn:status>false</urn:status>")); 295 } 296 297 @Test 298 public void differentOrderBySearch() 299 { 300 String results = client.runSearch(null, null, null, null, VALID_COLUMN_NAME2, null, null, 301 null, null, null, null, null, null, null, null); 302 assertNotNull(results); 303 assertFalse(results.contains("<urn:status>false</urn:status>")); 304 } 305 306 @Test 307 public void differentOrderBySearchAndCompare() 308 { 309 String results = client.runSearch(null, null, null, null, VALID_COLUMN_NAME1, null, null, 310 null, null, null, null, null, null, null, null); 311 assertNotNull(results); 312 assertFalse(results.contains("<urn:status>false</urn:status>")); 313 314 String results1 = client.runSearch(null, null, null, null, VALID_COLUMN_NAME2, null, null, 246 315 null, null, null, null, null, null, null, null); 247 316 assertNotNull(results1); 248 317 assertFalse(results1.contains("<urn:status>false</urn:status>")); 249 318 250 assert NotSame(results,results1);251 } 252 253 @Test 254 public void testRunWrongOrderBySearch()255 { 256 String results = client.runSearch(null, null, null, null, "blah", null, null,257 null, null, null, null, null, null, null, null); 258 assertNotNull(results); 259 assert False(results.contains("<urn:status>false</urn:status>"));260 } 261 262 @Test 263 public void testRunOrderByDirectionSearch()319 assertFalse(results.equals(results1)); 320 } 321 322 @Test 323 public void wrongOrderBySearch() 324 { 325 String results = client.runSearch(null, null, null, null, INVALID_BIT + VALID_COLUMN_NAME1, null, null, 326 null, null, null, null, null, null, null, null); 327 assertNotNull(results); 328 assertTrue(results.contains("<urn:status>false</urn:status>")); 329 } 330 331 @Test 332 public void orderByDirectionSearch() 264 333 { 265 334 String results = client.runSearch(null, null, null, null, null, "ascending", null, … … 270 339 271 340 @Test 272 public void testRunOrderByWrongDirectionSearch()273 { 274 String results = client.runSearch(null, null, null, null, "original_document_filename", "fred", null,275 null, null, null, null, null, null, null, null); 276 assertNotNull(results); 277 assert False(results.contains("<urn:status>false</urn:status>"));278 } 279 280 @Test 281 public void testRunOrderByDirectionSearchCompare()282 { 283 String results = client.runSearch(null, null, null, null, "original_document_filename", "ascending", null,341 public void orderByWrongDirectionSearch() 342 { 343 String results = client.runSearch(null, null, null, null, VALID_COLUMN_NAME1, "fred", null, 344 null, null, null, null, null, null, null, null); 345 assertNotNull(results); 346 assertTrue(results.contains("<urn:status>false</urn:status>")); 347 } 348 349 @Test 350 public void orderByDefaultDirectionSearchCompare() 351 { 352 String results = client.runSearch(null, null, null, null, VALID_COLUMN_NAME2, "ascending", null, 284 353 null, null, null, null, null, null, null, null); 285 354 assertNotNull(results); … … 289 358 assertNotNull(results1); 290 359 assertFalse(results1.contains("<urn:status>false</urn:status>")); 291 assert Equals(results, results1);292 } 293 294 @Test 295 public void testRunOrderByDifferentDirectionSearch()296 { 297 String results = client.runSearch(null, null, null, null, "original_document_filename", "descending", null,298 null, null, null, null, null, null, null, null); 299 assertNotNull(results); 300 assertFalse(results.contains("<urn:status>false</urn:status>")); 301 } 302 303 @Test 304 public void testRunOrderByDifferentDirectionSearchCompare()305 { 306 String results = client.runSearch(null, null, null, null, "original_document_filename", "descending", null,307 null, null, null, null, null, null, null, null); 308 assertNotNull(results); 309 assertFalse(results.contains("<urn:status>false</urn:status>")); 310 String results1 = client.runSearch(null, null, null, null, "original_document_filename", "ascending", null,360 assertTrue(results.equals(results1)); 361 } 362 363 @Test 364 public void orderByDifferentDirectionSearch() 365 { 366 String results = client.runSearch(null, null, null, null, VALID_COLUMN_NAME1, "descending", null, 367 null, null, null, null, null, null, null, null); 368 assertNotNull(results); 369 assertFalse(results.contains("<urn:status>false</urn:status>")); 370 } 371 372 @Test 373 public void orderByDifferentDirectionSearchCompare() 374 { 375 String results = client.runSearch(null, null, null, null, VALID_COLUMN_NAME1, "descending", null, 376 null, null, null, null, null, null, null, null); 377 assertNotNull(results); 378 assertFalse(results.contains("<urn:status>false</urn:status>")); 379 String results1 = client.runSearch(null, null, null, null, VALID_COLUMN_NAME1, "ascending", null, 311 380 null, null, null, null, null, null, null, null); 312 381 assertNotNull(results1); 313 382 assertFalse(results1.contains("<urn:status>false</urn:status>")); 314 assertNotSame(results, results1); 315 316 } 317 318 @Test 319 public void testRunScopeSearch() 320 { 321 String results = client.runSearch(null, null, null, null, null, null, "", 322 null, null, null, null, null, null, null, null); 323 assertNotNull(results); 324 assertFalse(results.contains("<urn:status>false</urn:status>")); 325 } 326 327 @Test 328 public void testRunWrongScopeSearch() 329 { 330 String results = client.runSearch(null, null, null, null, null, null, "blah", 331 null, null, null, null, null, null, null, null); 332 assertNotNull(results); 333 assertFalse(results.contains("<urn:status>false</urn:status>")); 334 } 335 336 @Test 337 public void testRunSpatialOperatorSearch() 383 assertFalse(results.equals(results1)); 384 } 385 386 @Test 387 public void validScopeSearch() 388 { 389 390 String results = client.runSearch(null, null, null, null, null, null, getVector(VALID_SCOPE1), 391 null, null, null, null, null, null, null, null); 392 assertNotNull(results); 393 assertFalse(results.contains("<urn:status>false</urn:status>")); 394 } 395 396 private Vector<String> getVector(String val) 397 { 398 Vector<String> vector = new Vector<String>(); 399 vector.add(val); 400 return vector; 401 } 402 403 @Test 404 public void validDoubleScopeSearch() 405 { 406 // NB, the default is an 'and' search when multiple scopes are specified 407 Vector<String> vector = getVector(VALID_SCOPE1); 408 vector.add(VALID_SCOPE2); 409 String results = client.runSearch(null, null, null, null, null, null, vector, 410 null, null, null, null, null, null, null, null); 411 assertNotNull(results); 412 assertTrue(results.contains("<urn:status>false</urn:status>")); 413 } 414 415 @Test 416 public void validOrScopeSearch() 417 { 418 // NB, this is a slight hack; can use '|' characters in the scope field to do 'or' searches 419 String results = client.runSearch(null, null, null, null, null, null, 420 getVector(VALID_SCOPE1 + "|" + VALID_SCOPE2), 421 null, null, null, null, null, null, null, null); 422 assertNotNull(results); 423 assertFalse(results.contains("<urn:status>false</urn:status>")); 424 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 2); 425 } 426 427 @Test 428 public void differentValidScopeSearch() 429 { 430 String results = client.runSearch(null, null, null, null, null, null, getVector(VALID_SCOPE2), 431 null, null, null, null, null, null, null, null); 432 assertNotNull(results); 433 assertFalse(results.contains("<urn:status>false</urn:status>")); 434 } 435 436 @Test 437 public void differentValidScopeSearchCompare() 438 { 439 String results = client.runSearch(null, null, null, null, null, null, getVector(VALID_SCOPE1), 440 null, null, null, null, null, null, null, null); 441 assertNotNull(results); 442 assertFalse(results.contains("<urn:status>false</urn:status>")); 443 444 String results2 = client.runSearch(null, null, null, null, null, null, getVector(VALID_SCOPE2), 445 null, null, null, null, null, null, null, null); 446 assertNotNull(results2); 447 assertFalse(results2.contains("<urn:status>false</urn:status>")); 448 } 449 450 @Test 451 public void invalidScopeSearch() 452 { 453 String results = client.runSearch(null, null, null, null, null, null, getVector(INVALID_BIT + VALID_SCOPE1), 454 null, null, null, null, null, null, null, null); 455 assertNotNull(results); 456 assertTrue(results.contains("<urn:status>false</urn:status>")); 457 } 458 459 @Test 460 public void spatialOperatorSearch() 338 461 { 339 462 String results = client.runSearch(null, null, null, null, null, null, null, … … 344 467 345 468 @Test 346 public void testRunSpatialOperatorWithBBoxSearch()469 public void overlapOperatorWithValidBBoxSearch() 347 470 { 348 471 String results = client.runSearch(null, null, null, null, null, null, null, … … 353 476 354 477 @Test 355 public void testRunDifferentSpatialOperatorWithBBoxSearch() 356 { 357 String results = client.runSearch(null, null, null, null, null, null, null, 358 DiscoveryServiceSkeleton.NO_OVERLAP_OPERATOR_TYPE, "80", "-80", "-170.", "170.", null, null, null); 359 assertNotNull(results); 360 assertFalse(results.contains("<urn:status>false</urn:status>")); 361 } 362 363 @Test 364 public void testRunDifferentSpatialOperatorWithBBoxSearchCompare() 478 public void overlapOperatorWithValidBBoxSearchCheckResults() 365 479 { 366 480 String results = client.runSearch(null, null, null, null, null, null, null, … … 368 482 assertNotNull(results); 369 483 assertFalse(results.contains("<urn:status>false</urn:status>")); 484 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 2); 485 } 486 487 @Test 488 public void withinOperatorWithValidBBoxSearch() 489 { 490 String results = client.runSearch(null, null, null, null, null, null, null, 491 DiscoveryServiceSkeleton.WITHIN_OPERATOR_TYPE, "80", "-80", "-170.", "170.", null, null, null); 492 assertNotNull(results); 493 assertFalse(results.contains("<urn:status>false</urn:status>")); 494 } 495 496 @Test 497 public void withinOperatorWithValidBBoxSearchCheckResults() 498 { 499 String results = client.runSearch(null, null, null, null, null, null, null, 500 DiscoveryServiceSkeleton.WITHIN_OPERATOR_TYPE, "80", "-80", "-170.", "170.", null, null, null); 501 assertNotNull(results); 502 assertFalse(results.contains("<urn:status>false</urn:status>")); 503 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 1); 504 } 505 506 @Test 507 public void overlapOperatorWithGlobalBBoxSearch() 508 { 509 String results = client.runSearch(null, null, null, null, null, null, null, 510 DiscoveryServiceSkeleton.OVERLAPS_OPERATOR_TYPE, "90", "-90", "-180.", "180.", null, null, null); 511 assertNotNull(results); 512 assertFalse(results.contains("<urn:status>false</urn:status>")); 513 } 514 515 @Test 516 public void overlapOperatorWithGlobalBBoxSearchCompare() 517 { 518 // NB, global limits should be ignored - so should return the same result as without bbox being specified 519 String results = client.runSearch(null, null, null, null, null, null, null, 520 DiscoveryServiceSkeleton.OVERLAPS_OPERATOR_TYPE, "90", "-90", "-180.", "180.", null, null, null); 521 assertNotNull(results); 522 assertFalse(results.contains("<urn:status>false</urn:status>")); 370 523 371 524 String results1 = client.runSearch(null, null, null, null, null, null, null, 372 DiscoveryServiceSkeleton.OVERLAPS_OPERATOR_TYPE, "80", "-80", "-170.", "170.", null, null, null);525 null, null, null, null, null, null, null, null); 373 526 assertNotNull(results1); 374 527 assertFalse(results1.contains("<urn:status>false</urn:status>")); 375 376 assertNotSame(results, results1); 377 } 378 379 @Test 380 public void testRunBBoxSearch() 381 { 528 assertTrue(results.equals(results1)); 529 } 530 531 @Test 532 public void overlapOperatorWithInvalidBBoxSearch() 533 { 534 String results = client.runSearch(null, null, null, null, null, null, null, 535 DiscoveryServiceSkeleton.OVERLAPS_OPERATOR_TYPE, "90", "89.999", "-180.", "-179.999", null, null, null); 536 assertNotNull(results); 537 assertTrue(results.contains("<urn:status>false</urn:status>")); 538 } 539 540 @Test 541 public void noOverlapSpatialOperatorWithValidBBoxSearch() 542 { 543 String results = client.runSearch(null, null, null, null, null, null, null, 544 DiscoveryServiceSkeleton.NO_OVERLAP_OPERATOR_TYPE, "90", "80", "-180.", "-170.", null, null, null); 545 assertNotNull(results); 546 assertFalse(results.contains("<urn:status>false</urn:status>")); 547 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 1); 548 } 549 550 @Test 551 public void differentSpatialOperatorWithBBoxSearchCompare() 552 { 553 String results = client.runSearch(null, null, null, null, null, null, null, 554 DiscoveryServiceSkeleton.OVERLAPS_OPERATOR_TYPE, "80", "-80", "-170.", "170.", null, null, null); 555 assertNotNull(results); 556 assertFalse(results.contains("<urn:status>false</urn:status>")); 557 558 String results1 = client.runSearch(null, null, null, null, null, null, null, 559 DiscoveryServiceSkeleton.WITHIN_OPERATOR_TYPE, "10", "-10", "-20.", "20.", null, null, null); 560 assertNotNull(results1); 561 assertFalse(results1.contains("<urn:status>false</urn:status>")); 562 assertFalse(results.equals(results1)); 563 } 564 565 @Test 566 public void BBoxSearch() 567 { 568 // assume overlaps operator, if none specified 382 569 String results = client.runSearch(null, null, null, null, null, null, null, 383 570 null, "80", "-80", "-170.", "170.", null, null, null); … … 387 574 388 575 @Test 389 public void testRunWrongBBoxSearch() 390 { 576 public void WrongBBoxSearch() 577 { 578 // TODO: do we need to check E>W, N>S or is this ok as is? 391 579 String results = client.runSearch(null, null, null, null, null, null, null, 392 580 null, "-90", "-80", "-170.", "170.", null, null, null); … … 396 584 397 585 @Test 398 public void testRunTemporalOperatorSearch()586 public void TemporalOperatorSearch() 399 587 { 400 588 System.out.println("Termporal operator not currently implemented??"); … … 406 594 407 595 @Test 408 public void testRunDateRangeSearch() 409 { 410 String results = client.runSearch(null, null, null, null, null, null, null, 411 null, null, null, null, null, null, "2000-02-02", "2008-02-02"); 412 assertNotNull(results); 413 assertFalse(results.contains("<urn:status>false</urn:status>")); 414 } 415 416 @Test 417 public void testRunInvalidDateRangeSearch() 418 { 419 String results = client.runSearch(null, null, null, null, null, null, null, 420 null, null, null, null, null, null, "2010-02-02", "2008-02-02"); 421 assertNotNull(results); 422 assertFalse(results.contains("<urn:status>false</urn:status>")); 423 } 424 425 @Test 426 public void testRunNullDateStartRangeSearch() 427 { 428 String results = client.runSearch(null, null, null, null, null, null, null, 429 null, null, null, null, null, null, null, "2008-02-02"); 430 assertNotNull(results); 431 assertFalse(results.contains("<urn:status>false</urn:status>")); 432 } 433 434 @Test 435 public void testRunNullDateEndRangeSearch() 436 { 437 String results = client.runSearch(null, null, null, null, null, null, null, 438 null, null, null, null, null, null, "2008-02-02", null); 439 assertNotNull(results); 440 assertFalse(results.contains("<urn:status>false</urn:status>")); 441 } 442 443 @Test 444 public void testRunBasicPresent() 596 public void validDateRangeSearch() 597 { 598 String results = client.runSearch(null, null, null, null, null, null, null, 599 null, null, null, null, null, null, VALID_START_DATE, VALID_END_DATE); 600 assertNotNull(results); 601 assertFalse(results.contains("<urn:status>false</urn:status>")); 602 } 603 604 @Test 605 public void validDateRangeSearchCheckResults() 606 { 607 String results = client.runSearch(null, null, null, null, null, null, null, 608 null, null, null, null, null, null, VALID_START_DATE, VALID_END_DATE); 609 assertNotNull(results); 610 assertFalse(results.contains("<urn:status>false</urn:status>")); 611 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 1); 612 } 613 614 @Test 615 public void widerValidDateRangeSearchCheckResults() 616 { 617 String results = client.runSearch(null, null, null, null, null, null, null, 618 null, null, null, null, null, null, VALID_WIDE_START_DATE, VALID_WIDE_END_DATE); 619 assertNotNull(results); 620 assertFalse(results.contains("<urn:status>false</urn:status>")); 621 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 2); 622 } 623 624 @Test 625 public void invalidDateRangeSearch() 626 { 627 String results = client.runSearch(null, null, null, null, null, null, null, 628 null, null, null, null, null, null, INVALID_START_DATE, INVALID_END_DATE); 629 assertNotNull(results); 630 assertTrue(results.contains("<urn:status>false</urn:status>")); 631 } 632 633 @Test 634 public void wrongOrderDateRangeSearch() 635 { 636 String results = client.runSearch(null, null, null, null, null, null, null, 637 null, null, null, null, null, null, INVALID_END_DATE, INVALID_START_DATE); 638 assertNotNull(results); 639 assertTrue(results.contains("<urn:status>false</urn:status>")); 640 } 641 642 @Test 643 public void nullDateStartRangeSearch() 644 { 645 // Generated code is a little ropey atm; if a start date is not defined, this date range is automatically 646 // not set - however if it is it will be - i.e. the end date is not consulted when setting up this object 647 // - this makes it currently impossible to recognise the case where a start date is null and the end date 648 // is set 649 // - NB, would be better to tighten up WSDL definition so that you can/cannot set things up wrongly 650 String results = client.runSearch(null, null, null, null, null, null, null, 651 null, null, null, null, null, null, null, VALID_END_DATE); 652 assertNotNull(results); 653 assertTrue(results.contains("<urn:status>false</urn:status>")); 654 } 655 656 @Test 657 public void nullDateEndRangeSearch() 658 { 659 String results = client.runSearch(null, null, null, null, null, null, null, 660 null, null, null, null, null, null, VALID_START_DATE, null); 661 assertNotNull(results); 662 assertTrue(results.contains("<urn:status>false</urn:status>")); 663 } 664 665 @Test 666 public void basicPresent() 445 667 { 446 668 String results = client.runPresent(new String[]{DOC_NAME_1}, null); … … 450 672 451 673 @Test 452 public void testRunBasicGetListNames() 674 public void basicPresentDIFFormat() 675 { 676 String results = client.runPresent(new String[]{DOC_NAME_1}, DiscoveryServiceSkeleton.DIF_FORMAT); 677 assertNotNull(results); 678 assertFalse(results.contains("<urn:status>false</urn:status>")); 679 } 680 681 @Test 682 public void basicPresentDIFFormatCompare() 683 { 684 // NB, test file is in DIF format - whereas original file, retrieved by default, is also DIF 685 // - ideally this test would pass but owing to discrepancies in the transforms (which need to be addressed!) 686 // it won't. Even then, there is a chance that the ordering of elements in the docs will change so they 687 // still may not match exactly... 688 String results = client.runPresent(new String[]{DOC_NAME_1}, DiscoveryServiceSkeleton.DIF_FORMAT); 689 assertNotNull(results); 690 assertFalse(results.contains("<urn:status>false</urn:status>")); 691 String results1 = client.runPresent(new String[]{DOC_NAME_1}, null); 692 assertNotNull(results1); 693 assertFalse(results1.contains("<urn:status>false</urn:status>")); 694 assertTrue(results.equals(results1)); 695 } 696 697 @Test 698 public void basicPresentOriginalFormatCompare() 699 { 700 // NB, the original format is chosen as default, if null specified, so the two docs should be identical 701 String results = client.runPresent(new String[]{DOC_NAME_1}, DiscoveryServiceSkeleton.ORIGINAL_FORMAT); 702 assertNotNull(results); 703 assertFalse(results.contains("<urn:status>false</urn:status>")); 704 String results1 = client.runPresent(new String[]{DOC_NAME_1}, null); 705 assertNotNull(results1); 706 assertFalse(results1.contains("<urn:status>false</urn:status>")); 707 assertTrue(results.equals(results1)); 708 } 709 710 @Test 711 public void invalidPresent() 712 { 713 String results = client.runPresent(new String[]{INVALID_BIT + DOC_NAME_1}, null); 714 assertNotNull(results); 715 assertTrue(results.contains("<urn:status>false</urn:status>")); 716 } 717 718 @Test 719 public void validMultiplePresent() 720 { 721 String results = client.runPresent(new String[]{DOC_NAME_1, DOC_NAME_2}, null); 722 assertNotNull(results); 723 assertFalse(results.contains("<urn:status>false</urn:status>")); 724 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 2); 725 } 726 727 @Test 728 public void validMultiplePresentDCFormat() 729 { 730 String results = client.runPresent(new String[]{DOC_NAME_1, DOC_NAME_2}, DiscoveryServiceSkeleton.DC_FORMAT); 731 assertNotNull(results); 732 assertFalse(results.contains("<urn:status>false</urn:status>")); 733 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 2); 734 } 735 736 @Test 737 public void invalidMultiplePresent() 738 { 739 String results = client.runPresent(new String[]{DOC_NAME_1, INVALID_BIT + DOC_NAME_2}, null); 740 assertNotNull(results); 741 assertFalse(results.contains("<urn:status>false</urn:status>")); 742 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 1); 743 } 744 745 @Test 746 public void invalidMultiplePresentISOFormat() 747 { 748 String results = client.runPresent(new String[]{DOC_NAME_1, INVALID_BIT + DOC_NAME_2}, 749 DiscoveryServiceSkeleton.ISO19139_FORMAT); 750 assertNotNull(results); 751 assertFalse(results.contains("<urn:status>false</urn:status>")); 752 assertEquals(Utilities.getSubStringCount("<urn:document>", results), 1); 753 } 754 755 @Test 756 public void basicGetListNames() 453 757 { 454 758 String results = client.runGetListNames(); … … 458 762 459 763 @Test 460 public void testRunBasicGetList() 461 { 462 String results = client.runGetList(DiscoveryServiceSkeleton.LIST_NAMES[0]); 463 assertNotNull(results); 464 assertFalse(results.contains("<urn:status>false</urn:status>")); 764 public void basicGetList() 765 { 766 try 767 { 768 String results = client.runGetList(DiscoveryServiceSkeleton.LIST_NAMES[0]); 769 assertNotNull(results); 770 assertFalse(results.contains("<urn:status>false</urn:status>")); 771 } 772 catch (Exception e) 773 { 774 Assert.fail("Exception thrown: " + e.getMessage()); 775 } 776 } 777 778 @Test 779 public void invalidGetList() 780 { 781 try 782 { 783 client.runGetList(INVALID_BIT); 784 Assert.fail("An AxisFault exception should have been thrown"); 785 } 786 catch (Exception e) 787 { 788 assertTrue(e.getMessage().contains(DiscoveryServiceSkeleton.INVALID_LIST_NAME_MESSAGE)); 789 } 790 } 791 792 @Test 793 public void emptyGetList() 794 { 795 try 796 { 797 client.runGetList(""); 798 Assert.fail("An AxisFault exception should have been thrown"); 799 } 800 catch (Exception e) 801 { 802 assertTrue(e.getMessage().contains(DiscoveryServiceSkeleton.INVALID_LIST_NAME_MESSAGE)); 803 } 465 804 } 466 805
Note: See TracChangeset
for help on using the changeset viewer.