Exemplo n.º 1
0
#!/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):
Exemplo n.º 2
0
#!/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": {
Exemplo n.º 3
0
#!/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)
Exemplo n.º 4
0
#!/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)