Пример #1
0
    def test_data_is_not_bytes(self):
        client = Client()
        client.connect_local(port=7050)
        push = client.push()

        with pytest.raises(TypeError):
            push(u'msg')
Пример #2
0
    def test_port_under_range(self):
        client = Client()
        with pytest.raises(ValueError):
           client.connect_local(port=1023)

        with pytest.raises(ValueError):
           client.disconnect_local(port=1023)

        with pytest.raises(ValueError):
            Server(port=1023)
Пример #3
0
def get_listener(*channels: Channel):
    # Connects the client to as many servers as desired
    client = Client()

    # connect to all ports
    ports = sum([channel.ports for channel in channels], [])
    for port in ports:
        client.connect_local(port=port)

    # Assigns an iterable to wait for incoming messages with the topics
    return get_mapped_stream(client, *channels)
Пример #4
0
    def test_subscribed_topics_are_not_bytes(self):
        client = Client()
        client.connect_local(port=7099)

        client.sub(topics=[b'topic1'])

        with pytest.raises(TypeError):
            client.sub(topics=[u'topic1'])

        with pytest.raises(TypeError):
            client.sub(topics=[b'topic1', u'topic2'])
Пример #5
0
    def test_there_was_no_connection_to_disconnect(self):
        client = Client()
        client.connect_local(port=1024)

        with pytest.raises(ValueError):
            client.disconnect_local(port=1025)

        client.disconnect_local(port=1024)

        with pytest.raises(ValueError):
            client.disconnect_local(port=1024)
Пример #6
0
    def test_connection_after_pattern_was_established(self):
        client = Client()
        listen_for_push = client.pull()

        client.connect_local(port=1024)

        with pytest.raises(ValueError):
            client.connect_local(port=1024)

        client.disconnect_local(port=1024)

        with pytest.raises(ValueError):
            client.disconnect_local(port=1024)
Пример #7
0
    def test_disconnect_all(self):
        client = Client()
        client.connect_local(port=1024)
        client.connect_local(port=1025)
        client.connect_local(port=1026)
        client.connect_local(port=1027)

        client.disconnect_all()

        client.connect_local(port=1024)
        client.connect_local(port=1025)
        client.connect_local(port=1026)
        client.connect_local(port=1027)
Пример #8
0
 def test_port_on_range(self):
     client = Client()
     client.connect_local(port=1024)
     client.disconnect_local(port=1024)
     client.connect_local(port=7000)
     client.disconnect_local(port=7000)
     client.connect_local(port=65535)
     client.disconnect_local(port=65535)
Пример #9
0
    def test_connection_already_exist(self):
        client = Client()
        client.connect_local(port=1024)

        with pytest.raises(ValueError):
            client.connect_local(port=1024)

        client.disconnect_local(port=1024)
        client.connect_local(port=1024)
Пример #10
0
    def test_pair_client_cannot_connect_more_than_once(self):
        client = Client()
        client.connect_local(port=7200)
        client.connect_local(port=7201)

        with pytest.raises(RuntimeError):
            client.pair()

        client = Client()
        client.connect_local(port=7200)

        client.pair()

        with pytest.raises(RuntimeError):
            client.connect_local(port=7201)
Пример #11
0
def listen_for_pub_with_embedded_topic():
    client = Client()
    client.connect_local(port=7894)
    return client.sub(topics=[b'sh'])
Пример #12
0
def push():
    client = Client()
    client.connect_local(port=7891)
    return client.push()
Пример #13
0
def listen_for_pub_with_embedded_topic():
    client = Client()
    client.connect_local(port=7894)
    return client.sub(topics=[b'sh'])
Пример #14
0
def listen_for_pub_with_empty_topic():
    client = Client()
    client.connect_local(port=7896)
    return client.sub()
Пример #15
0
from zeroless import (Client, Server)
import json
from aura.managers import SemanticManager as graph
from aura.managers import StorageManager as db
from aura.managers import helpers

zmq_device = Client()
zmq_device.connect_local(port=helpers.ports['device_manager'])
push_to_device = zmq_device.push()


def create_condition(condition):
    print("create_condition")
    # TaskManager -> StorageManager
    db.store('conditions', condition)


def update_condition():
    # TaskManager -> StorageManager
    print("update_condition")


def remove_condition():
    # TaskManager -> StorageManager
    print("remove_condition")


