def test_delete_user():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.auth_key = AUTH
    user = PubNub(config).delete_user()
    with pytest.raises(PubNubException):
        user.build_path()

    user.user_id('foo')
    assert user.build_path() == DeleteUser.DELETE_USER_PATH % (SUB_KEY, 'foo')
    assert AUTH == user.build_params_callback()({})['auth']
def test_delete_space():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.auth_key = AUTH
    space = PubNub(config).delete_space()
    with pytest.raises(PubNubException):
        space.build_path()

    space.space_id('foo')
    assert space.build_path() == DeleteSpace.DELETE_DELETE_PATH % (SUB_KEY,
                                                                   'foo')
    assert AUTH == space.build_params_callback()({})['auth']
def test_get_user():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.auth_key = AUTH
    user = PubNub(config).get_user()
    user.include(['a', 'b'])
    with pytest.raises(PubNubException):
        user.build_path()

    user.user_id('foo')
    assert user.build_path() == GetUser.GET_USER_PATH % (SUB_KEY, 'foo')

    params = user.custom_params()
    assert params['include'] == ['a', 'b']
    assert AUTH == user.build_params_callback()({})['auth']
Пример #4
0
def test_get_space():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.auth_key = AUTH
    space = PubNub(config).get_space()
    space.include(['a', 'b'])
    with pytest.raises(PubNubException):
        space.build_path()

    space.space_id('foo')
    assert space.build_path() == GetSpace.GET_SPACE_PATH % (SUB_KEY, 'foo')

    params = space.custom_params()
    assert params['include'] == ['a', 'b']
    assert AUTH == space.build_params_callback()({})['auth']
def test_get_members():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.auth_key = AUTH
    membership = PubNub(config).get_members()
    membership.include(['a', 'b']).limit(30).end('XXX')

    with pytest.raises(PubNubException):
        membership.validate_params()

    membership.space_id('foo')
    assert membership.build_path() == GetMembers.GET_MEMBERS_PATH % (SUB_KEY, 'foo')

    params = membership.custom_params()
    assert params['include'] == 'a,b'
    assert params['limit'] == 30
    assert params['end'] == 'XXX'
    assert 'count' not in params

    membership.start('YYY').count(True)
    params = membership.custom_params()
    assert 'end' not in params
    assert params['start'] == 'YYY'
    assert params['count'] is True

    assert AUTH == membership.build_params_callback()({})['auth']
def test_manage_memberships():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.auth_key = AUTH
    membership = PubNub(config).manage_memberships()
    membership.include(['custom']).limit(30).end('XXX')

    with pytest.raises(PubNubException):
        membership.validate_params()

    membership.user_id('foo')
    assert membership.build_path(
    ) == ManageMemberships.MANAGE_MEMBERSHIPS_PATH % (SUB_KEY, 'foo')

    params = membership.custom_params()
    assert params['include'] == 'custom'
    assert params['limit'] == 30
    assert params['end'] == 'XXX'
    assert 'count' not in params

    membership.start('YYY').count(True)
    params = membership.custom_params()
    assert 'end' not in params
    assert params['start'] == 'YYY'
    assert params['count'] is True

    assert AUTH == membership.build_params_callback()({})['auth']
    membership.data({"add": [{"id": "my-channel"}]})
    assert membership.build_data() == '{"add": [{"id": "my-channel"}]}'
def test_update_space():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.auth_key = AUTH
    space = PubNub(config).update_space()
    space.include('custom')
    with pytest.raises(PubNubException):
        space.build_path()

    space.space_id('foo')
    assert space.build_path() == UpdateSpace.UPDATE_SPACE_PATH % (SUB_KEY,
                                                                  'foo')
    with pytest.raises(PubNubException):
        space.validate_params()
    space.data({'name': 'bar'})
    assert json.loads(space.build_data()) == {'name': 'bar'}
    assert AUTH == space.build_params_callback()({})['auth']
