Ejemplo n.º 1
0
class GetQueryParametersTestCase(EngineerTestCase):
    """
    Tests methods for retrieving query parameters.
    """
    def setUp(self):
        super(GetQueryParametersTestCase, self).setUp()
        self.engineer = Engineer(query=self.query, specs=PipeSpecSheet())

    def test_get_accounts(self):
        """
        Tests the get_accounts method.
        """
        accounts = self.engineer.get_accounts()
        self.assertEqual(len(accounts), 2)

    def test_get_locations(self):
        """
        Tests the get_locations method.
        """
        locations = self.engineer.get_locations()
        self.assertEqual(len(locations), 4)

    def test_get_searchterms(self):
        """
        Tests the get_searchterms method.
        """
        searchterms = self.engineer.get_searchterms()
        self.assertEqual(len(searchterms), 3)
Ejemplo n.º 2
0
 def test_dup_terms(self):
     """
     Tests the _handle_phrases method for terms with duplicate words.
     """
     terms = [SearchTerm(term='police'), SearchTerm(term='police officer')]
     query = ReservoirQuery(searchterms=terms)
     specs = PipeSpecSheet(accepts_phrases=False)
     engineer = Engineer(query=query, specs=specs)
     engineer._handle_phrases()
     searchterms = engineer.get_searchterms()
     self.assertEqual(len(searchterms), 3)
Ejemplo n.º 3
0
 def test_for_negation_not_allowed(self):
     """
     Tests the _handle_negation method for an API that doesn't allow
     negation of search terms.
     """
     terms = [SearchTerm(term='police'), SearchTerm(term='car', negate=True)]
     query = ReservoirQuery(searchterms=terms)
     engineer = Engineer(query=query, specs=PipeSpecSheet())
     engineer._handle_negation()
     searchterms = engineer.get_searchterms()
     self.assertEqual(len(searchterms), 1)
Ejemplo n.º 4
0
 def test_for_accepts_phrases(self):
     """
     Tests the _handle_phrases method for an API that accepts phrases.
     """
     terms = [SearchTerm(term='police officer')]
     query = ReservoirQuery(searchterms=terms)
     specs = PipeSpecSheet(accepts_phrases=True)
     engineer = Engineer(query=query, specs=specs)
     engineer._handle_phrases()
     searchterms = engineer.get_searchterms()
     self.assertEqual(len(searchterms), 1)
     self.assertEqual(searchterms[0].term, 'police officer')
Ejemplo n.º 5
0
    def test_for_multiple_phrases(self):
        """
        Tests the _handle_phrases method for an API that accepts phrases.
        """
        # 'police', 'police oficeer', 'bank robbery'
        terms = SearchTerm.objects.filter(pk__in=[1, 2, 3])
        query = ReservoirQuery(searchterms=terms)
        specs = PipeSpecSheet(accepts_phrases=False)
        engineer = Engineer(query=query, specs=specs)
        engineer._handle_phrases()
        searchterms = engineer.get_searchterms()

        # 'police', 'officer', policeoficeer', 'bank', 'robbery', bankrobbery'
        self.assertEqual(len(searchterms), 6)