2017-01-13 13:50:39 +01:00
|
|
|
#!/usr/bin/env python
|
|
|
|
from __future__ import print_function
|
|
|
|
|
|
|
|
import os
|
|
|
|
import sys
|
|
|
|
|
|
|
|
try:
|
|
|
|
import django
|
|
|
|
except ImportError as e:
|
|
|
|
print("ImportError: {}".format(e))
|
|
|
|
print("You need to run the Zulip tests inside a Zulip dev environment.")
|
|
|
|
print("If you are using Vagrant, you can `vagrant ssh` to enter the Vagrant guest.")
|
|
|
|
sys.exit(1)
|
|
|
|
|
|
|
|
TOOLS_DIR = os.path.dirname(__file__)
|
|
|
|
ROOT_DIR = os.path.dirname(TOOLS_DIR)
|
|
|
|
sys.path.insert(0, ROOT_DIR)
|
|
|
|
|
|
|
|
api_path = os.path.abspath(os.path.join(ROOT_DIR, 'api'))
|
|
|
|
if not os.path.exists(api_path):
|
|
|
|
raise Exception('programming error--files probably got moved')
|
|
|
|
|
|
|
|
sys.path.insert(0, api_path)
|
|
|
|
from zulip import Client
|
|
|
|
|
|
|
|
from tools.lib.test_server import test_server_running
|
|
|
|
from tools.lib.api_tests import test_the_api
|
|
|
|
|
|
|
|
os.environ['DJANGO_SETTINGS_MODULE'] = 'zproject.test_settings'
|
|
|
|
django.setup()
|
|
|
|
from zerver.models import get_user_profile_by_email
|
|
|
|
|
|
|
|
|
|
|
|
with test_server_running():
|
|
|
|
email = 'iago@zulip.com' # Iago is an admin
|
|
|
|
api_key = get_user_profile_by_email(email).api_key
|
|
|
|
site = 'http://127.0.0.1:9981'
|
|
|
|
|
|
|
|
client = Client(
|
|
|
|
email=email,
|
|
|
|
api_key=api_key,
|
|
|
|
site=site)
|
|
|
|
|
2017-01-26 01:42:09 +01:00
|
|
|
print("Running API tests...")
|
2017-01-13 13:50:39 +01:00
|
|
|
test_the_api(client)
|
2017-01-26 01:42:09 +01:00
|
|
|
|
|
|
|
print("API tests passed!")
|