本文整理汇总了Python中silverberg.client.CQLClient类的典型用法代码示例。如果您正苦于以下问题:Python CQLClient类的具体用法?Python CQLClient怎么用?Python CQLClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CQLClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_cql_sequence
def test_cql_sequence(self):
"""
Test a sequence of operations results in only one handshake
but two requests.
"""
expected = [{"foo": "{P}"}]
mockrow = [ttypes.CqlRow(key='blah', columns=[ttypes.Column(name='foo', value='{P}')])]
self.mock_results = ttypes.CqlResult(
type=ttypes.CqlResultType.ROWS, rows=mockrow,
schema=ttypes.CqlMetadata(
value_types={'foo': 'org.apache.cassandra.db.marshal.UTF8Type'}))
client = CQLClient(self.endpoint, 'blah')
def _cqlProc(r):
return client.execute("SELECT :sel FROM test_blah", {"sel": "blah"},
ConsistencyLevel.ONE)
d = client.execute("SELECT :sel FROM test_blah", {"sel": "ffh"},
ConsistencyLevel.ONE)
d.addCallback(_cqlProc)
self.assertEqual(self.assertFired(d), expected)
self.client_proto.execute_cql3_query.assert_any_call("SELECT 'blah' FROM test_blah", 2,
ConsistencyLevel.ONE)
self.client_proto.execute_cql3_query.assert_any_call("SELECT 'ffh' FROM test_blah", 2,
ConsistencyLevel.ONE)
self.client_proto.set_keyspace.assert_called_once_with('blah')
示例2: test_disconnect
def test_disconnect(self):
"""
When disconnect is called, the on demand thrift client is disconnected
"""
client = CQLClient(self.endpoint, 'blah')
self.assertFired(client.describe_version())
client.disconnect()
self.twisted_transport.loseConnection.assert_called_once_with()
示例3: test_bad_keyspace
def test_bad_keyspace(self):
"""Ensure that a bad keyspace results in an errback."""
self.client_proto.set_keyspace.return_value = defer.fail(ttypes.NotFoundException())
client = CQLClient(self.endpoint, 'blah')
d = client.describe_version()
self.assertFailed(d, ttypes.NotFoundException)
self.client_proto.set_keyspace.assert_called_once_with('blah')
示例4: test_describe_version
def test_describe_version(self):
"""Connect and check the version."""
client = CQLClient(self.endpoint, 'blah')
d = client.describe_version()
self.assertEqual(self.assertFired(d), '1.2.3')
self.assertEqual(self.client_proto.describe_version.call_count, 1)
self.client_proto.set_keyspace.assert_called_once_with('blah')
示例5: test_login
def test_login(self):
"""Test that login works as expected."""
client = CQLClient(self.endpoint, "blah", "groucho", "swordfish")
d = client.describe_version()
self.assertEqual(self.assertFired(d), "1.2.3")
self.client_proto.describe_version.assert_called_once_with()
self.client_proto.set_keyspace.assert_called_once_with("blah")
creds = {"user": "groucho", "password": "swordfish"}
authreq = ttypes.AuthenticationRequest(creds)
self.client_proto.login.assert_called_once_with(authreq)
示例6: test_cql_insert
def test_cql_insert(self):
"""Test a mock CQL insert with a VOID response works."""
expected = None
self.mock_results = ttypes.CqlResult(type=ttypes.CqlResultType.VOID)
client = CQLClient(self.endpoint, "blah")
d = client.execute("UPDATE blah SET 'key'='frr', 'fff'=1222 WHERE KEY='frr'", {}, ConsistencyLevel.ONE)
self.assertEqual(self.assertFired(d), expected)
self.client_proto.execute_cql3_query.assert_called_once_with(
"UPDATE blah SET 'key'='frr', 'fff'=1222 WHERE KEY='frr'", 2, ConsistencyLevel.ONE
)
self.client_proto.set_keyspace.assert_called_once_with("blah")
示例7: test_cql_value
def test_cql_value(self):
"""
Test that a CQL response that is an integer value is
processed correctly (e.g. SELECT COUNT).
"""
self.mock_results = ttypes.CqlResult(type=ttypes.CqlResultType.INT, num=1)
client = CQLClient(self.endpoint, 'blah')
d = client.execute("SELECT :sel FROM test_blah", {"sel": "blah"}, ConsistencyLevel.ONE)
self.assertEqual(self.assertFired(d), 1)
self.client_proto.execute_cql3_query.assert_called_once_with("SELECT 'blah' FROM test_blah", 2,
ConsistencyLevel.ONE)
self.client_proto.set_keyspace.assert_called_once_with('blah')
示例8: test_cql_insert_vars
def test_cql_insert_vars(self):
"""Test that a CQL insert that has variables works."""
expected = None
self.mock_results = ttypes.CqlResult(type=ttypes.CqlResultType.VOID)
client = CQLClient(self.endpoint, 'blah')
d = client.execute("UPDATE blah SET 'key'='frr', 'fff'=:val WHERE KEY='frr'", {"val": 1234},
ConsistencyLevel.ONE)
self.assertEqual(self.assertFired(d), expected)
self.client_proto.execute_cql3_query.assert_called_once_with(
"UPDATE blah SET 'key'='frr', 'fff'=1234 WHERE KEY='frr'",
2, ConsistencyLevel.ONE)
self.client_proto.set_keyspace.assert_called_once_with('blah')
示例9: test_cql_array
def test_cql_array(self):
"""Test that a full CQL response (e.g. SELECT) works."""
expected = [{"foo": "{P}"}]
mockrow = [ttypes.CqlRow(key='blah', columns=[ttypes.Column(name='foo', value='{P}')])]
self.mock_results = ttypes.CqlResult(
type=ttypes.CqlResultType.ROWS,
rows=mockrow,
schema=ttypes.CqlMetadata(value_types={'foo': 'org.apache.cassandra.db.marshal.UTF8Type'}))
client = CQLClient(self.endpoint, 'blah')
d = client.execute("SELECT :sel FROM test_blah", {"sel": "blah"}, ConsistencyLevel.ONE)
self.assertEqual(self.assertFired(d), expected)
self.client_proto.execute_cql3_query.assert_called_once_with("SELECT 'blah' FROM test_blah", 2,
ConsistencyLevel.ONE)
self.client_proto.set_keyspace.assert_called_once_with('blah')
示例10: test_cql_array_deserial
def test_cql_array_deserial(self):
"""Make sure that values that need to be deserialized correctly are."""
expected = [{"fff": 1222}]
mockrow = [ttypes.CqlRow(key="blah", columns=[ttypes.Column(name="fff", value="\x04\xc6")])]
self.mock_results = ttypes.CqlResult(
type=ttypes.CqlResultType.ROWS,
rows=mockrow,
schema=ttypes.CqlMetadata(value_types={"fff": "org.apache.cassandra.db.marshal.IntegerType"}),
)
client = CQLClient(self.endpoint, "blah")
d = client.execute("SELECT * FROM :tablename;", {"tablename": "blah"}, ConsistencyLevel.ONE)
self.assertEqual(self.assertFired(d), expected)
self.client_proto.execute_cql3_query.assert_called_once_with("SELECT * FROM 'blah';", 2, ConsistencyLevel.ONE)
self.client_proto.set_keyspace.assert_called_once_with("blah")
示例11: test_disconnect_on_cancel_returns_correct_value
def test_disconnect_on_cancel_returns_correct_value(self):
"""
with disconnect_on_cancel=True, the value from execute_cql3_query is
returned before cancellation
"""
exec_d = defer.Deferred()
self.client_proto.execute_cql3_query.side_effect = lambda *_: exec_d
client = CQLClient(self.endpoint, "abc", disconnect_on_cancel=True)
client.disconnect = mock.Mock()
d = client.execute("query", {}, ConsistencyLevel.ONE)
self.assertNoResult(d)
self.assertFalse(client.disconnect.called)
exec_d.callback(self.mock_results)
self.assertEqual(self.successResultOf(d), 1)
self.assertFalse(client.disconnect.called)
示例12: test_cql_None_not_deserialized
def test_cql_None_not_deserialized(self):
"""
If the value is None, it is not deserialized at all.
"""
raw_rows = [ttypes.CqlRow(key="blah", columns=[ttypes.Column(name="fff", value=None)])]
schema = ttypes.CqlMetadata(value_types={"fff": "org.apache.cassandra.db.marshal.AlwaysFailType"})
client = CQLClient(self.endpoint, "blah")
always_blow_up = mock.Mock(spec=[], side_effect=Exception)
rows = client._unmarshal_result(
schema, raw_rows, {"org.apache.cassandra.db.marshal.AlwaysFailType": always_blow_up}
)
self.assertEqual(rows, [{"fff": None}])
self.assertEqual(always_blow_up.call_count, 0)
示例13: test_no_disconnect_on_cancel
def test_no_disconnect_on_cancel(self):
"""
If not given, cancellation of running query should not try to disconnect
the TCP connection
"""
self.client_proto.execute_cql3_query.side_effect = lambda *_: defer.Deferred()
client = CQLClient(self.endpoint, "abc", disconnect_on_cancel=False)
client.disconnect = mock.Mock()
d = client.execute("query", {}, ConsistencyLevel.ONE)
self.assertNoResult(d)
self.assertFalse(client.disconnect.called)
d.cancel()
self.failureResultOf(d, defer.CancelledError)
self.assertFalse(client.disconnect.called)
示例14: test_disconnect_on_cancel
def test_disconnect_on_cancel(self):
"""
If allowed, cancellation of running query will also try to disconnect
the TCP connection
"""
self.client_proto.execute_cql3_query.side_effect = lambda *_: defer.Deferred()
client = CQLClient(self.endpoint, 'abc', disconnect_on_cancel=True)
client.disconnect = mock.Mock()
d = client.execute('query', {}, ConsistencyLevel.ONE)
self.assertNoResult(d)
self.assertFalse(client.disconnect.called)
d.cancel()
self.failureResultOf(d, defer.CancelledError)
client.disconnect.assert_called_one_with()
示例15: test_unsupported_types_are_returned_as_bytes
def test_unsupported_types_are_returned_as_bytes(self):
"""
When a table includes a column of a type that is not explicitly
supported we should return the raw bytes instead of attempting to
unmarshal the data.
"""
mock_rows = [ttypes.CqlRow(key="", columns=[ttypes.Column(name="an_unknown_type", value="\x00\x01")])]
self.mock_results = ttypes.CqlResult(
type=ttypes.CqlResultType.ROWS,
rows=mock_rows,
schema=ttypes.CqlMetadata(value_types={"an_unknown_type": "an.unknown.type"}),
)
client = CQLClient(self.endpoint, "blah")
d = client.execute("SELECT * FROM blah", {}, ConsistencyLevel.ONE)
results = self.assertFired(d)
self.assertEqual(results, [{"an_unknown_type": "\x00\x01"}])