def test_with_bad_foreign_keys(self, session, User, Comment): john = User(name=u'John') jack = User(name=u'Jack') with pytest.raises(ValueError): merge_references(john, jack, foreign_keys=Comment.__table__.foreign_keys)
def test_supports_associations(self, session, User, Team): john = User(name=u'John') jack = User(name=u'Jack') team = Team(name=u'Team') team.members.append(john) session.add(john) session.add(jack) session.commit() merge_references(john, jack) assert john not in team.members assert jack in team.members
def test_supports_associations(self): john = self.User(name=u'John') jack = self.User(name=u'Jack') team = self.Team(name=u'Team') team.members.append(john) self.session.add(john) self.session.add(jack) self.session.commit() merge_references(john, jack) assert john not in team.members assert jack in team.members
def test_updates_foreign_keys(self, session, User, BlogPost): john = User(name=u'John') jack = User(name=u'Jack') post = BlogPost(title=u'Some title', author=john) post2 = BlogPost(title=u'Other title', author=jack) session.add(john) session.add(jack) session.add(post) session.add(post2) session.commit() merge_references(john, jack) session.commit() assert post.author == jack assert post2.author == jack
def test_supports_associations(self, session, User, Team, TeamMember): john = User(name=u'John') jack = User(name=u'Jack') team = Team(name=u'Team') team.members.append(TeamMember(user=john)) session.add(john) session.add(jack) session.add(team) session.commit() merge_references(john, jack) session.commit() users = [member.user for member in team.members] assert john not in users assert jack in users
def test_updates_foreign_keys(self): john = self.User(name=u'John') jack = self.User(name=u'Jack') post = self.BlogPost(title=u'Some title', author=john) post2 = self.BlogPost(title=u'Other title', author=jack) self.session.add(john) self.session.add(jack) self.session.add(post) self.session.add(post2) self.session.commit() merge_references(john, jack) self.session.commit() assert post.author == jack assert post2.author == jack
def test_object_merging_whenever_possible(self, session, User, BlogPost): john = User(name=u'John') jack = User(name=u'Jack') post = BlogPost(title=u'Some title', author=john) post2 = BlogPost(title=u'Other title', author=jack) session.add(john) session.add(jack) session.add(post) session.add(post2) session.commit() # Load the author for post assert post.author_id == john.id merge_references(john, jack) assert post.author_id == jack.id assert post2.author_id == jack.id
def test_object_merging_whenever_possible(self): john = self.User(name=u'John') jack = self.User(name=u'Jack') post = self.BlogPost(title=u'Some title', author=john) post2 = self.BlogPost(title=u'Other title', author=jack) self.session.add(john) self.session.add(jack) self.session.add(post) self.session.add(post2) self.session.commit() # Load the author for post assert post.author_id == john.id merge_references(john, jack) assert post.author_id == jack.id assert post2.author_id == jack.id
def test_updates_foreign_keys(self, session, User, BlogPost, Address): john = User(name=u'John') jack = User(name=u'Jack') post = BlogPost(title=u'Some title', author=john) post2 = BlogPost(title=u'Other title', author=jack) address1 = Address(city=u'New York', user=john) address2 = Address(city=u'Los Angeles', user=jack) session.add(john) session.add(jack) session.add(post) session.add(post2) session.add(address1) session.add(address2) session.commit() merge_references(john, jack) session.commit() assert post.author == jack assert post2.author == jack assert address1.user == jack assert address2.user == jack