def test_http_call_failed(self, mock_conn, mock_presto_config):
        client = PrestoClient('any_host', 'any_user')
        mock_conn.side_effect = HTTPException("Error")
        self.assertFalse(client.run_sql("any_sql"))

        mock_conn.side_effect = socket.error("Error")
        self.assertFalse(client.run_sql("any_sql"))
    def test_http_call_failed(self, mock_conn, mock_presto_config):
        client = PrestoClient('any_host', 'any_user')
        mock_conn.side_effect = HTTPException("Error")
        self.assertFalse(client.run_sql("any_sql"))

        mock_conn.side_effect = socket.error("Error")
        self.assertFalse(client.run_sql("any_sql"))
    def test_default_request_called(self, mock_conn, mock_presto_config):
        client = PrestoClient('any_host', 'any_user')
        headers = {"X-Presto-Catalog": "hive", "X-Presto-Schema": "default",
                   "X-Presto-User": '******', "X-Presto-Source": "presto-admin"}

        client.run_sql("any_sql")
        mock_conn.assert_called_with('any_host', 8080, False, URL_TIMEOUT_MS)
        mock_conn().request.assert_called_with("POST", "/v1/statement",
                                               "any_sql", headers)
        self.assertTrue(mock_conn().getresponse.called)
 def testrun_sql_get_port(self, sudo_mock, conn_mock, mock_presto_config):
     client = PrestoClient('any_host', 'any_user')
     client.rows = ['hello']
     client.next_uri = 'hello'
     client.response_from_server = {'hello': 'hello'}
     sudo_mock.return_value = _AttributeString('http-server.http.port=8080')
     sudo_mock.return_value.failed = False
     sudo_mock.return_value.return_code = 0
     client.run_sql('select * from nation')
     self.assertEqual(client.port, 8080)
     self.assertEqual(client.rows, [])
     self.assertEqual(client.next_uri, '')
     self.assertEqual(client.response_from_server, {})
 def testrun_sql_get_port(self, sudo_mock, conn_mock, mock_presto_config):
     client = PrestoClient('any_host', 'any_user')
     client.rows = ['hello']
     client.next_uri = 'hello'
     client.response_from_server = {'hello': 'hello'}
     sudo_mock.return_value = _AttributeString('http-server.http.port=8080')
     sudo_mock.return_value.failed = False
     sudo_mock.return_value.return_code = 0
     client.run_sql('select * from nation')
     self.assertEqual(client.port, 8080)
     self.assertEqual(client.rows, [])
     self.assertEqual(client.next_uri, '')
     self.assertEqual(client.response_from_server, {})
    def test_default_request_called(self, mock_conn, mock_presto_config):
        client = PrestoClient('any_host', 'any_user')
        headers = {
            "X-Presto-Catalog": "hive",
            "X-Presto-Schema": "default",
            "X-Presto-User": '******',
            "X-Presto-Source": "presto-admin"
        }

        client.run_sql("any_sql")
        mock_conn.assert_called_with('any_host', 8080, False, URL_TIMEOUT_MS)
        mock_conn().request.assert_called_with("POST", "/v1/statement",
                                               "any_sql", headers)
        self.assertTrue(mock_conn().getresponse.called)
 def test_http_answer_valid(self, mock_response, mock_request,
                            mock_presto_config):
     client = PrestoClient('any_host', 'any_user')
     mock_response.return_value.read.return_value = '{}'
     type(mock_response.return_value).status = \
         PropertyMock(return_value=200)
     self.assertEquals(client.run_sql('any_sql'), [])
    def test_connection_failed(self, mock_conn, mock_presto_config):
        client = PrestoClient('any_host', 'any_user')
        client.run_sql("any_sql")

        self.assertTrue(mock_conn().close.called)
        self.assertFalse(client.run_sql("any_sql"))
 def test_http_answer_valid(self, mock_response, mock_request, mock_presto_config):
     client = PrestoClient('any_host', 'any_user')
     mock_response.return_value.read.return_value = '{}'
     type(mock_response.return_value).status = \
         PropertyMock(return_value=200)
     self.assertEquals(client.run_sql('any_sql'), [])
    def test_connection_failed(self, mock_conn, mock_presto_config):
        client = PrestoClient('any_host', 'any_user')
        client.run_sql("any_sql")

        self.assertTrue(mock_conn().close.called)
        self.assertFalse(client.run_sql("any_sql"))