| Index: tests/test.py
|
| diff --git a/tests/test.py b/tests/test.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..9e14cdaa56ddbb9e6de5f0b5637605fde07cac64
|
| --- /dev/null
|
| +++ b/tests/test.py
|
| @@ -0,0 +1,114 @@
|
| +#!/usr/bin/env python
|
| +# Copyright (c) 2006-2011 Mitch Garnaat http://garnaat.org/
|
| +#
|
| +# Permission is hereby granted, free of charge, to any person obtaining a
|
| +# copy of this software and associated documentation files (the
|
| +# "Software"), to deal in the Software without restriction, including
|
| +# without limitation the rights to use, copy, modify, merge, publish, dis-
|
| +# tribute, sublicense, and/or sell copies of the Software, and to permit
|
| +# persons to whom the Software is furnished to do so, subject to the fol-
|
| +# lowing conditions:
|
| +#
|
| +# The above copyright notice and this permission notice shall be included
|
| +# in all copies or substantial portions of the Software.
|
| +#
|
| +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
| +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
|
| +# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
| +# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
| +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
| +# IN THE SOFTWARE.
|
| +
|
| +"""
|
| +do the unit tests!
|
| +"""
|
| +
|
| +import logging
|
| +import sys
|
| +import unittest
|
| +import getopt
|
| +
|
| +from sqs.test_connection import SQSConnectionTest
|
| +from s3.test_connection import S3ConnectionTest
|
| +from s3.test_versioning import S3VersionTest
|
| +from s3.test_encryption import S3EncryptionTest
|
| +from s3.test_gsconnection import GSConnectionTest
|
| +from s3.test_https_cert_validation import CertValidationTest
|
| +from ec2.test_connection import EC2ConnectionTest
|
| +from autoscale.test_connection import AutoscaleConnectionTest
|
| +from sdb.test_connection import SDBConnectionTest
|
| +from cloudfront.test_signed_urls import CloudfrontSignedUrlsTest
|
| +
|
| +def usage():
|
| + print "test.py [-t testsuite] [-v verbosity]"
|
| + print " -t run specific testsuite (s3|ssl|s3ver|s3nover|gs|sqs|ec2|sdb|all)"
|
| + print " -v verbosity (0|1|2)"
|
| +
|
| +def main():
|
| + try:
|
| + opts, args = getopt.getopt(sys.argv[1:], "ht:v:",
|
| + ["help", "testsuite", "verbosity"])
|
| + except:
|
| + usage()
|
| + sys.exit(2)
|
| + testsuite = "all"
|
| + verbosity = 1
|
| + for o, a in opts:
|
| + if o in ("-h", "--help"):
|
| + usage()
|
| + sys.exit()
|
| + if o in ("-t", "--testsuite"):
|
| + testsuite = a
|
| + if o in ("-v", "--verbosity"):
|
| + verbosity = int(a)
|
| + if len(args) != 0:
|
| + usage()
|
| + sys.exit()
|
| + try:
|
| + tests = suite(testsuite)
|
| + except ValueError:
|
| + usage()
|
| + sys.exit()
|
| + if verbosity > 1:
|
| + logging.basicConfig(level=logging.DEBUG)
|
| + unittest.TextTestRunner(verbosity=verbosity).run(tests)
|
| +
|
| +def suite(testsuite="all"):
|
| + tests = unittest.TestSuite()
|
| + if testsuite == "all":
|
| + tests.addTest(unittest.makeSuite(SQSConnectionTest))
|
| + tests.addTest(unittest.makeSuite(S3ConnectionTest))
|
| + tests.addTest(unittest.makeSuite(EC2ConnectionTest))
|
| + tests.addTest(unittest.makeSuite(SDBConnectionTest))
|
| + tests.addTest(unittest.makeSuite(AutoscaleConnectionTest))
|
| + tests.addTest(unittest.makeSuite(CloudfrontSignedUrlsTest))
|
| + elif testsuite == "s3":
|
| + tests.addTest(unittest.makeSuite(S3ConnectionTest))
|
| + tests.addTest(unittest.makeSuite(S3VersionTest))
|
| + tests.addTest(unittest.makeSuite(S3EncryptionTest))
|
| + elif testsuite == "ssl":
|
| + tests.addTest(unittest.makeSuite(CertValidationTest))
|
| + elif testsuite == "s3ver":
|
| + tests.addTest(unittest.makeSuite(S3VersionTest))
|
| + elif testsuite == "s3nover":
|
| + tests.addTest(unittest.makeSuite(S3ConnectionTest))
|
| + tests.addTest(unittest.makeSuite(S3EncryptionTest))
|
| + elif testsuite == "gs":
|
| + tests.addTest(unittest.makeSuite(GSConnectionTest))
|
| + elif testsuite == "sqs":
|
| + tests.addTest(unittest.makeSuite(SQSConnectionTest))
|
| + elif testsuite == "ec2":
|
| + tests.addTest(unittest.makeSuite(EC2ConnectionTest))
|
| + elif testsuite == "autoscale":
|
| + tests.addTest(unittest.makeSuite(AutoscaleConnectionTest))
|
| + elif testsuite == "sdb":
|
| + tests.addTest(unittest.makeSuite(SDBConnectionTest))
|
| + elif testsuite == "cloudfront":
|
| + tests.addTest(unittest.makeSuite(CloudfrontSignedUrlsTest))
|
| + else:
|
| + raise ValueError("Invalid choice.")
|
| + return tests
|
| +
|
| +if __name__ == "__main__":
|
| + main()
|
|
|