예제 #1
0
class ClassSearchTest(unittest.TestCase):
    """Test class search
    """

    def test_Orderby(self):
        """Test class Orderby
        """
        coluna1 = "coluna1"
        coluna2 = "coluna2"
        coluna3 = "coluna3"
        coluna4 = "coluna4"

        OrderBy([coluna1, coluna2], [coluna3, coluna4])

    def test_Search(self):
        """Test class Search
        """
        coluna1 = "coluna1"
        coluna2 = "coluna2"
        coluna3 = "coluna3"
        coluna4 = "coluna4"

        obj_orderby = OrderBy([coluna1, coluna2], [coluna3, coluna4])
        select = ["coluna1", "coluna2"]
        literal = 'select *'
        limit = 10
        offset = 10

        self.obj_Search = Search(select, obj_orderby,
                                 literal, limit, offset)
        self.obj_Search._asjson()
예제 #2
0
    def element_exists(self, element, value, orgao=None):
        """
        Return a crime by name
        """
        orderby = OrderBy([element])
        if orgao is None:
            search = Search(
                limit=1,
                order_by=orderby,
                literal="document->>'" + element + "' = '" + value + "'",
            )
        else:
            search = Search(
                limit=1,
                order_by=orderby,
                literal="document->>'" + element + "' = '" + value +
                "' and document->>'nome' <> '" + orgao + "'",
            )
        params = {'$$': search._asjson()}

        url = self.rest_url + '/' + self.lbbase.metadata.name + '/doc'
        result = requests.get(url=url, params=params)
        results = result.json()
        print(results)
        if results['result_count'] == 0:
            return False
        else:
            return True
예제 #3
0
 def get_collection(self, search_obj=None):
     """
     Retrieves collection of documents according to search object.
     @param search_obj: JSON which represents a search object.
     """
     if search_obj is not None:
         msg = 'search_obj must be a Search object.'
         assert isinstance(search_obj, Search), msg
     else:
         search_obj = Search()
     response = self.send_request(self.httpget,
         url_path=[self.basename, self.doc_prefix],
         params={self.search_param: search_obj._asjson()})
     return Collection(self.base, **lbutils.json2object(response))
예제 #4
0
 def update_collection(self, search_obj=None, path_list=[]):
     """
     Updates collection of documents according to search object.
     @param search_obj: JSON which represents a search object.
     """
     if search_obj is not None:
         msg = 'search_obj must be a Search object.'
         assert isinstance(search_obj, Search), msg
     else:
         search_obj = Search()
     response = self.send_request(self.httpput,
         url_path=[self.basename, self.doc_prefix],
         params={self.search_param: search_obj._asjson(),
         self.path_param: lbutils.object2json(path_list)})
     return response
예제 #5
0
 def get_collection(self, search_obj=None):
     """
     Retrieves collection of "file text" according to search object.
     @param search_obj: JSON which represents a search object.
     """
     if search_obj is not None:
         msg = 'search_obj must be a Search object.'
         assert isinstance(search_obj, Search), msg
     else:
         search_obj = Search()
     response = self.send_request(
         self.httpget,
         url_path=[self.basename, self.file_prefix],
         params={self.search_param: search_obj._asjson()})
     return FileCollection(**lbutils.json2object(response))
예제 #6
0
    def get_collection(self, search_obj=None, instance=True):
        """
        Retrieves collection of documents according to search object.
        @param search_obj: JSON which represents a search object.
        """
        if search_obj is not None:
            msg = 'search_obj must be a Search object.'
            assert isinstance(search_obj, Search), msg
        else:
            search_obj = Search()
        response = self.send_request(
            self.httpget,
            url_path=[self.basename, self.doc_prefix],
            params={self.search_param: search_obj._asjson()})

        #return Collection(self.base, **lbutils.json2object(response))
        #return dict2genericbase(response.json())
        return dict2genericbase(lbutils.json2object(response))
예제 #7
0
 def update_collection(self, search_obj=None, path_list=[]):
     """
     Updates collection of documents according to search object.
     @param search_obj: JSON which represents a search object.
     """
     if search_obj is not None:
         msg = 'search_obj must be a Search object.'
         assert isinstance(search_obj, Search), msg
     else:
         search_obj = Search()
     response = self.send_request(self.httpput,
                                  url_path=[self.basename, self.doc_prefix],
                                  params={
                                      self.search_param:
                                      search_obj._asjson(),
                                      self.path_param:
                                      lbutils.object2json(path_list)
                                  })
     return response
예제 #8
0
    def get_collection(self, search_obj=None, instance=True, return_as_dict=False):
        """
        Retrieves collection of documents according to search object.
        @param search_obj: JSON which represents a search object.
        """
        if search_obj is not None:
            msg = 'search_obj must be a Search object.'
            assert isinstance(search_obj, Search), msg
        else:
            search_obj = Search()
        response = self.send_request(self.httpget,
            url_path=[self.basename, self.doc_prefix],
            params={self.search_param: search_obj._asjson()})

        # NOTE: Adicionado pelo Bleno 06/10/2016. Adicionado por Bleno Nascimento 
        # Silva aproximadamente 2 anos atrás removendo a validação no retorno do método 
        # "get_collection". By Alexandre
        # return Collection(self.base, **lbutils.json2object(response))
        # return dict2genericbase(response.json())

        if return_as_dict:
            return dict2genericbase(lbutils.json2object(response))
        else:            
            return Collection(self.base, **lbutils.json2object(response))