コード例 #1
0
ファイル: test_iterables.py プロジェクト: hotteshen/pynodebb
    def test_next_when_multi_page(self):
        client = Client('http://localhost:4567', 'master_token123')
        resources = GenericResourceIterable(client.http_client, {
            'resources': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
            'pagination': {
                'next': {
                    'active': True,
                    'qs': 'page=2',
                },
            },
            'slug': '1/resource-slug',
        })

        # 2nd page of resource items (NodeBB pagination).
        endpoint = 'http://localhost:4567/api/resource/1/resource-slug?page=2'
        response_body = {
            'resources': [11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
            'pagination': {
                'next': {'active': False},
            },
        }

        httpretty.register_uri(
            httpretty.GET, endpoint,
            body=json.dumps(response_body),
            status=200, content_type='application/json'
        )
        self.assertEquals(len([r for r in resources]), 20)
コード例 #2
0
ファイル: test_iterables.py プロジェクト: hotteshen/pynodebb
    def test_get_page(self):
        client = Client('http://localhost:4567', 'master_token123')
        resources = GenericResourceIterable(client.http_client, {
            'resource_count': 21,
            'currentPage': 1,
            'slug': '1/resource-slug',
        })

        page_number = 2
        endpoint = 'http://localhost:4567/api/resource/1/resource-slug?page=%d' % page_number
        response_body = {
            'resource_count': 21,
            'currentPage': 2,
            'slug': '1/resource-slug',
        }

        httpretty.register_uri(
            httpretty.GET, endpoint,
            body=json.dumps(response_body),
            status=200, content_type='application/json'
        )

        resources_2 = resources.page(2)
        self.assertEquals(resources.current_page, 1)
        self.assertEquals(resources_2.current_page, 2)
コード例 #3
0
    def test_get_user_with_username(self):
        client = Client('http://localhost:4567', 'master_tokenxxx')

        invalid_json = '{...}'
        httpretty.register_uri(httpretty.GET,
                               'http://localhost:4567/test-empty',
                               body=invalid_json,
                               status=200,
                               content_type='application/json')

        status_code, response = client.http_client.get('/test-empty')
        self.assertEquals(status_code, 200)
        self.assertDictEqual(response, {})
コード例 #4
0
ファイル: test_iterables.py プロジェクト: hotteshen/pynodebb
    def test_get_page_err(self):
        client = Client('http://localhost:4567', 'master_token123')
        resources = GenericResourceIterable(client.http_client, {
            'resource_count': 21,
            'currentPage': 1,
            'slug': '1/resource-slug',
        })

        page_number = 2
        endpoint = 'http://localhost:4567/api/resource/1/resource-slug?page=%d' % page_number
        httpretty.register_uri(
            httpretty.GET, endpoint,
            body='{"code":"bad-request","message":"..."}',
            status=408, content_type='application/json'
        )
        self.assertRaises(InvalidPage, resources.page, page_number)
コード例 #5
0
ファイル: test_iterables.py プロジェクト: hotteshen/pynodebb
    def test_next_http_error(self):
        client = Client('http://localhost:4567', 'master_token123')
        resources = GenericResourceIterable(client.http_client, {
            'resources': [1, 2, 3, 4, 5],
            'pagination': {
                'next': {
                    'active': True,
                    'qs': 'page=2',
                },
            },
            'slug': '1/resource-slug',
        })

        # 2nd page of resource items (NodeBB pagination) - timeout.
        endpoint = 'http://localhost:4567/api/resource/1/resource-slug?page=2'
        httpretty.register_uri(
            httpretty.GET, endpoint,
            body='{"code":"bad-request","message":"..."}',
            status=408, content_type='application/json'
        )
        self.assertEquals(len([r for r in resources]), 5)
コード例 #6
0
ファイル: test_mixins.py プロジェクト: hotteshen/pynodebb
 def setUp(self):
     self.client = Client('http://localhost:4567', 'master_token123')
     self.resources = GenericResource(self.client.http_client)
コード例 #7
0
 def test_should_set_bearer_headers(self):
     client = Client('http://localhost:4567', 'master_tokenxxx')
     self.assertEquals(client.http_client.headers,
                       {'Authorization': 'Bearer %s' % 'master_tokenxxx'})
コード例 #8
0
 def test_should_set_default_admin_uid(self):
     client = Client('http://localhost:4567', 'master_tokenxxx')
     self.assertEquals(client.http_client.admin_uid, settings['admin_uid'])
コード例 #9
0
ファイル: test_topics.py プロジェクト: hotteshen/pynodebb
 def setUp(self):
     self.client = Client('http://localhost:4567', 'master_token123')
コード例 #10
0
from __future__ import print_function
from pynodebb import Client
from token import *
import pyotherside

client = Client('https://sailfishos.club', token)
client.configure(**{'page_size': 20})


def login(user, password):
    status_code, userInfo = client.users.login(user, password)
    if not status_code:
        return False
    return userInfo


def post(title, content, uid, cid):
    status_code, response = client.topics.create(uid, cid, title, content)
    if not status_code or status_code != 200:
        return False
    return True


def getrecent():
    status_code, topics = client.topics.get_recent()


def listcategory():
    status_code, categories = client.categories.list()
    for category in categories:
        print(category["cid"], category["name"])