__init__.py 2.96 KB
Newer Older
André Anjos's avatar
André Anjos committed
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
#!/usr/bin/env python
# vim: set fileencoding=utf-8 :

###############################################################################
#                                                                             #
# Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/           #
# Contact: beat.support@idiap.ch                                              #
#                                                                             #
# This file is part of the beat.cmdline module of the BEAT platform.          #
#                                                                             #
# Commercial License Usage                                                    #
# Licensees holding valid commercial BEAT licenses may use this file in       #
# accordance with the terms contained in a written agreement between you      #
# and Idiap. For further information contact tto@idiap.ch                     #
#                                                                             #
# Alternatively, this file may be used under the terms of the GNU Affero      #
# Public License version 3 as published by the Free Software and appearing    #
# in the file LICENSE.AGPL included in the packaging of this file.            #
# The BEAT platform is distributed in the hope that it will be useful, but    #
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY  #
# or FITNESS FOR A PARTICULAR PURPOSE.                                        #
#                                                                             #
# You should have received a copy of the GNU Affero Public License along      #
# with the BEAT platform. If not, see http://www.gnu.org/licenses/.           #
#                                                                             #
###############################################################################

# Basic setup for command test

import os

import six.moves.urllib as urllib

from beat.core.test import prefix, tmp_prefix, teardown_package

platform = os.environ.get('BEAT_CMDLINE_TEST_PLATFORM', '')

disconnected = True
if platform:

  # the special name 'django' makes as believe it is connected
  if platform.startswith('django://'):
    # sets up django infrastructure, preloads test data
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', platform[9:])
    import django
    django.setup()

    # presets django database for tests
    from django.core.management import call_command
    call_command('install', 'test', interactive=False, verbose=1)

    disconnected = False

  else: #test it, actually
    # some patching to prevent common problems
    if not platform.endswith('/'): platform += '/'
    if not platform.startswith('http'): platform = 'http://' + platform
    try:
      code = urllib.request.urlopen(platform).getcode()
      disconnected = code != 200
    except IOError, urllib.URLError:
      disconnected = True
else:
  platform = 'User did not set $BEAT_CMDLINE_TEST_PLATFORM'

user = 'user'
token = '4'