def setUp(self):
        req = POST(config.ui_host, config.ui_port, "/auth")
        req.body(config.PERMIT_LOGIN)
        response, content = req()

        self.assertEqual(200, response.status)

        result = json.loads(content)
        self.assertEqual("success", result["status"])
        self.session = result["data"]["id"]

        req = POST(config.ui_host, config.ui_port, "/gateways")
        req.authorize(self.session)
        req.body(
            json.dumps({
                "id": config.gateway_id,
                "name": "Testing Gateway",
                "timezone_id": "Europe/Prague"
            }))
        response, _ = req()

        self.assertEqual(201, response.status)

        self.ws = websocket.WebSocket()
        self.ws.connect(config.gws_ws_uri)
        registerGateway(self, self.ws, config.gateway_id)
    def setUp(self):
        self.zmq = ZMQConnection(config.gws_zmq_endpoint)
        self.zmq.accept(lambda m: "gateway_id" in m)
        self.zmq.open()

        self.ws = websocket.WebSocket()
        self.ws.connect(config.gws_ws_uri)

        registerGateway(self, self.ws, config.gateway_id)

        event = self.zmq.pop_data()
        self.assertEqual("on-connected", event["event"])
        self.assertEqual(config.gateway_id, event["gateway_id"])