def send_command(device, command):
    # TaskManager -> DeviceManager
    print("send_command")
Пример #16
0
import logging

from zeroless import (Client, log)

# Setup console logging
consoleHandler = logging.StreamHandler()
log.setLevel(logging.DEBUG)
log.addHandler(consoleHandler)

# Connects the client to as many servers as desired
client = Client()
client.connect_local(port=12345)

# Initiate a push client
# And assigns a callable to push messages
push = client.push()

for msg in [b"Msg1", b"Msg2", b"Msg3"]:
    push(msg)
Пример #17
0
 def __build_watcher(self):
     client = Client()
     client.connect_local(port=self.PORT)
     return client
from aura.managers import StorageManager as db
from aura.managers import SemanticManager as graph
from zeroless import (Client, Server)
from aura.managers import helpers
import json

zmq_broker = Client()
zmq_broker.connect_local(port=helpers.ports['broker'])
push_to_broker = zmq_broker.push()

zmq_task = Client()
zmq_task.connect_local(port=helpers.ports['task_manager'])
push_to_task = zmq_task.push()

def verify(collection, obj_id):
    return (db.get(collection, obj_id) != None)

def create(collection, obj):
    if not verify(collection, obj['@id']):
        graph.parse(json.dumps(obj))
        db.store(collection, obj)
    else:
        print("Already have " + str(obj['@id']) + " in database.")

def notify_unknown_object(obj_type, obj_id):
    obj = {}
    obj['id'] = obj_id
    obj['type'] = obj_type
    push_to_broker(json.dumps(obj).encode())

def send_command(device, command):
Пример #19
0
from zeroless import (Client, Server)
import json
from aura.managers import SemanticManager as graph
from aura.managers import StorageManager as db
from aura.managers import helpers

zmq_device = Client()
zmq_device.connect_local(port=helpers.ports['device_manager'])
push_to_device = zmq_device.push()

def create_condition(condition):
    print("create_condition")
    # TaskManager -> StorageManager
    db.store('conditions', condition)


def update_condition():
    # TaskManager -> StorageManager
    print("update_condition")


def remove_condition():
    # TaskManager -> StorageManager
    print("remove_condition")


def send_command(device, command):
    # TaskManager -> DeviceManager
    print("send_command")

Пример #20
0
from zeroless import Client

# Connects the client to as many servers as desired
client = Client()
client.connect_local(port=12345)

# Initiate a subscriber client
# Assigns an iterable to wait for incoming messages with any topic
listen_for_pub = client.sub()

for topic, id, msg in listen_for_pub:
    print(topic, ' - ', id, ' - ', msg)
Пример #21
0
def listen_for_pub():
    client = Client()
    client.connect_local(port=7893)
    return client.sub()
Пример #22
0
def request_gens():
    client = Client()
    client.connect_local(port=7892)
    return client.request()
from aura.managers import StorageManager as db
from aura.managers import SemanticManager as graph
from zeroless import Client, Server
from aura.managers import helpers
import json

zmq_broker = Client()
zmq_broker.connect_local(port=helpers.ports["broker"])
push_to_broker = zmq_broker.push()

zmq_task = Client()
zmq_task.connect_local(port=helpers.ports["task_manager"])
push_to_task = zmq_task.push()


def verify(collection, obj_id):
    return db.get(collection, obj_id) != None


def create(collection, obj):
    if not verify(collection, obj["@id"]):
        graph.parse(json.dumps(obj))
        db.store(collection, obj)
    else:
        print("Already have " + str(obj["@id"]) + " in database.")


def notify_unknown_object(obj_type, obj_id):
    obj = {}
    obj["id"] = obj_id
    obj["type"] = obj_type
Пример #24
0
def pair():
    client = Client()
    client.connect_local(port=7890)
    send, _ = client.pair()
    return send
Пример #25
0
def listen_for_pub_with_empty_topic():
    client = Client()
    client.connect_local(port=7896)
    return client.sub()
Пример #26
0
def listen_for_pub():
    client = Client()
    client.connect_local(port=7893)
    return client.sub()
Пример #27
0
def push():
    client = Client()
    client.connect_local(port=7891)
    return client.push()
Пример #28
0
def request_gens():
    client = Client()
    client.connect_local(port=7892)
    return client.request()