def person_wrong_name( self ): self.initialize() person = Person() person.name = "Ela" person.surname = "Gabor" person.permalink = "ela-gabor" person.imdb_code = "3140529" person.verified_imdb_code = True person.type = Person.TYPE_PERSON person.save() fti1 = FilmToImport( user = self.user, title = '180/100', imdb_url = 'http://www.imdb.com/title/tt2089598/', imdb_id = '2089598', status = FilmToImport.ACCEPTED ) fti1.save() run( False, False, False, False, False, True, "http" ) self.assertEqual( Person.objects.filter( imdb_code__isnull=True ).count(), 0 ) person = Person.objects.get( imdb_code="3140529" ) self.assertEqual( person.name, "Ela" ) self.assertEqual( person.surname, "Gabor" ) self.assertEqual( person.permalink, "ela-gabor" ) self.assertEqual( person.import_comment, "imdb name: Éva Gábor" )
def setUp(self): User.objects.all().delete() Person.objects.all().delete() Country.objects.all().delete() AddedFilm.objects.all().delete() AddedCharacter.objects.all().delete() self.client = Client(follow=True) # test user with no permissions self.u1 = User.objects.create_user("user", "*****@*****.**", "user") # test user with moderation_permission self.u2 = User.objects.create_user("root", "*****@*****.**", "root") self.u2.user_permissions.add( Permission.objects.get(codename="can_accept_added_films")) self.u2.save() # some persons self.p1 = Person(name="Clint", surname="Eastwood", imdb_code=None, type=Person.TYPE_PERSON) self.p1.save() self.p2 = Person(name="Sylwester", surname="Stallone", imdb_code=None, type=Person.TYPE_PERSON) self.p2.save() self.p3 = Person(name="Jack", surname="Mort", imdb_code=None, type=Person.TYPE_PERSON) self.p3.save() # countries self.c1 = Country.objects.create(country='USA') self.c2 = Country.objects.create(country='Poland')
def person_short_imdb_code( self ): self.initialize() person = Person() person.name = "Harrison" person.surname = "Ford" person.permalink = "harrison-ford" person.imdb_code = "148" person.type = Person.TYPE_PERSON person.save() person = Person() person.name = "Harrison" person.surname = "Ford (II)" person.permalink = "harrison-ford-ii" person.imdb_code = "0001230" person.type = Person.TYPE_PERSON person.save() self.assertEqual( Person.objects.filter( imdb_code='148' ).count(), 1 ) fti1 = FilmToImport( user = self.user, title = 'Love in High Gear', imdb_url = 'http://www.imdb.com/title/tt0022093/', imdb_id = '0022093', status = FilmToImport.ACCEPTED ) fti1.save() fti2 = FilmToImport( user = self.user, title = 'Journey to shiloh', imdb_url = 'http://www.imdb.com/title/tt0063161/', imdb_id = '0063161', status = FilmToImport.ACCEPTED ) fti2.save() fti3 = FilmToImport( user = self.user, title = 'Guys choice Awards 2011', imdb_url = 'http://www.imdb.com/title/tt2023505/', imdb_id = '2023505', status = FilmToImport.ACCEPTED ) fti3.save() run( False, False, False, False, False, True, "http" ) self.assertEqual( Person.objects.filter( name='Harrison', surname__contains='Ford' ).count(), 2 ) self.assertEqual( Person.objects.filter( imdb_code='148' ).count(), 0 ) self.assertEqual( Person.objects.get( imdb_code='0000148' ).permalink, 'harrison-ford' )
def duplicate_imdb_code(self): """ ImdbFetcher is trying to save person with imdb_code, already existing in db """ self.initialize() self.client.login(username=self.user.username, password='******') per = Person() per.name = "Jan" per.surname = "Kowalski" # Schwarzeneger's imdb code per.imdb_code = "0000216" per.type = Person.TYPE_PERSON per.save() per = Person.objects.get(imdb_code="0000216") self.assertEqual(per.name, "Jan") self.assertEqual(per.imdb_code, "0000216") film_to_import = FilmToImport(user = self.user, title = 'Terminator', imdb_url = 'http://www.imdb.com/title/tt0088247/', imdb_id='0088247', status=FilmToImport.ACCEPTED) film_to_import.save() run(False, False, False, False, False, True, "http") person = Person.objects.get(imdb_code="0000216") # duplicate imdb_code - should be set to Schwarzenegger self.assertEqual(person.name, "Arnold") self.assertEqual(person.surname, "Schwarzenegger") self.assertEqual(person.verified_imdb_code, True) self.assertEqual(person.imdb_code, "0000216") # old imdb_code should be set to None per = Person.objects.get(name="Jan", surname="Kowalski") self.assertEqual(per.imdb_code, None)
def unique_imdb_code(self): """ There is a person in db but, he has different imdb_code """ self.initialize() self.client.login(username=self.user.username, password='******') per = Person() per.name = "Jan" per.surname = "Kowalski" # Schwarzeneger's imdb code per.imdb_code = "0101010101010101" per.type = Person.TYPE_PERSON per.save() per = Person.objects.get(imdb_code="0101010101010101") self.assertEqual(per.name, "Jan") self.assertEqual(per.imdb_code, "0101010101010101") film_to_import = FilmToImport(user = self.user, title = 'Terminator', imdb_url = 'http://www.imdb.com/title/tt0088247/', imdb_id='0088247', status=FilmToImport.ACCEPTED) film_to_import.save() run(False, False, False, False, False, True, "http") person = Person.objects.get(imdb_code="0000216") self.assertEqual(person.name, "Arnold") self.assertEqual(person.surname, "Schwarzenegger") self.assertEqual(person.verified_imdb_code, True) self.assertEqual(person.imdb_code, "0000216") # old imdb_code should be set to None per = Person.objects.get(name="Jan", surname="Kowalski") self.assertEqual(per.imdb_code, "0101010101010101")
def setUp(self): self.user = User.objects.get(username='******') self.user.set_password('bob') self.user.save() self.film = Film(type=1, permalink='przypadek', imdb_code=111, status=1, version=1, release_year=1999, title='Przypadek', popularity=1, popularity_month=1) self.film.save() self.person = Person(type=2, permalink='jerzy-stuhr', imdb_code=112, status=1, version=1, name='Jerzy', surname='Stuhr') self.person.save()
def initialize(self): self.clean_data() # set up users self.u1 = User.objects.create_user('michuk', '*****@*****.**', 'secret') self.u1.save() self.u2 = User(username='******', email='*****@*****.**') self.u2.save() self.u3 = User(username='******', email='*****@*****.**') self.u3.save() self.u4 = User(username='******', email='*****@*****.**') self.u4.save() self.contest = Contest() self.contest.name = "Plebiscyt" self.contest.start_date = datetime.now() self.contest.end_date = datetime.now() self.contest.event_status = Contest.STATUS_OPEN self.contest.type = Object.TYPE_CONTEST self.contest.permalink = "plebiscyt" self.contest.save() film1 = Film() film1.title = "Battlefield Earth II" film1.type = Object.TYPE_FILM film1.permalink = "/battlefirld-earth-ii/" film1.release_year = 2010 film1.save() person1 = Person() person1.name = "John" person1.surname = "Travolta" person1.type = Object.TYPE_PERSON person1.permalink = "/john-travolta/" person1.save() person2 = Person() person2.name = "Tom" person2.surname = "Cruise" person2.type = Object.TYPE_PERSON person2.permalink = "/tom-cruise/" person2.save() person3 = Person() person3.name = "Forrest" person3.surname = "Whitaker" person3.type = Object.TYPE_PERSON person3.permalink = "/forrest-whitaker/" person3.save() character1 = Character() character1.character = "Scientologist 1" character1.person = person1 character1.film = film1 character1.save() self.character1 = character1 character2 = Character() character2.character = "Scientologist 2" character2.person = person2 character2.film = film1 character2.save() self.character2 = character2 character3 = Character() character3.character = "A non-scientologist" character3.person = person3 character3.film = film1 character3.save() self.character3 = character3 today = datetime.today() tomorrow = today + timedelta(1) self.game1 = Game() self.game1.contest = self.contest self.game1.type = Object.TYPE_GAME self.game1.permalink = "scientologist-1-vs-scientologist-2" self.game1.level = Game.LEVEL_32 self.game1.character1 = character1 self.game1.character2 = character2 self.game1.start_date = today self.game1.end_date = today self.game1.save() self.game2 = Game() self.game2.contest = self.contest self.game2.type = Object.TYPE_GAME self.game1.permalink = "scientologist-1-vs-scientologist-2" self.game2.level = Game.LEVEL_32 self.game2.character1 = character1 self.game2.character2 = character2 self.game2.start_date = tomorrow self.game2.end_date = tomorrow self.game2.save()
def setUp(self): User.objects.all().delete() Object.objects.all().delete() Film.objects.all().delete() FilmLog.objects.all().delete() Rating.objects.all().delete() Recommendation.objects.all().delete() Person.objects.all().delete() AddedCharacter.objects.all().delete() AddedFilm.objects.all().delete() # set up users self.u1 = User(username='******', email='*****@*****.**') self.u1.save() self.u2 = User.objects.create_user("root", "*****@*****.**", "root") self.u2.user_permissions.add( Permission.objects.get(codename="can_accept_added_films")) self.u2.save() self.u3 = User(username='******', email='*****@*****.**') self.u3.save() self.u4 = User(username='******', email='*****@*****.**') self.u4.save() self.u5 = User(username='******', email='*****@*****.**') self.u5.save() self.u6 = User(username='******', email='*****@*****.**') self.u6.save() # some persons self.p1 = Person(name="Clint", surname="Eastwood", imdb_code=None, type=Person.TYPE_PERSON) self.p1.save() self.p2 = Person(name="Sylvester", surname="Stallone", imdb_code=None, type=Person.TYPE_PERSON) self.p2.save() self.p3 = Person(name="Jack", surname="Mort", imdb_code=None, type=Person.TYPE_PERSON) self.p3.save() # set up films self.f1 = Film(type=1, permalink='przypadek', imdb_code=111, status=1, version=1, release_year=1999, title='Przypadek', popularity=20, popularity_month=10) self.f1.save() self.f2 = Film(type=1, permalink='wrestler', imdb_code=112, status=1, version=1, release_year=2008, title='Wrestler', popularity=10, popularity_month=1) self.f2.save() self.f3 = Film(type=1, permalink='american-history-x', imdb_code=113, status=1, version=1, release_year=1998, title='American History X', popularity=1, popularity_month=1) self.f3.save() self.f4 = Film(type=1, permalink='the-big-lebowski', imdb_code=114, status=1, version=1, release_year=1998, title='The Big Lebowski', popularity=1, popularity_month=1) self.f4.save() self.f5 = Film( type=1, permalink='the-lord-of-the-rings-the-fellowship-of-the-ring', imdb_code=115, status=1, version=1, release_year=2001, title='The Lord of the Rings: The Fellowship of the Ring', popularity=1, popularity_month=1) self.f5.save() self.f6 = Film(type=1, permalink='raiders-of-the-lost-ark', imdb_code=116, status=1, version=1, release_year=1981, title='Raiders of the Lost Ark', popularity=1, popularity_month=1) self.f6.save() self.f7 = Film(type=1, permalink='the-alien', imdb_code=117, status=1, version=1, release_year=1979, title='The Alien', popularity=1, popularity_month=1) self.f7.save() self.f8 = Film(type=1, permalink='terminator-2-judgment-day', imdb_code=118, status=1, version=1, release_year=1991, title='Terminator 2: Judgment Day', popularity=1, popularity_month=1) self.f8.save() self.f9 = Film(type=1, permalink='przypadek', imdb_code=119, status=1, version=1, release_year=1999, title='Przypadek', popularity=20, popularity_month=10) self.f9.save() self.f10 = Film(type=1, permalink='wrestler', imdb_code=120, status=1, version=1, release_year=2008, title='Wrestler', popularity=10, popularity_month=1) self.f10.save() self.f11 = Film(type=1, permalink='american-history-x', imdb_code=121, status=1, version=1, release_year=1998, title='American History X', popularity=1, popularity_month=1) self.f11.save() self.f12 = Film(type=1, permalink='the-big-lebowski', imdb_code=122, status=1, version=1, release_year=1998, title='The Big Lebowski', popularity=1, popularity_month=1) self.f12.save() self.f13 = Film( type=1, permalink='the-lord-of-the-rings-the-fellowship-of-the-ring', imdb_code=123, status=1, version=1, release_year=2001, title='The Lord of the Rings: The Fellowship of the Ring', popularity=1, popularity_month=1) self.f13.save() self.f14 = Film(type=1, permalink='raiders-of-the-lost-ark', imdb_code=124, status=1, version=1, release_year=1981, title='Raiders of the Lost Ark', popularity=1, popularity_month=1) self.f14.save() self.f15 = Film(type=1, permalink='the-alien', imdb_code=125, status=1, version=1, release_year=1979, title='The Alien', popularity=1, popularity_month=1) self.f15.save() self.f16 = Film(type=1, permalink='przypadek', imdb_code=126, status=1, version=1, release_year=1999, title='Przypadek', popularity=20, popularity_month=10) self.f16.save() self.f17 = Film(type=1, permalink='wrestler', imdb_code=127, status=1, version=1, release_year=2008, title='Wrestler', popularity=10, popularity_month=1) self.f17.save() self.f18 = Film(type=1, permalink='american-history-x', imdb_code=128, status=1, version=1, release_year=1998, title='American History X', popularity=1, popularity_month=1) self.f18.save() self.f19 = Film(type=1, permalink='the-big-lebowski', imdb_code=129, status=1, version=1, release_year=1998, title='The Big Lebowski', popularity=1, popularity_month=1) self.f19.save() self.f20 = Film( type=1, permalink='the-lord-of-the-rings-the-fellowship-of-the-ring', imdb_code=130, status=1, version=1, release_year=2001, title='The Lord of the Rings: The Fellowship of the Ring', popularity=1, popularity_month=1) self.f20.save() self.f21 = Film(type=1, permalink='raiders-of-the-lost-ark', imdb_code=131, status=1, version=1, release_year=1981, title='Raiders of the Lost Ark', popularity=1, popularity_month=1) self.f21.save() self.f22 = Film(type=1, permalink='the-alien', imdb_code=132, status=1, version=1, release_year=1979, title='The Alien', popularity=1, popularity_month=1) self.f22.save() self.f23 = Film(type=1, permalink='terminator-2-judgment-day', imdb_code=133, status=1, version=1, release_year=1991, title='Terminator 2: Judgment Day', popularity=1, popularity_month=1) self.f23.save() self.f24 = Film(type=1, permalink='przypadek', imdb_code=134, status=1, version=1, release_year=1999, title='Przypadek', popularity=20, popularity_month=10) self.f24.save() self.f25 = Film(type=1, permalink='wrestler', imdb_code=135, status=1, version=1, release_year=2008, title='Wrestler', popularity=10, popularity_month=1) self.f25.save() self.f26 = Film(type=1, permalink='american-history-x', imdb_code=136, status=1, version=1, release_year=1998, title='American History X', popularity=1, popularity_month=1) self.f26.save() self.f27 = Film(type=1, permalink='the-big-lebowski', imdb_code=137, status=1, version=1, release_year=1998, title='The Big Lebowski', popularity=1, popularity_month=1) self.f27.save() self.f28 = Film( type=1, permalink='the-lord-of-the-rings-the-fellowship-of-the-ring', imdb_code=138, status=1, version=1, release_year=2001, title='The Lord of the Rings: The Fellowship of the Ring', popularity=1, popularity_month=1) self.f28.save() self.f29 = Film(type=1, permalink='raiders-of-the-lost-ark', imdb_code=139, status=1, version=1, release_year=1981, title='Raiders of the Lost Ark', popularity=1, popularity_month=1) self.f29.save() self.f30 = Film(type=1, permalink='the-alien', imdb_code=140, status=1, version=1, release_year=1979, title='The Alien', popularity=1, popularity_month=1) self.f30.save() self.f31 = AddedFilm(title='Added film part 1', localized_title='Added film PL', release_year=2010, user=self.u1) self.f31.save() self.f31.directors.add(self.p1) self.f31.save() AddedCharacter.objects.create(added_film=self.f31, person=self.p3, character="Jack Mort") self.f31.accept(self.u2) self.f32 = AddedFilm(title='Added film part 2', localized_title='Added film PL', release_year=2010, user=self.u1) self.f32.save() self.f32.directors.add(self.p2) self.f32.save() AddedCharacter.objects.create(added_film=self.f32, person=self.p3, character="Jack Mort") self.f32.accept(self.u2) #tagging self.f1.save_tags('comedy drama horror animation mystery') self.f2.save_tags('comedy sci-fi thriller series') self.f3.save_tags('comedy') self.f4.save_tags('sci-fi') self.f5.save_tags('horror') self.f6.save_tags('thriller') self.f7.save_tags('drama') self.f8.save_tags('series') self.f9.save_tags('sci-fi') self.f10.save_tags('fantasy') self.f11.save_tags('mystery') self.f12.save_tags('action') self.f13.save_tags('adventure') self.f14.save_tags('animation') self.f15.save_tags('family') self.f16.save_tags('thriller') self.f17.save_tags('drama') self.f18.save_tags('series') self.f19.save_tags('sci-fi') self.f20.save_tags('fantasy') self.f21.save_tags('comedy') self.f22.save_tags('animation') self.f23.save_tags('comedy') self.f24.save_tags('sci-fi') self.f25.save_tags('horror') self.f26.save_tags('thriller') self.f27.save_tags('drama') self.f28.save_tags('series') self.f29.save_tags('sci-fi') self.f30.save_tags('fantasy') #First user ratings save_rating(self.f1, self.u1, 1) save_rating(self.f2, self.u1, 2) save_rating(self.f3, self.u1, 3) save_rating(self.f4, self.u1, 4) save_rating(self.f5, self.u1, 5) save_rating(self.f6, self.u1, 6) save_rating(self.f7, self.u1, 7) save_rating(self.f8, self.u1, 8) save_rating(self.f9, self.u1, 9) save_rating(self.f10, self.u1, 10) save_rating(self.f11, self.u1, 1) save_rating(self.f12, self.u1, 2) save_rating(self.f13, self.u1, 3) save_rating(self.f14, self.u1, 4) save_rating(self.f15, self.u1, 5) save_rating(self.f16, self.u1, 6) save_rating(self.f17, self.u1, 7) save_rating(self.f18, self.u1, 8) save_rating(self.f19, self.u1, 9) save_rating(self.f20, self.u1, 10) save_rating(self.f21, self.u1, 1) save_rating(self.f22, self.u1, 2) save_rating(self.f23, self.u1, 3) save_rating(self.f24, self.u1, 4) save_rating(self.f25, self.u1, 5) save_rating(self.f26, self.u1, 6) save_rating(self.f27, self.u1, 7) save_rating(self.f28, self.u1, 8) save_rating(self.f29, self.u1, 9) save_rating(self.f30, self.u1, 10) #Second user ratings - more than minimal common films requirement (15) save_rating(self.f1, self.u2, 1) save_rating(self.f2, self.u2, 2) save_rating(self.f3, self.u2, 3) save_rating(self.f4, self.u2, 4) save_rating(self.f5, self.u2, 5) save_rating(self.f6, self.u2, 6) save_rating(self.f7, self.u2, 7) save_rating(self.f8, self.u2, 8) save_rating(self.f9, self.u2, 9) save_rating(self.f10, self.u2, 10) save_rating(self.f11, self.u2, 1) #save_rating(self.f12, self.u2, 2) save_rating(self.f13, self.u2, 3) #save_rating(self.f14, self.u2, 4) save_rating(self.f15, self.u2, 5) #save_rating(self.f16, self.u2, 6) save_rating(self.f17, self.u2, 7) #save_rating(self.f18, self.u2, 8) save_rating(self.f19, self.u2, 9) #save_rating(self.f20, self.u2, 10) save_rating(self.f21, self.u2, 1) #save_rating(self.f22, self.u2, 2) save_rating(self.f23, self.u2, 3) #save_rating(self.f24, self.u2, 4) save_rating(self.f25, self.u2, 5) #save_rating(self.f26, self.u2, 6) save_rating(self.f27, self.u2, 7) #save_rating(self.f28, self.u2, 8) save_rating(self.f29, self.u2, 9) #save_rating(self.f30, self.u2, 10) # Third user ratings - equal with minimal common films requirement (15) #save_rating(self.f1, self.u3, 1) #save_rating(self.f2, self.u3, 2) #save_rating(self.f3, self.u3, 3) #save_rating(self.f4, self.u3, 4) #save_rating(self.f5, self.u3, 5) #save_rating(self.f6, self.u3, 6) #save_rating(self.f7, self.u3, 7) #save_rating(self.f8, self.u3, 8) #save_rating(self.f9, self.u3, 9) #save_rating(self.f10, self.u3, 10) #save_rating(self.f11, self.u3, 1) #save_rating(self.f12, self.u3, 2) #save_rating(self.f13, self.u3, 3) #save_rating(self.f14, self.u3, 4) #save_rating(self.f15, self.u3, 5) save_rating(self.f16, self.u3, 6) save_rating(self.f17, self.u3, 7) save_rating(self.f18, self.u3, 8) save_rating(self.f19, self.u3, 9) save_rating(self.f20, self.u3, 10) save_rating(self.f21, self.u3, 1) save_rating(self.f22, self.u3, 2) save_rating(self.f23, self.u3, 3) save_rating(self.f24, self.u3, 4) save_rating(self.f25, self.u3, 5) save_rating(self.f26, self.u3, 6) save_rating(self.f27, self.u3, 7) save_rating(self.f28, self.u3, 8) save_rating(self.f29, self.u3, 9) save_rating(self.f30, self.u3, 10) # Fourth user ratings - less than minimal films requirement #save_rating(self.f1, self.u4, 1) #save_rating(self.f2, self.u4, 2) #save_rating(self.f3, self.u4, 3) #save_rating(self.f4, self.u4, 4) #save_rating(self.f5, self.u4, 5) #save_rating(self.f6, self.u4, 6) #save_rating(self.f7, self.u4, 7) #save_rating(self.f8, self.u4, 8) #save_rating(self.f9, self.u4, 9) #save_rating(self.f10, self.u4, 10) #save_rating(self.f11, self.u4, 1) #save_rating(self.f12, self.u4, 2) #save_rating(self.f13, self.u4, 3) #save_rating(self.f14, self.u4, 4) #save_rating(self.f15, self.u4, 5) #save_rating(self.f16, self.u4, 6) #save_rating(self.f17, self.u4, 7) #save_rating(self.f18, self.u4, 8) #save_rating(self.f19, self.u4, 9) #save_rating(self.f20, self.u4, 10) save_rating(self.f21, self.u4, 1) save_rating(self.f22, self.u4, 2) save_rating(self.f23, self.u4, 3) save_rating(self.f24, self.u4, 4) save_rating(self.f25, self.u4, 5) save_rating(self.f26, self.u4, 6) save_rating(self.f27, self.u4, 7) save_rating(self.f28, self.u4, 8) save_rating(self.f29, self.u4, 9) save_rating(self.f30, self.u4, 10) # Fifth user ratings - the same films rated (1st and 5th user) but different # ratings #save_rating(self.f1, self.u5, 10) #save_rating(self.f2, self.u5, 9) #save_rating(self.f3, self.u5, 8) #save_rating(self.f4, self.u5, 7) #save_rating(self.f5, self.u5, 6) #save_rating(self.f6, self.u5, 5) #save_rating(self.f7, self.u5, 4) #save_rating(self.f8, self.u5, 3) #save_rating(self.f9, self.u5, 2) #save_rating(self.f10, self.u5, 1) #save_rating(self.f11, self.u5, 10) #save_rating(self.f12, self.u5, 9) #save_rating(self.f13, self.u5, 8) #save_rating(self.f14, self.u5, 7) #save_rating(self.f15, self.u5, 6) #save_rating(self.f16, self.u5, 5) #save_rating(self.f17, self.u5, 4) #save_rating(self.f18, self.u5, 3) #save_rating(self.f19, self.u5, 2) #save_rating(self.f20, self.u5, 1) #save_rating(self.f21, self.u5, 10) #save_rating(self.f22, self.u5, 9) #save_rating(self.f23, self.u5, 8) #save_rating(self.f24, self.u5, 7) #save_rating(self.f25, self.u5, 6) #save_rating(self.f26, self.u5, 5) #save_rating(self.f27, self.u5, 4) #save_rating(self.f28, self.u5, 3) #save_rating(self.f29, self.u5, 2) #save_rating(self.f30, self.u5, 1) # Sixth user ratings - the same films rated (1st and 5th user) but different # ratings save_rating(self.f1, self.u6, 10) save_rating(self.f2, self.u6, 10) save_rating(self.f3, self.u6, 10) save_rating(self.f4, self.u6, 10) save_rating(self.f5, self.u6, 10) save_rating(self.f6, self.u6, 10) save_rating(self.f7, self.u6, 10) save_rating(self.f8, self.u6, 10) save_rating(self.f9, self.u6, 10) save_rating(self.f10, self.u6, 10) save_rating(self.f11, self.u6, 10) save_rating(self.f12, self.u6, 10) save_rating(self.f13, self.u6, 10) save_rating(self.f14, self.u6, 10) save_rating(self.f15, self.u6, 10) save_rating(self.f16, self.u6, 10) save_rating(self.f17, self.u6, 10) save_rating(self.f18, self.u6, 10) save_rating(self.f19, self.u6, 10) save_rating(self.f20, self.u6, 10) save_rating(self.f21, self.u6, 10) save_rating(self.f22, self.u6, 10) save_rating(self.f23, self.u6, 10) save_rating(self.f24, self.u6, 10) save_rating(self.f25, self.u6, 10) save_rating(self.f26, self.u6, 10) save_rating(self.f27, self.u6, 10) save_rating(self.f28, self.u6, 10) save_rating(self.f29, self.u6, 10) save_rating(self.f30, self.u6, 10)
def test_persons( self ): fti1 = FilmToImport( user=self.user, title='Nybyggarna', imdb_url='http://www.imdb.com/title/tt0069035/', imdb_id='0069035', status=FilmToImport.ACCEPTED ) fti1.save() fti2 = FilmToImport( user=self.user, title='Utvandrarna', imdb_url='http://www.imdb.com/title/tt0067919/', imdb_id='0067919', status=FilmToImport.ACCEPTED ) fti2.save() fti3 = FilmToImport( user=self.user, title='Sandade Sandadi', imdb_url='http://www.imdb.com/title/tt0338408/', imdb_id='0338408', status=FilmToImport.ACCEPTED ) fti3.save() fti4 = FilmToImport( user = self.user, title = 'Journey to shiloh', imdb_url = 'http://www.imdb.com/title/tt0063161/', imdb_id = '0063161', status = FilmToImport.ACCEPTED ) fti4.save() fti5 = FilmToImport( user = self.user, title = 'Guys choice Awards 2011', imdb_url = 'http://www.imdb.com/title/tt2023505/', imdb_id = '2023505', status = FilmToImport.ACCEPTED ) fti5.save() self.assertTrue( compare( "Penélope Cruz", "Penélope Cruz", 2 ) ) fti6 = FilmToImport( user=self.user, title='Volver', imdb_url='http://www.imdb.com/title/tt0441909/', imdb_id='0441909', status=FilmToImport.ACCEPTED ) fti6.save() fti7 = FilmToImport( user=self.user, title='Gothika', imdb_url='http://www.imdb.com/title/tt0348836/', imdb_id='0348836', status=FilmToImport.ACCEPTED ) fti7.save() run( False, False, False, False, False, True, "http" ) self.assertEqual( Film.objects.count(), 7 ) self.assertEqual( Person.objects.filter( name='Harrison', surname='Ford', imdb_code='0000148', verified_imdb_code=True ).count(), 1 ) self.assertEqual( Person.objects.filter( name='Yvonne', surname='Oppstedt', imdb_code='0649235', verified_imdb_code=True ).count(), 1 ) self.assertEqual( Person.objects.filter( name='Sonali', surname='Joshi', imdb_code='1359890', verified_imdb_code=True ).count(), 1 ) self.assertEqual( Film.objects.filter( character__person__imdb_code='0649235' ).distinct().count(), 2 ) self.assertEqual( Film.objects.filter( character__person__imdb_code='1359890' ).distinct().count(), 1 ) # 1. two persons merged f1 = Film.objects.get( imdb_code='0338408' ) yvonne = Person.objects.get( imdb_code='0649235' ) sonali = Person.objects.get( imdb_code='1359890' ) for ch in Character.objects.filter( person=sonali, film=f1 ): ch.person = yvonne ch.save() self.assertEqual( Film.objects.filter( character__person=yvonne ).distinct().count(), 3 ) self.assertEqual( Film.objects.filter( character__person=sonali ).distinct().count(), 0 ) sonali.delete() yvonne.imdb_code = '1359890' yvonne.verified_imdb_code = False yvonne.import_comment = 'imdb name: Sonali Joshi' yvonne.save() # 2. one person with two movies f2 = Film.objects.get( imdb_code='2023505' ) harrison = Person.objects.get( imdb_code='0000148' ) bad_harrison = Person() bad_harrison.name = "Harrison" bad_harrison.surname = "Ford" bad_harrison.permalink = "harrison-ford-1" bad_harrison.type = Person.TYPE_PERSON bad_harrison.save() for ch in Character.objects.filter( person=harrison, film=f2 ): ch.person = bad_harrison ch.save() harrison.verified_imdb_code = False harrison.imdb_code = '111111' harrison.save() bad_harrison.verified_imdb_code = True bad_harrison.imdb_code = '0000148' bad_harrison.save() self.assertEqual( Film.objects.filter( character__person=harrison ).distinct().count(), 1 ) self.assertEqual( Film.objects.filter( character__person=bad_harrison ).distinct().count(), 1 ) self.assertEqual( Person.objects.filter( verified_imdb_code=False ).count(), 2 ) # 3. short imdb code duplicated self.assertEqual( Person.objects.filter( imdb_code='0880521', name='Liv', surname='Ullmann' ).count(), 1 ) liv = Person.objects.get( imdb_code='0880521' ) liv.permalink = 'liv-ullmann-1' liv.save() short_liv = Person() short_liv.imdb_code = '880521' short_liv.name = 'Liv' short_liv.surname = 'Ullmann' short_liv.permalink = 'liv-ullmann' short_liv.type = Person.TYPE_PERSON short_liv.save() # 4. not verified imdb_code self.assertEqual( Person.objects.filter( imdb_code='0005493', name='Justin', surname='Timberlake', verified_imdb_code=True ).count(), 1 ) justin = Person.objects.get( imdb_code='0005493' ) justin.verified_imdb_code = False justin.imdb_code = None justin.save() self.assertEqual( Person.objects.filter( imdb_code='0873296', name='Jan', surname='Troell', verified_imdb_code=True ).count(), 1 ) jan = Person.objects.get( imdb_code='0873296' ) jan.verified_imdb_code = False jan.save() # 5. html entities in name self.assertEqual( Person.objects.filter( name='Penélope', surname='Cruz', imdb_code='0004851', verified_imdb_code=True ).count(), 1 ) penelope = Person.objects.get( imdb_code='0004851' ) gothika = Film.objects.get( imdb_code='0348836' ) penelope.verified_imdb_code = False penelope.imdb_code = '4851' penelope.save() bad_penelope = Person() bad_penelope.name = "Penélope" bad_penelope.surname = "Cruz" bad_penelope.imdb_code = '0004851' bad_penelope.permalink = "penxe9lope-cruz" bad_penelope.type = Person.TYPE_PERSON bad_penelope.save() for ch in Character.objects.filter( person=penelope, film=gothika ): ch.person = bad_penelope ch.save() call_command( 'fix_imported_persons' ) #for p in Person.objects.all(): # print p.verified_imdb_code, p, p.imdb_code, p.import_comment self.assertEqual( Person.objects.filter( verified_imdb_code=False ).count(), 1 ) self.assertEqual( Film.objects.filter( character__person=harrison ).distinct().count(), 2 ) self.assertEqual( Person.objects.get( pk=yvonne.pk ).import_comment, 'imdb name: Sonali Joshi, not matched movies: 0338408' ) self.assertEqual( Person.objects.filter( imdb_code='880521' ).count(), 0 ) self.assertEqual( Person.objects.filter( imdb_code='0880521', name='Liv', surname='Ullmann' ).count(), 1 ) justin = Person.objects.get( pk=justin.pk ) self.assertEqual( justin.imdb_code, '0005493' ) self.assertTrue( justin.verified_imdb_code ) jan = Person.objects.get( pk=jan.pk ) self.assertEqual( jan.imdb_code, '0873296' ) self.assertTrue( jan.verified_imdb_code ) self.assertEqual( Person.objects.filter( name='Penélope', surname='Cruz', imdb_code='0004851', verified_imdb_code=True ).count(), 1 ) acted = Film.objects.filter( character__person=penelope ).distinct() self.assertTrue( len( acted ), 2 )