source: exist/trunk/python/ndgutilstests/test_DocumentRetrieve.py @ 4488

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/exist/trunk/python/ndgutilstests/test_DocumentRetrieve.py@4488
Revision 4488, 4.7 KB checked in by cbyrom, 12 years ago (diff)

Move ndgUtils tests to their own test structure + fix various broken tests. Also move some utility methods from the MILK codebase to ndgUtils utility modules.

Line 
1"""
2Test cases for the DocumentRetrieve module
3
4NERC Data Grid Project
5"""
6__author__ = "C Byrom - Tessella"
7__date__ = "03/09/08"
8__copyright__ = "(C) 2008 STFC & NERC"
9__license__ = \
10"""This software may be distributed under the terms of the Q Public
11License, version 1.0 or later."""
12__contact__ = "b.n.lawrence@rl.ac.uk"
13__revision__ = '$Id: $'
14
15import logging, unittest
16from ndgUtils.DocumentRetrieve import *
17from ndgUtils.ndgRetrieve import *
18import testconstants as tc
19from ndgUtils.ndgObject import ndgObject as no
20
21logging.basicConfig(level=logging.DEBUG,
22                        format='%(asctime)s %(filename)s:%(lineno)d %(levelname)s %(message)s')
23
24class TestCase(unittest.TestCase): 
25   
26    def testHTTPget(self):
27        ''' Try a remote get with no frills'''
28        s='http://www.google.co.uk'
29        x = genericHTTP(proxyServer='http://wwwcache3.rl.ac.uk:8080/')
30        y=x.get(s)
31        self.assertNotEquals(y.find('Google'), -1)
32   
33    def testNdgHTTPUriget(self):
34        ''' Try a remote get with no frills'''
35        s='badc.nerc.ac.uk__NDG-B1__dataent_chablis'
36        dr = ndgHTTP(tc.VALID_PROVIDER_ID, \
37                                       proxyServer="http://wwwcache3.rl.ac.uk:8080/")
38        doc = dr.uriget(s)
39        self.assertNotEquals(doc.find(s), -1)
40       
41    def testVocabServer(self):
42        ''' Test the vocabServer '''
43        v = ndgVocabPOX(proxyServer="http://wwwcache3.rl.ac.uk:8080/")
44        res = v.getRelated('rain')
45        self.assertEquals(res[1][0], 'rain')
46       
47    def testNdgHTTP(self):
48        dr = ndgHTTP(tc.VALID_PROVIDER_ID, \
49                                       proxyServer="http://wwwcache3.rl.ac.uk:8080/")
50        doc = dr.get(tc.VALID_PROVIDER_ID, \
51                     no.MOLES_DOC_TYPE, tc.VALID_MOLES_DOC_ID)
52        self.assertNotEquals(doc.find(tc.VALID_MOLES_DOC_ID), -1)
53       
54    def testGetDIF(self):
55        dr = DocumentRetrieve.DocumentRetrieve(tc.VALID_REPOSITORY)
56        doc = dr.get(tc.VALID_PROVIDER_ID, no.DIF_DOC_TYPE, \
57                     tc.VALID_MOLES_DOC_ID, targetCollection = MOLES_COLLECTION)
58        self.assertNotEquals(doc.find(tc.VALID_MOLES_DOC_ID), -1)
59       
60    def OFFtestGetMDIP(self):
61        # TODO: switch back on once the MDIP tranform has been fixed
62        dr = DocumentRetrieve.DocumentRetrieve(tc.VALID_REPOSITORY)
63        doc = dr.get(tc.VALID_PROVIDER_ID, no.MDIP_DOC_TYPE, \
64                     tc.VALID_MOLES_DOC_ID, targetCollection = MOLES_COLLECTION)
65        self.assertNotEquals(doc.find(tc.VALID_MOLES_DOC_ID), -1)
66       
67    def testGetISO(self):
68        dr = DocumentRetrieve.DocumentRetrieve(tc.VALID_REPOSITORY)
69        doc = dr.get(tc.VALID_PROVIDER_ID, no.ISO_DOC_TYPE, \
70                     tc.VALID_MOLES_DOC_ID, targetCollection = MOLES_COLLECTION)
71        self.assertNotEquals(doc.find(tc.VALID_MOLES_DOC_ID), -1)
72               
73    def testGetISO(self):
74        dr = DocumentRetrieve.DocumentRetrieve(tc.VALID_REPOSITORY)
75        doc = dr.get(tc.VALID_PROVIDER_ID, no.ISO_DOC_TYPE, \
76                     tc.VALID_MOLES_DOC_ID, targetCollection = MOLES_COLLECTION)
77        self.assertNotEquals(doc.find(tc.VALID_MOLES_DOC_ID), -1)
78               
79    def testGetDC(self):
80        dr = DocumentRetrieve.DocumentRetrieve(tc.VALID_REPOSITORY)
81        doc = dr.get(tc.VALID_PROVIDER_ID, no.DC_DOC_TYPE, \
82                     tc.VALID_MOLES_DOC_ID, targetCollection = MOLES_COLLECTION)
83        self.assertNotEquals(doc.find(tc.VALID_MOLES_DOC_ID), -1)
84                       
85    def testGetNumSim(self):
86        dr = DocumentRetrieve.DocumentRetrieve(tc.VALID_REPOSITORY)
87        doc = dr.get(tc.VALID_PROVIDER_ID, no.NUMSIM_DOC_TYPE, \
88                     tc.VALID_NUMSIM_DOC_ID, targetCollection = NUMSIM_COLLECTION)
89        self.assertNotEquals(doc.find(tc.VALID_NUMSIM_DOC_ID), -1)
90                       
91    def testGetAtom(self):
92        dr = DocumentRetrieve.DocumentRetrieve(tc.VALID_REPOSITORY)
93        doc = dr.get(tc.VALID_PROVIDER_ID, no.ATOM_DOC_TYPE, \
94                     tc.VALID_ATOM_DOC_ID, targetCollection = ATOM_COLLECTION)
95        self.assertNotEquals(doc.find(tc.VALID_ATOM_DOC_ID), -1)
96                       
97    def testGetInvalidAtom(self):
98        dr = DocumentRetrieve.DocumentRetrieve(tc.VALID_REPOSITORY)
99        self.assertRaises(ValueError, dr.get, tc.VALID_PROVIDER_ID, no.ATOM_DOC_TYPE, \
100                     tc.VALID_ATOM_DOC_ID + "blah", targetCollection = ATOM_COLLECTION)
101                       
102    def testGetAtomBackup(self):
103        dr = DocumentRetrieve.DocumentRetrieve(tc.VALID_REPOSITORY)
104        doc = dr.get(tc.VALID_PROVIDER_ID, no.ATOM_BACKUP_DOC_TYPE, \
105                     tc.VALID_ATOM_DOC_ID, targetCollection = ATOM_BACKUP_COLLECTION)
106        self.assertNotEquals(doc.find(tc.VALID_ATOM_DOC_ID), -1)
107       
Note: See TracBrowser for help on using the repository browser.