def test_client_basic_positive(): Environment.prefs['scrobble_clients'] = 'pcone' assert Filters.is_valid_client({'title': 'PC-One'}) is True assert Filters.is_valid_client({ 'title': 'PC-Two', 'product': 'DLNA' }) is False
def test_client_wildcard(): Environment.prefs['scrobble_clients'] = '*' assert Filters.is_valid_client({'title': 'PC-One'}) is True assert Filters.is_valid_client({ 'title': 'PC-Two', 'product': 'DLNA' }) is True
def test_client_dlna_inverted(): Environment.prefs['scrobble_clients'] = '-#dlna' assert Filters.is_valid_client({'title': 'PC-One'}) is True assert Filters.is_valid_client({ 'title': 'PC-Two', 'product': 'DLNA' }) is False
def test_client_basic_inverted(): Environment.prefs['scrobble_clients'] = 'pcone, -pctwo' assert Filters.is_valid_client({'title': 'PC-One'}) is True assert Filters.is_valid_client({'title': 'PC-Two'}) is False assert Filters.is_valid_client({ 'title': 'PC-Three', 'product': 'DLNA' }) is False
def match(result, client, player): # Apply global filters if not Filters.is_valid_client(player) or\ not Filters.is_valid_address(client): # Client didn't pass filters, update `account` attribute and return result['account'] = None return True, result # Find matching `ClientRule` address = client['address'] if client else None rule = (ClientRule .select() .where( (ClientRule.key == player['key']) | (ClientRule.key == '*') | (ClientRule.key == None), (ClientRule.name == player['title']) | (ClientRule.name == '*') | (ClientRule.name == None), (ClientRule.address == address) | (ClientRule.address == '*') | (ClientRule.address == None) ) .order_by( ClientRule.priority.asc() ) .first() ) log.debug('Activity matched against rule: %r', rule) if rule: # Process rule if rule.account_id is not None: result['account'] = rule.account_id else: return True, result else: result['account'] = None return False, result
def test_client_dlna_invalid(): Environment.prefs['scrobble_clients'] = '#, pcone' assert Filters.is_valid_client({'title': 'PC-One'}) is True
def test_client_invalid(): Environment.prefs['scrobble_clients'] = 'pcone' assert Filters.is_valid_client({}) is False
def test_client_empty(): Environment.prefs["scrobble_clients"] = "" assert Filters.is_valid_client({"title": "PC-One"}) is True assert Filters.is_valid_client({"title": "PC-Two", "product": "DLNA"}) is True
def test_client_dlna_invalid(): Environment.prefs["scrobble_clients"] = "#, pcone" assert Filters.is_valid_client({"title": "PC-One"}) is True
def test_client_dlna_inverted(): Environment.prefs["scrobble_clients"] = "-#dlna" assert Filters.is_valid_client({"title": "PC-One"}) is True assert Filters.is_valid_client({"title": "PC-Two", "product": "DLNA"}) is False
def test_client_basic_inverted(): Environment.prefs["scrobble_clients"] = "pcone, -pctwo" assert Filters.is_valid_client({"title": "PC-One"}) is True assert Filters.is_valid_client({"title": "PC-Two"}) is False assert Filters.is_valid_client({"title": "PC-Three", "product": "DLNA"}) is False
def test_client_basic_positive(): Environment.prefs["scrobble_clients"] = "pcone" assert Filters.is_valid_client({"title": "PC-One"}) is True assert Filters.is_valid_client({"title": "PC-Two", "product": "DLNA"}) is False
def test_client_invalid(): Environment.prefs["scrobble_clients"] = "pcone" assert Filters.is_valid_client({}) is False