Пример #1
0
 def test_singletons_across_factories(self):
     first = self.factory.create()
     del self.factory
     transport = FakeTransport().start()
     factory2 = ServerFactory(FixedTransportFactory(transport))
     second = factory2.create()
     assert first is second
Пример #2
0
 def __init__(self):
     self.lines = []
     self.players = {}
     self._debug = False
     self.cur_player_id = FAKE_ID
     self._genres = []
     self._playlists = []
     self.transport = FakeTransport()
Пример #3
0
 def test_classical(self):
     fake_output = FakeTransport(fake_status=CLASSICAL_STATUS).start()
     server = Server(transport=fake_output)
     alexa = SqueezeAlexa(server=server)
     resp = alexa.now_playing([], None)
     speech = speech_in(resp)
     assert '"Kyrie Eleison"' in speech
     assert "by Johann Sebastian Bach" in speech
Пример #4
0
 def test_multiple_artists(self):
     fake_output = FakeTransport(fake_status=MULTI_ARTIST_STATUS).start()
     server = Server(transport=fake_output)
     alexa = SqueezeAlexa(server=server)
     resp = alexa.now_playing([], None)
     speech = speech_in(resp)
     assert '"Shut \'Em Down"' in speech
     assert "by Public Enemy and Pete Rock" in speech
Пример #5
0
 def test_commas_in_title(self):
     fake_output = FakeTransport().start()
     server = Server(transport=fake_output)
     alexa = SqueezeAlexa(server=server)
     resp = alexa.now_playing([], None)
     speech = speech_in(resp)
     assert "I Think, I Love" in speech
     assert "by Jamie Cullum" in speech
Пример #6
0
 def test_all_handler(self):
     fake_output = FakeTransport()
     server = Server(transport=fake_output)
     alexa = SqueezeAlexa(server=server)
     for name, func in handler._handlers.items():
         print_d(">>> Testing %s() <<<" % func.__name__)
         session = {'sessionId': None}
         intent = {'requestId': 'abcd', 'slots': {}}
         raw = func(alexa, intent, session, None)
         response = raw['response']
         assert 'directives' in response or 'outputSpeech' in response
         assert 'shouldEndSession' in response
Пример #7
0
def test_tricky_players_parsing():
    """See https://github.com/declension/squeeze-alexa/issues/93"""
    tricky_players = """serverstatus 0 99 lastscan%3A1536990512
    version%3A7.9.1 uuid%3Aa6abbce0-edfe-447d-9c4b-2f132345733f
    mac%3A00%3A01%3A02%3A03%3A04%3A05 info%20total%20albums%3A107
    info%20total%20artists%3A209 info%20total%20genres%3A13
    info%20total%20songs%3A2151
    info%20total%20duration%3A534087.510000002 player%20count%3A3
    playerindex%3A0 playerid%3A00%3A01%3A02%3A03%3A04%3Ad1
    uuid%3Ab1a5d6e01890c4c440d2da913233e622 ip%3A192.168.168.173%3A35566
    name%3ACuisine seq_no%3A180 model%3Ababy
    modelname%3ASqueezebox%20Radio power%3A0 isplaying%3A0
    displaytype%3Anone isplayer%3A1 canpoweroff%3A1 connected%3A1
    firmware%3A7.7.3-r16676 playerindex%3A1
    playerid%3A00%3A01%3A02%3A03%3A04%3Ab6
    uuid%3Afeeaab78bf7d9d4773495e7112eefaff ip%3A192.168.168.134%3A34510
    name%3AChambre seq_no%3A73 model%3Ababy
    modelname%3ASqueezebox%20Radio power%3A0 isplaying%3A0
    displaytype%3Anone isplayer%3A1 canpoweroff%3A1 connected%3A1
    firmware%3A7.7.3-r16676 playerindex%3A2
    playerid%3A00%3A01%3A02%3A03%3A04%3Af6
    uuid%3A8d470575086e09c3995a5fcb7a1667c8 ip%3A192.168.168.186%3A39845
    name%3ASalon seq_no%3A17 model%3Afab4 modelname%3ASqueezebox%20Touch
    power%3A0 isplaying%3A0 displaytype%3Anone isplayer%3A1
    canpoweroff%3A1 connected%3A1 firmware%3A7.8.0-r16754
    sn%20player%20count%3A2 id%3A31579863
    name%3ASqueezebox%20Radio%20Fanal
    playerid%3A00%3A01%3A02%3A03%3A04%3Ac2 model%3Ababy id%3A11266387
    name%3ASqueezebox%20Radio%20Meme
    playerid%3A00%3A01%3A02%3A03%3A04%3A5a model%3Ababy
    other%20player%20count%3A0""".replace("\n", "")

    transport = FakeTransport(fake_server_status=tricky_players).start()
    server = Server(transport)
    server.refresh_status()
    assert len(server.player_names) == 3, "Should only have found 3 players"
    assert server.player_names == {'Cuisine', 'Chambre', 'Salon'}
Пример #8
0
 def setUp(self):
     transport = FakeTransport().start()
     self.factory = ServerFactory(FixedTransportFactory(transport))
Пример #9
0
 def __init__(self, user=None, password=None, cur_player_id=None):
     super().__init__(
         FixedTransportFactory(FakeTransport()).create(), user, password,
         cur_player_id, False)
Пример #10
0
 def __init__(self, instance: Transport = FakeTransport()):
     super().__init__()
     self.instance = instance
     self.count = 0
Пример #11
0
 def test_unknown_default_player(self):
     transport = FakeTransport(fake_id="foo").start()
     self.server = Server(transport=transport, cur_player_id="GONE")
     assert self.server.cur_player_id == "foo"
Пример #12
0
 def setUp(self):
     self.transport = FakeTransport().start()
     self.server = Server(transport=self.transport)
Пример #13
0
 def test_login(self):
     self.server = Server(transport=FakeTransport(),
                          user='******', password='******')
     assert self.server.user == 'admin'