class TestQueryBuilder(unittest.TestCase): def setUp(self): self.client = QueryBuilder() self.dir = os.path.dirname(__file__) def test__query_divider(self): query = "x" # 1 query assert(self.client._query_divider(query,1) == ["x LIMIT 1 OFFSET 0;"]) # multiple queries assert(self.client._query_divider(query,500) == ['x LIMIT 99 OFFSET 0;', 'x LIMIT 99 OFFSET 99;', 'x LIMIT 99 OFFSET 198;', 'x LIMIT 99 OFFSET 297;', 'x LIMIT 99 OFFSET 396;', 'x LIMIT 5 OFFSET 495;']) def test__parse_query_results_json(self): json_result = [u'[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Kinkrsoftware"]]}}]'] json_multiple_query_result = ['[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Friesland Bank N.V."]]}}]', '[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Bineko-export B.V."],["Bytefabriek"]]}}]'] # JSON FORMAT TEST self.client.setResponseFormat('json') # JSON - 1 query assert(self.client._parse_query_results(json_result) == '[{"bedrijfsnaam": "Kinkrsoftware"}]') # JSON - multiple queries assert(self.client._parse_query_results(json_multiple_query_result) == '[{"bedrijfsnaam": "Friesland Bank N.V."}, {"bedrijfsnaam": "Bineko-export B.V."}, {"bedrijfsnaam": "Bytefabriek"}]') def test_parse_query_results_py(self): py_result = ['[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Kinkrsoftware"]]}}]'] py_multiple_query_result = ['[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Friesland Bank N.V."]]}}]', '[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Bineko-export B.V."],["Bytefabriek"]]}}]'] # PYTHON FORMAT TEST self.client.setResponseFormat('py') # PY - 1 query assert(self.client._parse_query_results(py_result) == [{"bedrijfsnaam": "Kinkrsoftware"}]) # py - multiple queries assert(self.client._parse_query_results(py_multiple_query_result) == [{"bedrijfsnaam": "Friesland Bank N.V."},{"bedrijfsnaam": "Bineko-export B.V."},{"bedrijfsnaam": "Bytefabriek"}]) def test_parse_query_results_csv(self): csv_result = ['"bedrijfsnaam"\n"Kinkrsoftware"\n'] csv_multiple_query_result = ['"bedrijfsnaam"\n"Friesland Bank N.V."\n"', '"bedrijfsnaam"\n"Bineko-export B.V."\n"Bytefabriek"\n'] # CSV FORMAT TEST self.client.setResponseFormat('csv') # CSV - 1 query assert(self.client._parse_query_results(csv_result) == 'bedrijfsnaam\nKinkrsoftware') # CSV - multiple queries assert(self.client._parse_query_results(csv_multiple_query_result) == 'bedrijfsnaam\nFriesland Bank N.V.\nBineko-export B.V.\nBytefabriek') def test__do_query(self): pass def test_query(self): with pytest.raises(ValueError): self.client.query(1)
class TestQueryBuilder(unittest.TestCase): def setUp(self): self.client = QueryBuilder() self.dir = os.path.dirname(__file__) def test__query_divider(self): query = "x" # 1 query assert (self.client._query_divider(query, 1) == ["x LIMIT 1 OFFSET 0;"]) # multiple queries assert (self.client._query_divider(query, 500) == [ 'x LIMIT 99 OFFSET 0;', 'x LIMIT 99 OFFSET 99;', 'x LIMIT 99 OFFSET 198;', 'x LIMIT 99 OFFSET 297;', 'x LIMIT 99 OFFSET 396;', 'x LIMIT 5 OFFSET 495;' ]) def test__parse_query_results_json(self): json_result = [ u'[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Kinkrsoftware"]]}}]' ] json_multiple_query_result = [ '[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Friesland Bank N.V."]]}}]', '[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Bineko-export B.V."],["Bytefabriek"]]}}]' ] # JSON FORMAT TEST self.client.setResponseFormat('json') # JSON - 1 query assert (self.client._parse_query_results(json_result) == '[{"bedrijfsnaam": "Kinkrsoftware"}]') # JSON - multiple queries assert ( self.client._parse_query_results(json_multiple_query_result) == '[{"bedrijfsnaam": "Friesland Bank N.V."}, {"bedrijfsnaam": "Bineko-export B.V."}, {"bedrijfsnaam": "Bytefabriek"}]' ) def test_parse_query_results_py(self): py_result = [ '[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Kinkrsoftware"]]}}]' ] py_multiple_query_result = [ '[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Friesland Bank N.V."]]}}]', '[{"RESULT":{"TYPES":["varchar"],"HEADER":["bedrijfsnaam"],"ROWS":[["Bineko-export B.V."],["Bytefabriek"]]}}]' ] # PYTHON FORMAT TEST self.client.setResponseFormat('py') # PY - 1 query assert (self.client._parse_query_results(py_result) == [{ "bedrijfsnaam": "Kinkrsoftware" }]) # py - multiple queries assert (self.client._parse_query_results(py_multiple_query_result) == [ { "bedrijfsnaam": "Friesland Bank N.V." }, { "bedrijfsnaam": "Bineko-export B.V." }, { "bedrijfsnaam": "Bytefabriek" } ]) def test_parse_query_results_csv(self): csv_result = ['"bedrijfsnaam"\n"Kinkrsoftware"\n'] csv_multiple_query_result = [ '"bedrijfsnaam"\n"Friesland Bank N.V."\n"', '"bedrijfsnaam"\n"Bineko-export B.V."\n"Bytefabriek"\n' ] # CSV FORMAT TEST self.client.setResponseFormat('csv') # CSV - 1 query assert (self.client._parse_query_results(csv_result) == 'bedrijfsnaam\nKinkrsoftware') # CSV - multiple queries assert ( self.client._parse_query_results(csv_multiple_query_result) == 'bedrijfsnaam\nFriesland Bank N.V.\nBineko-export B.V.\nBytefabriek' ) def test__do_query(self): pass def test_query(self): with pytest.raises(ValueError): self.client.query(1)
from __future__ import print_function from OpenKVK import QueryBuilder client = QueryBuilder() client.setResponseFormat('csv') print(client.query("SELECT * FROM kvk WHERE kvks = 27312152;"))