| Index: tools/telemetry/third_party/gsutilz/third_party/protorpc/demos/tunes_db/server/tunes_db_test.py
|
| diff --git a/tools/telemetry/third_party/gsutilz/third_party/protorpc/demos/tunes_db/server/tunes_db_test.py b/tools/telemetry/third_party/gsutilz/third_party/protorpc/demos/tunes_db/server/tunes_db_test.py
|
| deleted file mode 100755
|
| index e086de885b9fdcd2f135e9a66f62a897ce6f4998..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/third_party/gsutilz/third_party/protorpc/demos/tunes_db/server/tunes_db_test.py
|
| +++ /dev/null
|
| @@ -1,346 +0,0 @@
|
| -#!/usr/bin/python2.4
|
| -#
|
| -# Copyright 2010 Google Inc. All Rights Reserved.
|
| -
|
| -"""Tests for google3.apphosting.demos.tunes_db.server.tunes_db."""
|
| -
|
| -__author__ = 'rafek@google.com (Rafe Kaplan)'
|
| -
|
| -import unittest
|
| -
|
| -from protorpc import message_types
|
| -from protorpc import descriptor
|
| -
|
| -import datastore_test_util
|
| -import model
|
| -import tunes_db
|
| -
|
| -
|
| -class MusicLibraryServiceTest(datastore_test_util.DatastoreTest):
|
| - """Music library service tests."""
|
| -
|
| - def setUp(self):
|
| - """Set up music library."""
|
| - super(MusicLibraryServiceTest, self).setUp()
|
| -
|
| - self.service = tunes_db.MusicLibraryService()
|
| -
|
| - # Create a bunch of artists.
|
| - #
|
| - # Definitions are not defined in order to test that search order is
|
| - # correct.
|
| - self.aem = model.ArtistInfo(name='Amadou et Miriam')
|
| - self.aem.put()
|
| -
|
| - self.abba = model.ArtistInfo(name='Abba')
|
| - self.abba.put()
|
| -
|
| - self.furnaces = model.ArtistInfo(name='The Fiery Furnaces')
|
| - self.furnaces.put()
|
| -
|
| - self.go_team = model.ArtistInfo(name=' The Go! Team ')
|
| - self.go_team.put()
|
| -
|
| - self.wendy_carlos = model.ArtistInfo(name='Wendy Carlos')
|
| - self.wendy_carlos.put()
|
| -
|
| - self.beatles = model.ArtistInfo(name='The Beatles')
|
| - self.beatles.put()
|
| -
|
| - # Albums.
|
| -
|
| - # The Go! Team.
|
| - self.get_it_together = model.AlbumInfo(name='Get It Together',
|
| - released=2000,
|
| - artist=self.go_team,
|
| - parent=self.go_team)
|
| - self.get_it_together.put()
|
| -
|
| - self.thunder_lightening_strike = model.AlbumInfo(
|
| - name='Thunder, Lightning, Strike',
|
| - released=2004,
|
| - artist=self.go_team,
|
| - parent=self.go_team)
|
| - self.thunder_lightening_strike.put()
|
| -
|
| - self.proof_of_youth = model.AlbumInfo(name='Proof of Youth',
|
| - released=2007,
|
| - artist=self.go_team,
|
| - parent=self.go_team)
|
| - self.proof_of_youth.put()
|
| -
|
| - # The Beatles.
|
| - self.help = model.AlbumInfo(name='Help',
|
| - released=1965,
|
| - artist=self.beatles,
|
| - parent=self.beatles)
|
| - self.help.put()
|
| -
|
| - self.yellow_submarine = model.AlbumInfo(name='Yellow Submarine',
|
| - released=1969,
|
| - artist=self.beatles,
|
| - parent=self.beatles)
|
| - self.yellow_submarine.put()
|
| -
|
| - def AssertArtistMatches(self, model_instance, message):
|
| - """Helper function to assert that artist message matches a model instance.
|
| -
|
| - Args:
|
| - model_instance: Datastore model instance of artist to check against.
|
| - message: Artist message to check match for.
|
| - """
|
| - self.assertEquals(str(model_instance.key()), message.artist_id)
|
| - self.assertEquals(str(model_instance.name), message.name)
|
| -
|
| - def AssertAlbumMatches(self, model_instance, message):
|
| - """Helper function to assert that album message matches a model instance.
|
| -
|
| - Args:
|
| - model_instance: Datastore model instance of album to check against.
|
| - message: Album message to check match for.
|
| - """
|
| - self.assertEquals(model_instance.name, message.name)
|
| - self.assertEquals(str(model_instance.key()), message.album_id)
|
| - self.assertEquals(model_instance.released, message.released)
|
| - self.assertEquals(str(model_instance.artist.key()), message.artist_id)
|
| -
|
| - def testAddArtist(self):
|
| - """Test the add_artist remote method."""
|
| - request = tunes_db.AddArtistRequest()
|
| - request.name = 'Elvis Costello'
|
| -
|
| - response = self.service.add_artist(request)
|
| - response.check_initialized()
|
| -
|
| - elvis = model.ArtistInfo.get(response.artist_id)
|
| - self.assertEquals('Elvis Costello', elvis.name)
|
| -
|
| - def testUpdateArtist(self):
|
| - """Test updating artist."""
|
| - artist = tunes_db.Artist()
|
| - artist.artist_id = str(self.wendy_carlos.key())
|
| - artist.name = u'Walter Carlos'
|
| - request = tunes_db.UpdateArtistRequest()
|
| - request.artist = artist
|
| -
|
| - response = self.service.update_artist(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertTrue(response.artist_updated)
|
| - walter_carlos = model.ArtistInfo.get(self.wendy_carlos.key())
|
| - self.assertEquals(u'Walter Carlos', walter_carlos.name)
|
| -
|
| - def testUpdateArtist_NotFound(self):
|
| - """Test updating artist when artist no longer exists."""
|
| - wendy_carlos_key = self.wendy_carlos.key()
|
| - self.wendy_carlos.delete()
|
| -
|
| - artist = tunes_db.Artist()
|
| - artist.artist_id = str(wendy_carlos_key)
|
| - artist.name = u'Walter Carlos'
|
| - request = tunes_db.UpdateArtistRequest()
|
| - request.artist = artist
|
| -
|
| - response = self.service.update_artist(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertFalse(response.artist_updated)
|
| - self.assertEquals(None, model.ArtistInfo.get(wendy_carlos_key))
|
| -
|
| - def testDeleteArtist(self):
|
| - """Test the delete_artist remote method."""
|
| - request = tunes_db.DeleteArtistRequest()
|
| - request.artist_id = str(self.go_team.key())
|
| -
|
| - response = self.service.delete_artist(request)
|
| - response.check_initialized()
|
| - self.assertEquals(True, response.artist_deleted)
|
| -
|
| - self.assertEquals(None, model.AlbumInfo.get(self.go_team.key()))
|
| - self.assertEquals(None,
|
| - model.AlbumInfo.gql('WHERE artist = :1',
|
| - self.go_team.key()).get())
|
| -
|
| - response = self.service.delete_artist(request)
|
| - self.assertEquals(False, response.artist_deleted)
|
| -
|
| - def testFetchArtist(self):
|
| - """Test the fetch_artist remote method."""
|
| - request = tunes_db.FetchArtistRequest()
|
| - request.artist_id = str(self.wendy_carlos.key())
|
| -
|
| - response = self.service.fetch_artist(request)
|
| - response.check_initialized()
|
| -
|
| - self.AssertArtistMatches(self.wendy_carlos, response.artist)
|
| -
|
| - def testSearchArtist_NothingFound(self):
|
| - """Test the search_artists remote method when no artists are found."""
|
| - request = tunes_db.SearchArtistsRequest()
|
| - request.name_prefix = u'Duke'
|
| -
|
| - response = self.service.search_artists(request)
|
| - response.check_initialized()
|
| - self.assertFalse(hasattr(response, 'artist_count'))
|
| -
|
| - def testSearchArtist_All(self):
|
| - """Test searching all artists in the music library."""
|
| - request = tunes_db.SearchArtistsRequest()
|
| - request.fetch_size = 3
|
| -
|
| - response = self.service.search_artists(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertEquals(3, len(response.artists))
|
| - self.AssertArtistMatches(self.abba, response.artists[0])
|
| - self.AssertArtistMatches(self.aem, response.artists[1])
|
| - self.AssertArtistMatches(self.beatles, response.artists[2])
|
| -
|
| - request = tunes_db.SearchArtistsRequest()
|
| - request.continuation = response.continuation
|
| - request.fetch_size = 3
|
| - response = self.service.search_artists(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertEquals(3, len(response.artists))
|
| - self.AssertArtistMatches(self.furnaces, response.artists[0])
|
| - self.AssertArtistMatches(self.go_team, response.artists[1])
|
| - self.AssertArtistMatches(self.wendy_carlos, response.artists[2])
|
| -
|
| - request = tunes_db.SearchArtistsRequest()
|
| - request.continuation = response.continuation
|
| - response = self.service.search_artists(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertEquals([], response.artists)
|
| -
|
| - def testSearchArtist_NamePrefix(self):
|
| - """Test searching artists and matching by name prefix."""
|
| - request = tunes_db.SearchArtistsRequest()
|
| - request.name_prefix = u' { tHe! '
|
| - request.fetch_size = 2
|
| -
|
| - response = self.service.search_artists(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertEquals(2, len(response.artists))
|
| - self.AssertArtistMatches(self.beatles, response.artists[0])
|
| - self.AssertArtistMatches(self.furnaces, response.artists[1])
|
| -
|
| - request = tunes_db.SearchArtistsRequest()
|
| - request.continuation = response.continuation
|
| -
|
| - response = self.service.search_artists(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertEquals(1, len(response.artists))
|
| - self.assertEquals(None, response.continuation)
|
| - self.AssertArtistMatches(self.go_team, response.artists[0])
|
| -
|
| - def testAddAlbum(self):
|
| - """Test creating an album."""
|
| - request = tunes_db.AddAlbumRequest()
|
| - request.artist_id = str(self.furnaces.key())
|
| - request.name = u'Blueberry Boat'
|
| - request.released = 2004
|
| -
|
| - response = self.service.add_album(request)
|
| - response.check_initialized()
|
| -
|
| - blueberry = model.AlbumInfo.get(response.album_id)
|
| - self.assertEquals(self.furnaces.key(), blueberry.artist.key())
|
| - self.assertEquals('Blueberry Boat', blueberry.name)
|
| - self.assertEquals(2004, blueberry.released)
|
| -
|
| - def testUpdateAlbum(self):
|
| - """Test updating album."""
|
| - album = tunes_db.Album()
|
| - album.album_id = str(self.proof_of_youth.key())
|
| - album.name = u'Proof of Age'
|
| - album.released = 1908
|
| - request = tunes_db.UpdateAlbumRequest()
|
| - request.album = album
|
| -
|
| - response = self.service.update_album(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertTrue(response.album_updated)
|
| - proof_of_age = model.AlbumInfo.get(self.proof_of_youth.key())
|
| - self.assertEquals(u'Proof of Age', proof_of_age.name)
|
| - self.assertEquals(1908, proof_of_age.released)
|
| -
|
| - def testUpdateAlbum_NotFound(self):
|
| - """Test updating album when album no longer exists."""
|
| - proof_of_youth_key = self.proof_of_youth.key()
|
| - self.proof_of_youth.delete()
|
| -
|
| - album = tunes_db.Album()
|
| - album.album_id = str(proof_of_youth_key)
|
| - album.name = u'Proof of Age'
|
| - album.released = 1908
|
| - request = tunes_db.UpdateAlbumRequest()
|
| - request.album = album
|
| -
|
| - response = self.service.update_album(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertFalse(response.album_updated)
|
| - self.assertEquals(None, model.AlbumInfo.get(proof_of_youth_key))
|
| -
|
| - def testSearchAlbum_All(self):
|
| - """Test searching all albums in library."""
|
| - request = tunes_db.SearchAlbumsRequest()
|
| - request.fetch_size = 2
|
| -
|
| - response = self.service.search_albums(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertEquals(2, len(response.albums))
|
| - self.AssertAlbumMatches(self.get_it_together, response.albums[0])
|
| - self.AssertAlbumMatches(self.help, response.albums[1])
|
| -
|
| - request = tunes_db.SearchAlbumsRequest()
|
| - request.continuation = response.continuation
|
| -
|
| - response = self.service.search_albums(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertEquals(2, len(response.albums))
|
| - self.AssertAlbumMatches(self.proof_of_youth, response.albums[0])
|
| - self.AssertAlbumMatches(self.thunder_lightening_strike, response.albums[1])
|
| -
|
| - request = tunes_db.SearchAlbumsRequest()
|
| - request.continuation = response.continuation
|
| -
|
| - response = self.service.search_albums(request)
|
| - response.check_initialized()
|
| - self.assertEquals(1, len(response.albums))
|
| - self.assertEquals(None, response.continuation)
|
| - self.AssertAlbumMatches(self.yellow_submarine, response.albums[0])
|
| -
|
| - def testSearchAlbum_FilterArtist(self):
|
| - """Test searching albums for specific artist in library."""
|
| - request = tunes_db.SearchAlbumsRequest()
|
| - request.fetch_size = 2
|
| - request.artist_id = unicode(self.go_team.key())
|
| -
|
| - response = self.service.search_albums(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertEquals(2, len(response.albums))
|
| - self.AssertAlbumMatches(self.get_it_together, response.albums[0])
|
| - self.AssertAlbumMatches(self.proof_of_youth, response.albums[1])
|
| -
|
| - request = tunes_db.SearchAlbumsRequest()
|
| - request.continuation = response.continuation
|
| -
|
| - response = self.service.search_albums(request)
|
| - response.check_initialized()
|
| -
|
| - self.assertEquals(1, len(response.albums))
|
| - self.assertEquals(None, response.continuation)
|
| - self.AssertAlbumMatches(self.thunder_lightening_strike, response.albums[0])
|
| -
|
| -
|
| -if __name__ == '__main__':
|
| - unittest.main()
|
|
|