Esempio n. 1
0
    def test_real_publishing(self):
        test_mqtt_settings = self.mqtt_settings()
        self.published = []

        def on_message(client: Client, userdata, msg: MQTTMessage):
            msg = msg.payload.decode('utf-8').strip()
            client.publish(test_mqtt_settings.topic_resp,
                           "GOT: {msg}".format(msg=msg).encode('utf-8'))

        replier = CustomTlsCustomClient(test_mqtt_settings)
        replier.on_message = on_message
        replier.connect()

        def on_publish(client, userdata, mid):
            self.published.append(mid)

        client = CustomTlsCustomClient(test_mqtt_settings)
        client.on_publish = on_publish

        msg = "TEST MESSAGE at %s" % datetime.now()
        transport = create_transport(ssl_config=None,
                                     mqtt_settings=test_mqtt_settings,
                                     mqtt_client=client)
        try:
            replier.subscribe(test_mqtt_settings.topic_req)
            assert replier.loop_start() != MQTT_ERR_INVAL
            reply = transport.communicate(msg)
            wait_for(lambda x: self.published, what="confirming publish")
        finally:
            del transport
            replier.loop_stop()
            del replier
        assert len(self.published) == 1
        assert reply == "GOT: {msg}".format(**locals())
Esempio n. 2
0
    assert server.genres
    assert server.playlists
    cur_play_details = server.get_track_details().values()
    if cur_play_details:
        print("Currently playing: %s" %
              " >> ".join(cur_play_details))
    else:
        print("Nothing currently in playlist")

    status = server.get_status()
    print("Up next: %s >> %s >> %s" % (status.get('genre', "Unknown genre"),
                                       status.get('title', 'Unknown track'),
                                       status.get('artist', 'Unknown artist')))
    del server


def die(e):
    print_exc()
    print("\n>>>> Failed with %s: %s <<<<" % (type(e).__name__, e))
    sys.exit(2)


if __name__ == '__main__':
    try:
        transport = create_transport()
        run_diagnostics(transport)
        print("\n>>>> Looks good! <<<<")
        sys.exit(0)
    except Exception as e:
        die(e)
Esempio n. 3
0
def get_server():
    return Server(create_transport(),
                  user=LMS_SETTINGS.username,
                  password=LMS_SETTINGS.password,
                  cur_player_id=LMS_SETTINGS.default_player,
                  debug=LMS_SETTINGS.debug)
Esempio n. 4
0
def test_create_transport_uses_cert_path():
    ssls = SslSettings()
    ssls.cert_file_path = "/foo/bar"
    with raises(Error) as e:
        create_transport(ssls, UNCONFIGURED_MQTT_SETTINGS)
    assert ("cert '%s'" % ssls.cert_file_path) in str(e)
Esempio n. 5
0
def test_create_transport_uses_cert_path():
    ssls = SslSettings()
    ssls.cert_file_path = "/foo/bar"
    with raises(Error) as e:
        create_transport(ssls, MqttSettings())
    assert ("cert '%s'" % ssls.cert_file_path) in str(e)