| 1729 | |
| 1730 | @classmethod |
| 1731 | def insert_data(cls, connection): |
| 1732 | UserKeyword, User, Keyword, Singular = ( |
| 1733 | cls.classes.UserKeyword, |
| 1734 | cls.classes.User, |
| 1735 | cls.classes.Keyword, |
| 1736 | cls.classes.Singular, |
| 1737 | ) |
| 1738 | |
| 1739 | session = Session(connection) |
| 1740 | words = ("quick", "brown", "fox", "jumped", "over", "the", "lazy") |
| 1741 | for ii in range(16): |
| 1742 | user = User("user%d" % ii) |
| 1743 | |
| 1744 | if ii % 2 == 0: |
| 1745 | user.singular = Singular( |
| 1746 | value=("singular%d" % ii) if ii % 4 == 0 else None |
| 1747 | ) |
| 1748 | session.add(user) |
| 1749 | for jj in words[(ii % len(words)) : ((ii + 3) % len(words))]: |
| 1750 | k = Keyword(jj) |
| 1751 | user.keywords.append(k) |
| 1752 | if ii % 2 == 0: |
| 1753 | user.singular.keywords.append(k) |
| 1754 | user.user_keywords[-1].value = "singular%d" % ii |
| 1755 | |
| 1756 | orphan = Keyword("orphan") |
| 1757 | orphan.user_keyword = UserKeyword(keyword=orphan, user=None) |
| 1758 | session.add(orphan) |
| 1759 | |
| 1760 | keyword_with_nothing = Keyword("kwnothing") |
| 1761 | session.add(keyword_with_nothing) |
| 1762 | |
| 1763 | session.commit() |
| 1764 | cls.u = user |
| 1765 | cls.kw = user.keywords[0] |
| 1766 | |
| 1767 | # TODO: this is not the correct pattern, use session per test |
| 1768 | cls.session = Session(testing.db) |
| 1769 | |
| 1770 | def _equivalent(self, q_proxy, q_direct): |
| 1771 | proxy_sql = q_proxy.statement.compile(dialect=default.DefaultDialect()) |