File: run_sqlalchemy_tests.py

package info (click to toggle)
pymssql 2.1.4%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 952 kB
  • sloc: python: 2,872; sh: 240; makefile: 148; ansic: 7
file content (67 lines) | stat: -rwxr-xr-x 1,903 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
try:
    import ConfigParser
except ImportError:
    import configparser as ConfigParser
import os
import sys
import tarfile
import urllib

SQLALCHEMY_VERSION     = "1.2.11"
SQLALCHEMY_DIR         = "SQLAlchemy-%s" % SQLALCHEMY_VERSION
SQLALCHEMY_TAR_GZ      = "%s.tar.gz" % SQLALCHEMY_DIR
SQLALCHEMY_TAR_GZ_URL = "https://pypi.python.org/packages/source/S/SQLAlchemy/%s" % SQLALCHEMY_TAR_GZ


def download_sqlalchemy_tarball():
    sys.stdout.write('Downloading %s... ' % SQLALCHEMY_TAR_GZ_URL)
    sys.stdout.flush()
    urllib.urlretrieve(SQLALCHEMY_TAR_GZ_URL, SQLALCHEMY_TAR_GZ)
    sys.stdout.write('DONE\n')

def extract_sqlalchemy_tarball():
    tarball = tarfile.open(SQLALCHEMY_TAR_GZ, 'r:gz')
    sys.stdout.write('Extracting %s... ' % SQLALCHEMY_TAR_GZ)
    sys.stdout.flush()
    tarball.extractall('.')
    sys.stdout.write('DONE\n')

def run_sqlalchemy_tests():
    dburi = get_dburi()

    if dburi:
        sys.argv.append('--dburi=%s' % dburi)

    os.chdir('SQLAlchemy-%s' % SQLALCHEMY_VERSION)
    sys.path.append('.')
    sys.stdout.write('Running SQLAlchemy tests...\n\n')
    sys.stdout.flush()

    import sqla_nose

def get_dburi():
    config = ConfigParser.SafeConfigParser()

    config.read(os.path.join(os.path.dirname(__file__), 'tests.cfg'))

    username = config.get('DEFAULT', 'username')
    password = config.get('DEFAULT', 'password')
    server = config.get('DEFAULT', 'server')
    port = config.get('DEFAULT', 'port')
    database = config.get('DEFAULT', 'database')

    return 'mssql+pymssql://%(username)s:%(password)s@%(server)s:%(port)s/%(database)s' % dict(
        username=username,
        password=password,
        server=server,
        port=port,
        database=database)


if not os.path.exists(SQLALCHEMY_TAR_GZ):
    download_sqlalchemy_tarball()

if not os.path.exists(SQLALCHEMY_DIR):
    extract_sqlalchemy_tarball()

run_sqlalchemy_tests()