Пример #8
0
def test_fire():
    pnconf.auth_key = AUTH
    fire = PubNub(pnconf).fire()

    fire.channel(CHAN).message(MSG)
    assert fire.build_path() == Fire.FIRE_GET_PATH % (PUB_KEY, SUB_KEY, CHAN,
                                                      0, MSG_ENCODED)
    fire.use_post(True)
    assert fire.build_path() == Fire.FIRE_POST_PATH % (PUB_KEY, SUB_KEY, CHAN,
                                                       0)

    params = fire.custom_params()
    assert params['store'] == '0'
    assert params['norep'] == '1'

    fire.meta(META)
    assert 'meta' in fire.build_params_callback()({})
    assert json.dumps(META) == fire.build_params_callback()({})['meta']
    assert 'auth' in fire.build_params_callback()({})
    assert AUTH == fire.build_params_callback()({})['auth']
Пример #9
0
def test_signal():
    pnconf.auth_key = AUTH
    signal = PubNub(pnconf).signal()

    with pytest.raises(PubNubException):
        signal.validate_params()
    signal.message(MSG)
    with pytest.raises(PubNubException):
        signal.validate_params()
    signal.channel(CHAN)
    assert signal.build_path() == Signal.SIGNAL_PATH % (PUB_KEY, SUB_KEY, CHAN,
                                                        MSG_ENCODED)
    assert 'auth' in signal.build_params_callback()({})
    assert AUTH == signal.build_params_callback()({})['auth']
Пример #10
0
def test_signal():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.publish_key = PUB_KEY
    config.auth_key = AUTH
    signal = PubNub(config).signal()

    with pytest.raises(PubNubException):
        signal.validate_params()
    signal.message(MSG)
    with pytest.raises(PubNubException):
        signal.validate_params()
    signal.channel(CHAN)
    assert signal.build_path() == Signal.SIGNAL_PATH % (PUB_KEY, SUB_KEY, CHAN,
                                                        MSG_ENCODED)
    assert 'auth' in signal.build_params_callback()({})
    assert AUTH == signal.build_params_callback()({})['auth']
def test_create_user():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.auth_key = AUTH
    user = PubNub(config).create_user()
    with pytest.raises(PubNubException):
        user.validate_params()
    user.include({'name': 'a'})
    with pytest.raises(PubNubException):
        user.validate_params()
    user.include({'id': 'x'})
    with pytest.raises(PubNubException):
        user.validate_params()
    user.include('id')
    with pytest.raises(PubNubException):
        user.validate_params()
    user.data({'id': 'user', 'name': 'username'})
    user.validate_params()

    assert user.build_path() == CreateUser.CREATE_USER_PATH % SUB_KEY
    assert AUTH == user.build_params_callback()({})['auth']
    assert json.loads(user.build_data()) == {'id': 'user', 'name': 'username'}
Пример #12
0
def test_get_spaces():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.auth_key = AUTH
    spaces = PubNub(config).get_spaces()
    spaces.include(['a', 'b']).limit(30).end('XXX')

    assert spaces.build_path() == GetSpaces.GET_SPACES_PATH % SUB_KEY

    params = spaces.custom_params()
    assert params['include'] == ['a', 'b']
    assert params['limit'] == 30
    assert params['end'] == 'XXX'
    assert 'count' not in params

    spaces.start('YYY').count(True)
    params = spaces.custom_params()
    assert 'end' not in params
    assert params['start'] == 'YYY'
    assert params['count'] is True

    assert AUTH == spaces.build_params_callback()({})['auth']
def test_create_space():
    config = PNConfiguration()
    config.subscribe_key = SUB_KEY
    config.auth_key = AUTH
    space = PubNub(config).create_space()
    with pytest.raises(PubNubException):
        space.validate_params()
    space.include({'name': 'a'})
    with pytest.raises(PubNubException):
        space.validate_params()
    space.include({'id': 'x'})
    with pytest.raises(PubNubException):
        space.validate_params()
    space.include('custom')
    with pytest.raises(PubNubException):
        space.validate_params()
    space.data({'id': 'x', 'name': 'a'})
    space.validate_params()

    assert space.build_path() == CreateSpace.CREATE_SPACE_PATH % SUB_KEY
    assert AUTH == space.build_params_callback()({})['auth']
    assert json.loads(space.build_data()) == {'id': 'x', 'name': 'a'}