Changeset 3982 for TI01-discovery


Ignore:
Timestamp:
03/06/08 15:23:51 (11 years ago)
Author:
cbyrom
Message:

Increate test suite to ~ 70 tests. NB, three tests fail - these are documented
in the readme.txt docs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery/branches/ws-Discovery2-upgrade/src/unittests/ndg/testclient/discovery/DiscoveryServiceClientTest.java

    r3964 r3982  
    11package unittests.ndg.testclient.discovery; 
    22 
    3 import static org.junit.Assert.*; 
    4 import junit.framework.TestCase; 
     3import static org.junit.Assert.assertEquals; 
     4import static org.junit.Assert.assertFalse; 
     5import static org.junit.Assert.assertNotNull; 
     6import static org.junit.Assert.assertNotSame; 
     7import static org.junit.Assert.assertTrue; 
     8 
     9import java.util.Vector; 
     10 
     11import junit.framework.Assert; 
     12import ndg.services.discovery.DiscoveryServiceSkeleton; 
     13import ndg.services.discovery.Utilities; 
     14import ndg.testclient.discovery.DiscoveryServiceClient; 
    515 
    616import org.junit.AfterClass; 
    717import org.junit.BeforeClass; 
    818import org.junit.Test; 
    9  
    10 import ndg.services.discovery.DiscoveryServiceSkeleton; 
    11 import ndg.services.discovery.Utilities; 
    12 import ndg.testclient.discovery.*; 
    1319 
    1420public class DiscoveryServiceClientTest 
     
    1723        // this is the dummy doc to use for all tests - NB, it is available under resources and should be ingested 
    1824        // 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"; 
    2026         
     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"; 
    2156 
    2257        @BeforeClass 
     
    3469 
    3570        @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()  
    84139        { 
    85140                // NB if no term has been set, the code should ignore doing term searches - so won't care about term type 
     
    91146 
    92147        @Test 
    93         public void testRunWrongTermTypeSearchWithTerm()  
     148        public void wrongTermTypeSearchWithTerm()  
    94149        { 
    95150                String results = client.runSearch("blah", "blah", null, null, null, null, null,  
     
    100155 
    101156        @Test 
    102         public void testRunMissingTermTypeSearch()  
     157        public void missingTermTypeSearch()  
    103158        { 
    104159                // 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()  
    113168        { 
    114169                // NB, this will result in no rows being returned 
     
    120175 
    121176        @Test 
    122         public void testRunNegativeStartSearch()  
    123         { 
     177        public void negativeStartSearch()  
     178        { 
     179                // negative values are corrected by the service to 0 
    124180                String results = client.runSearch(null, null, "-55", null, null, null, null,  
    125181                                null, null, null, null, null, null, null, null); 
     
    129185 
    130186        @Test 
    131         public void testRunZeroStartSearch()  
     187        public void zeroStartSearch()  
    132188        { 
    133189                String results = client.runSearch(null, null, "0", null, null, null, null,  
     
    138194 
    139195        @Test 
    140         public void testRunZeroStartSearchCompare()  
     196        public void zeroStartSearchCompare()  
    141197        { 
    142198                String results = client.runSearch(null, null, "0", null, null, null, null,  
     
    150206                assertFalse(results1.contains("<urn:status>false</urn:status>")); 
    151207                 
    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()  
    158213        { 
    159214                String results = client.runSearch(null, null, "1", null, null, null, null,  
     
    164219 
    165220        @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,  
    169224                                null, null, null, null, null, null, null, null); 
    170225                assertNotNull(results); 
     
    176231                assertFalse(results1.contains("<urn:status>false</urn:status>")); 
    177232                 
    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 
    184241                String results = client.runSearch(null, null, null, "0", null, null, null,  
    185242                                null, null, null, null, null, null, null, null); 
     
    189246 
    190247        @Test 
    191         public void testRunHighHowManySearch()  
     248        public void highHowManySearch()  
    192249        { 
    193250                String results = client.runSearch(null, null, null, "100", null, null, null,  
     
    198255 
    199256        @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 
    202260                String results = client.runSearch(null, null, null, "-100", null, null, null,  
    203261                                null, null, null, null, null, null, null, null); 
     
    207265 
    208266        @Test 
    209         public void testRunSmallHowManySearch()  
     267        public void smallHowManySearch()  
    210268        { 
    211269                String results = client.runSearch(null, null, null, "2", null, null, null,  
     
    218276 
    219277        @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,  
    246315                                null, null, null, null, null, null, null, null); 
    247316                assertNotNull(results1); 
    248317                assertFalse(results1.contains("<urn:status>false</urn:status>")); 
    249318                 
    250                 assertNotSame(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                 assertFalse(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()  
    264333        { 
    265334                String results = client.runSearch(null, null, null, null, null, "ascending", null,  
     
    270339 
    271340        @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                 assertFalse(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,  
    284353                                null, null, null, null, null, null, null, null); 
    285354                assertNotNull(results); 
     
    289358                assertNotNull(results1); 
    290359                assertFalse(results1.contains("<urn:status>false</urn:status>")); 
    291                 assertEquals(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,  
    311380                                null, null, null, null, null, null, null, null); 
    312381                assertNotNull(results1); 
    313382                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()  
    338461        { 
    339462                String results = client.runSearch(null, null, null, null, null, null, null,  
     
    344467 
    345468        @Test 
    346         public void testRunSpatialOperatorWithBBoxSearch()  
     469        public void overlapOperatorWithValidBBoxSearch()  
    347470        { 
    348471                String results = client.runSearch(null, null, null, null, null, null, null,  
     
    353476 
    354477        @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()  
    365479        { 
    366480                String results = client.runSearch(null, null, null, null, null, null, null,  
     
    368482                assertNotNull(results); 
    369483                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>")); 
    370523 
    371524                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); 
    373526                assertNotNull(results1); 
    374527                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 
    382569                String results = client.runSearch(null, null, null, null, null, null, null,  
    383570                                null, "80", "-80", "-170.", "170.", null, null, null); 
     
    387574 
    388575        @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? 
    391579                String results = client.runSearch(null, null, null, null, null, null, null,  
    392580                                null, "-90", "-80", "-170.", "170.", null, null, null); 
     
    396584 
    397585        @Test 
    398         public void testRunTemporalOperatorSearch()  
     586        public void TemporalOperatorSearch()  
    399587        { 
    400588                System.out.println("Termporal operator not currently implemented??"); 
     
    406594 
    407595        @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()  
    445667        { 
    446668                String results = client.runPresent(new String[]{DOC_NAME_1}, null); 
     
    450672 
    451673        @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()  
    453757        { 
    454758                String results = client.runGetListNames(); 
     
    458762 
    459763        @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                } 
    465804        } 
    466805 
Note: See TracChangeset for help on using the changeset viewer.