#!/usr/bin/env python # encoding: utf-8 import unittest from helper import (APP_KEY, APP_SECRET, AUTH_HOST, API_HOST, VERSION, BASE_URL, PY2, PY3, mock_request) from jizhi import Client, GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH c = Client(APP_KEY, APP_SECRET, AUTH_HOST, API_HOST, VERSION) c.set_access_token('token') if PY2: import new c.request = new.instancemethod(mock_request, c, Client) if PY3: import types c.request = types.MethodType(mock_request, c) class TestEndPoint(unittest.TestCase): def test_users(self): """ POST /Users """ Users = c['Users'] res = POST(Users) self.assertEqual(res.request.headers['Authorization'], 'token') self.assertEqual(res.request.method, 'POST') self.assertEqual(res.request.url, "%s/Users" % (BASE_URL)) def test_users_me(self):
#!/usr/bin/env python # encoding: utf-8 import os import sys sys.path.append(os.path.realpath(__file__ + '/../..')) from jizhi import POST, Client from constants import APP_KEY, APP_SECRET, AUTH_HOST, API_HOST, API_VERSION c = Client(APP_KEY, APP_SECRET, AUTH_HOST, API_HOST, API_VERSION) # 相关 api 参考: http://developer.crowdsdom.com/ # 1. 身份验证,获取 access_token access_token = c.get_access_token() print('access_token: %s' % access_token) # 2. 发布任务 # POST /Jobs Jobs = c['Jobs'] job_settings = { "title": "微博情感分析", "description": "判断博文中所表达的情绪", "keywords": ["情感分析", "微博"], "questionsType": "internalQuestionsForm", "internalQuestionsForm": { "questions": [{ "id": "sentiment", "title": "黄山温泉太啃外地人了一张票298而本地人却58太不合理了!", "isRequired": True, "answerType": "selectionAnswer", "selectionAnswerSpec": {
#!/usr/bin/env python # encoding: utf-8 import unittest from helper import (APP_KEY, APP_SECRET, AUTH_HOST, API_HOST, VERSION, ACCESS_TOKEN, USER_ID, mocker) from factory import JOB from jizhi import Client, ApiError, GET, POST c = Client(APP_KEY, APP_SECRET, AUTH_HOST, API_HOST, VERSION) class TestAPI(unittest.TestCase): def setUp(self): mocker.start() def tearDown(self): mocker.stop() def test_without_authorizated(self): """ it should return 401 if has not authorizated """ access_token = c.access_token c.set_access_token('') Users = c['Users'] with self.assertRaises(ApiError) as cm: GET(Users.me) self.assertEqual(cm.exception.status_code, 401)
#!/usr/bin/env python # encoding: utf-8 import os import sys sys.path.append(os.path.realpath(__file__ + '/../..')) from jizhi import GET, Client from constants import APP_KEY, APP_SECRET, AUTH_HOST, API_HOST, API_VERSION c = Client(APP_KEY, APP_SECRET, AUTH_HOST, API_HOST, API_VERSION) # 相关 api 参考: http://developer.crowdsdom.com/ # 1. 身份验证,获取 access_token access_token = c.get_access_token() print('access_token: %s' % access_token) # 2. 获取用户信息 # GET /Users/me Users = c['Users'] me = GET(Users.me) print('me:', me)