85 lines
4.0 KiB
Python
85 lines
4.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
__author__ = "Abhinav Sarkar <abhinav@abhinavsarkar.net>"
|
|
__version__ = "0.2"
|
|
__license__ = "GNU Lesser General Public License"
|
|
|
|
import unittest
|
|
import sys, os
|
|
|
|
from wsgi_intercept.urllib2_intercept import install_opener
|
|
import wsgi_intercept
|
|
from wsgi_test_app import create_wsgi_app
|
|
|
|
install_opener()
|
|
wsgi_intercept.add_wsgi_intercept('ws.audioscrobbler.com', 80, create_wsgi_app)
|
|
|
|
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
|
|
from lastfm import Api
|
|
|
|
class TestEvent(unittest.TestCase):
|
|
""" A test class for the Event module. """
|
|
|
|
def setUp(self):
|
|
self.event = api.get_event(216156)
|
|
|
|
def tearDown(self):
|
|
pass
|
|
|
|
def testEventArtists(self):
|
|
artists = ['Aerosmith']
|
|
self.assertEqual([artist.name for artist in self.event.artists], artists)
|
|
|
|
def testEventHeadliner(self):
|
|
self.assertEqual(self.event.headliner.name, 'Aerosmith')
|
|
|
|
def testEventStats(self):
|
|
self.assertEqual(self.event.stats.attendance, 48)
|
|
self.assertEqual(self.event.stats.reviews, 1)
|
|
|
|
def testEventShouts(self):
|
|
shouts = [('Aeromaniac21280',
|
|
'It was a brillian show still jealous at some ppl who could meet them video of joe perry banging the guitar in youtube, in between u will see a devils hand with the thorny black heavy metal wrist band, that hand IS MINE LOL!!!'),
|
|
('ncortizone5', 'brilliant show!!'),
|
|
('drunkenpunk', '@Ninja ; just take a look at my charts...'),
|
|
('sanirudha',
|
|
'I won the Guitar...Thanks guys. I know you had to bear us. Can understand the pain of waiting. [But ours was only 3 min performance] Worth all the shit I did for past month to qualify. Thanks anyways, I will post the photos of the guitar very soon!'),
|
|
('nano0101', 'Which band is gonna open for them???'),
|
|
('funndude', 'looks like drunkenpunk is not the only one drunk :-)'),
|
|
('buttrflyeffect',
|
|
'as we say in namma beelore - this is like, AWSUM! like, hello? like, aerosmith, like TOTALLY rocks..! like, i will SOOOOOO TO-TAH-LEE bee there! haha that sounds so lame..\nI *heart* Steven Tyler.\nAnd Aerosmith.\nAnd Jaded. \nAnd all things Aerosmith. :)'),
|
|
('cvn2nvc', 'drunkenpunk is drunk.... aerosmith rocks!'),
|
|
('funndude', 'I guess I am happier with Aerosmith than Absolutely No One'),
|
|
('NinjaRocker', '@drunkenpunk, which are your favorite bands?')]
|
|
self.assertEqual([(shout.author.name, shout.body) for shout in self.event.shouts[:10]], shouts)
|
|
|
|
def testEventRecentShout(self):
|
|
shout = self.event.recent_shout
|
|
self.assertEqual((shout.author.name, shout.body),
|
|
('Aeromaniac21280',
|
|
'It was a brillian show still jealous at some ppl who could meet them video of joe perry banging the guitar in youtube, in between u will see a devils hand with the thorny black heavy metal wrist band, that hand IS MINE LOL!!!'))
|
|
|
|
apikey = "152a230561e72192b8b0f3e42362c6ff"
|
|
api = Api(apikey, no_cache = True)
|
|
|
|
data = {
|
|
'id': 216156,
|
|
'title': 'Aerosmith',
|
|
'description': 'Tickets priced at 1,800 and 1,200.',
|
|
'image': {'large': 'http://userserve-ak.last.fm/serve/126/300793.jpg',
|
|
'medium': 'http://userserve-ak.last.fm/serve/64/300793.jpg',
|
|
'small': 'http://userserve-ak.last.fm/serve/34/300793.jpg'},
|
|
'tag': 'lastfm:event=216156',
|
|
'url': 'http://www.last.fm/event/216156'
|
|
}
|
|
|
|
for k,v in data.iteritems():
|
|
def testFunc(self):
|
|
self.assertEqual(getattr(self.event, k), v)
|
|
setattr(TestEvent, "testEvent%s" % k.replace('_', ' ').title().replace(' ', ''), testFunc)
|
|
|
|
test_suite = unittest.TestLoader().loadTestsFromTestCase(TestEvent)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|