Browse Source

Brought README up to date, made changes having to do with moving of

ZSI-specific material to zsi/test/wsdlpy, removed dependencies on
utils.py.
main
David Robertson 21 years ago
parent
commit
a6cbad2a61
5 changed files with 50 additions and 54 deletions
  1. +8
    -24
      test/README
  2. +1
    -1
      test/__init__.py
  3. +37
    -21
      test/test_wsdl.py
  4. +2
    -4
      test/test_wstools.py
  5. +2
    -4
      test/test_wstools_net.py

+ 8
- 24
test/README View File

@@ -1,25 +1,23 @@
Two top level modules have been provided to run the tests. "test_wstools.py" is used
to run all of the local tests. "test_wstools_net.py" is used to run all of the
tests that require network access.
Two top level modules have been provided to run the tests. "test_wstools.py"
is used to run all of the local tests. "test_wstools_net.py" is used to run
all of the tests that require network access.

TESTS:
test_t1 -- Basic test, just checks that wsdl and xsd objects are in the
right places.
Add the -v option for more informative feedback.

ADDING TESTS:
1. For Stand-Alone tests add WSDL FILE to appropriate archive file
Need to add a NEW Archive?:
config.py [files] "archive" -- tuple of all archive files,
config.txt [files] "archive" -- tuple of all archive files,
if you need to create a new archive append the archive
name to the 'archive' tuple.

2. Edit config.py section(s):
2. Edit config.txt section(s):
option -- name by which service will be referenced in test case.
Need an entry under appropriate section(s), this name
must be unique within each section it appears but it may
appear in multiple sections.

config.py "test" sections:
config.txt "test" sections:
Stand-Alone -- add "option" under [services_by_file]
eg. amazon = exports/AmazonWebServices.wsdl

@@ -28,21 +26,7 @@ ADDING TESTS:

Broken -- add "option" under [broken]

3. In test module(s)
a. Add test case:

#eg. test_t1.py
class AmazonTestCase(WSDLToolsTestCase):
def test(self):
self.option = 'amazon'
self.loadFromConfig(CONFIG)

b. Add class name of test case to CASES list.
CASES = [AirportTestCase,
AmazonTestCase,
.... etc

4. Done
3. Done


CONTENTS OF SAMPLE WSDL/XSD:


+ 1
- 1
test/__init__.py View File

@@ -1,5 +1,5 @@
#! /usr/bin/env python
"""wsdl2python and wstools.WSDLTools.WSDLReader tests directory."""
"""wstools.WSDLTools.WSDLReader tests directory."""

import utils


+ 37
- 21
test/test_wsdl.py View File

@@ -6,8 +6,10 @@
###########################################################################

import sys, unittest
import ConfigParser
from ZSI.wstools.Utility import DOM
import utils
from ZSI.wstools.WSDLTools import WSDLReader
from ZSI.wstools.TimeoutSocket import TimeoutError

class WSDLToolsTestCase(unittest.TestCase):

@@ -15,10 +17,7 @@ class WSDLToolsTestCase(unittest.TestCase):
unittest.TestCase.__init__(self, methodName)

def setUp(self):
global configLoader

# not thread safe
self.path = configLoader.nameGenerator.next()
self.path = nameGenerator.next()
print self.path
sys.stdout.flush()

@@ -45,9 +44,17 @@ class WSDLToolsTestCase(unittest.TestCase):
name = DOM.getAttr(cnode, key)
component[name]

def wsdlTestAll(self):
def test_all(self):
try:
self.wsdl = utils.setUpWsdl(self.path)
if self.path[:7] == 'http://':
self.wsdl = WSDLReader().loadFromURL(self.path)
else:
self.wsdl = WSDLReader().loadFromFile(self.path)

except TimeoutError:
print "connection timed out"
sys.stdout.flush()
return
except:
self.path = self.path + ": load failed, unable to start"
raise
@@ -120,25 +127,34 @@ class WSDLToolsTestCase(unittest.TestCase):
self.checkXSDCollection('simpleType', schema.types, node)


def makeTestSuite(section=None):
global configLoader

def setUpOptions(section):
cp = ConfigParser.ConfigParser()
cp.read('config.txt')
if not cp.sections():
print 'fatal error: configuration file config.txt not present'
sys.exit(0)
if not cp.has_section(section):
print '%s section not present in configuration file, exiting' % section
sys.exit(0)
return cp, len(cp.options(section))

def getOption(cp, section):
for name, value in cp.items(section):
yield value
def makeTestSuite(section='services_by_file'):
global nameGenerator

cp, numTests = setUpOptions(section)
nameGenerator = getOption(cp, section)
suite = unittest.TestSuite()
configLoader = utils.MatchTestLoader(False, "config.py", "WSDLToolsTestCase")
if not section:
found = configLoader.setSection(sys.argv)
if not found:
configLoader.setSection("services_by_http")
else:
configLoader.setSection(section)
configLoader.testMethodPrefix = "wsdlTest"
suite.addTest(configLoader.loadTestsFromConfig(WSDLToolsTestCase))
for i in range(0, numTests):
suite.addTest(unittest.makeSuite(WSDLToolsTestCase, 'test_'))
return suite


def main():
loader = utils.MatchTestLoader(False, None, "makeTestSuite")
unittest.main(defaultTest="makeTestSuite", testLoader=loader)
unittest.main(defaultTest="makeTestSuite")

if __name__ == "__main__" : main()

+ 2
- 4
test/test_wstools.py View File

@@ -7,11 +7,10 @@

import unittest, tarfile, os, ConfigParser
import test_wsdl
import utils


SECTION='files'
CONFIG_FILE = 'config.py'
CONFIG_FILE = 'config.txt'

def extractFiles(section, option):
config = ConfigParser.ConfigParser()
@@ -31,8 +30,7 @@ def makeTestSuite():

def main():
extractFiles(SECTION, 'archives')
loader = utils.MatchTestLoader(True, None, "makeTestSuite")
unittest.main(defaultTest="makeTestSuite", testLoader=loader)
unittest.main(defaultTest="makeTestSuite")

if __name__ == "__main__" : main()


+ 2
- 4
test/test_wstools_net.py View File

@@ -6,16 +6,14 @@
###########################################################################
import unittest
import test_wsdl
import utils

def makeTestSuite():
suite = unittest.TestSuite()
suite.addTest(test_wsdl.makeTestSuite(("no_schemas", "simpleTypes", "services_by_http")))
suite.addTest(test_wsdl.makeTestSuite("services_by_http"))
return suite

def main():
loader = utils.MatchTestLoader(True, None, "makeTestSuite")
unittest.main(defaultTest="makeTestSuite", testLoader=loader)
unittest.main(defaultTest="makeTestSuite")

if __name__ == "__main__" : main()


Loading…
Cancel
Save