def setUp(self):
        blog = Blog(name='Databases')
        blog.save()
        self.blogs = [blog]

        authors = ('John Smith', 'Jane Doe', 'Joe Plummer')
        comments = ('Ok', 'Believe it', "Sounds right")
        headlines = ('MySQL is a relational DB',
                     'Postgres is a really good relational DB',
                     'Neo4J is a graph DB')

        self.entries = [
            Entry(headline=headline, blog=blog) for headline in headlines
        ]
        for entry in self.entries:
            entry.save()

        self.authors = [Author(name=name) for name in authors]
        for author in self.authors:
            author.save()

        self.comments = [
            Comment(comment=comment, entry=entry)
            for comment, entry in zip(comments, self.entries)
        ]
        for comment in self.comments:
            comment.save()

        for i, entry in enumerate(self.entries):
            entry.authors.add(self.authors[i])
            entry.authors.add(self.authors[(i + 1) % len(self.authors)])

        model_registry.register(curious_tests.models)
    def setUp(self):
        blog = Blog(name='Databases')
        blog.save()
        self.blogs = [blog]

        authors = ('John Smith', 'Jane Doe', 'Joe Plummer')
        headlines = ('MySQL is a relational DB',
                     'Postgres is a really good relational DB',
                     'Neo4J is a graph DB')

        self.entries = [
            Entry(headline=headline, blog=blog) for headline in headlines
        ]
        for entry in self.entries:
            entry.save()

        self.authors = [Author(name=name) for name in authors]
        for author in self.authors:
            author.save()

        for i, entry in enumerate(self.entries):
            entry.authors.add(self.authors[i])
            entry.authors.add(self.authors[(i + 1) % len(self.authors)])

        model_registry.register(curious_tests.models)
        model_registry.get_manager('Blog').allowed_relationships = ['authors']
  def test_query_traversing_to_one_to_one_object(self):
    person = Person(gender='unknown')
    person.save()

    author = Author(name='Al', age=99, person=person)
    author.save()

    qs = 'Author(name="Al") Author.person'
    query = Query(qs)
    result = query()
    assertQueryResultsEqual(self, result[0][0][0], [(person, None)])
    self.assertEquals(result[1], Person)

    # go back
    qs = 'Person(gender="unknown") Person.author'
    query = Query(qs)
    result = query()
    assertQueryResultsEqual(self, result[0][0][0], [(author, None)])
    self.assertEquals(result[1], Author)
    def test_query_traversing_to_one_to_one_object(self):
        person = Person(gender='unknown')
        person.save()

        author = Author(name='Al', age=99, person=person)
        author.save()

        qs = 'Author(name="Al") Author.person'
        query = Query(qs)
        result = query()
        assertQueryResultsEqual(self, result[0][0][0], [(person, None)])
        self.assertEquals(result[1], Person)

        # go back
        qs = 'Person(gender="unknown") Person.author'
        query = Query(qs)
        result = query()
        assertQueryResultsEqual(self, result[0][0][0], [(author, None)])
        self.assertEquals(result[1], Author)
Exemple #5
0
  def setUp(self):
    self.blogs = [Blog(name='Databases'), Blog(name='More Databases')]
    for blog in self.blogs:
      blog.save()

    authors = ['John Smith']*TestQueryCount.N
    headlines = ['MySQL is a relational DB']*TestQueryCount.N

    self.entries = [Entry(headline=headline, blog=self.blogs[i%2]) for i, headline in enumerate(headlines)]
    for entry in self.entries:
      entry.save()

    self.authors = [Author(name=name) for name in authors]
    for author in self.authors:
      author.save()

    for i, entry in enumerate(self.entries):
      entry.authors.add(self.authors[i])
      entry.authors.add(self.authors[(i+1)%len(self.authors)])
Exemple #6
0
    def setUp(self):
        blog = Blog(name='Databases')
        blog.save()
        self.blog = blog

        authors = ('John Smith', 'Jane Doe', 'Joe Plummer', 'Jessical Jones')
        headlines = ('MySQL is a good relational DB',
                     'Postgres is a really good relational DB',
                     'Neo4J is a graph DB',
                     'But we are not comparing relational and graph DBs')

        self.entries = [
            Entry(headline=headline, blog=blog) for headline in headlines
        ]
        for entry in self.entries:
            entry.save()

        self.entries[1].response_to = self.entries[0]
        self.entries[1].save()
        self.entries[2].response_to = self.entries[1]
        self.entries[2].save()
        self.entries[3].response_to = self.entries[2]
        self.entries[3].save()

        self.authors = [Author(name=name, age=30) for name in authors]
        for i, author in enumerate(self.authors):
            author.save()

        for i, entry in enumerate(self.entries):
            entry.authors.add(self.authors[i])

        model_registry.register(curious_tests.models)

        qs = 'Blog(%s) Blog.entry_set(headline__icontains="MySQL")' % self.blog.pk
        query = Query(qs)
        result = query()
        self.assertEquals(result[0][0][1], -1)
        assertQueryResultsEqual(self, result[0][0][0],
                                [(self.entries[0], None)])
        self.assertEquals(result[1], Entry)
Exemple #7
0
    def setUp(self):
        blog = Blog(name='Databases')
        blog.save()
        self.blogs = [blog]

        authors = ('John Smith', 'Jane Doe', 'Joe Plummer')
        headlines = ('MySQL is a relational DB',
                     'Postgres is a really good relational DB',
                     'Neo4J is a graph DB')

        self.entries = [
            Entry(headline=headline, blog=blog) for headline in headlines
        ]
        for entry in self.entries:
            entry.save()

        self.authors = [Author(name=name) for name in authors]
        for author in self.authors:
            author.save()

        for i, entry in enumerate(self.entries):
            entry.authors.add(self.authors[i])
            entry.authors.add(self.authors[(i + 1) % len(self.authors)])