You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by aw...@apache.org on 2018/01/29 21:10:12 UTC
[09/36] cassandra-dtest git commit: Migrate dtests to use pytest and
python3
http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/49b2dda4/thrift_hsha_test.py
----------------------------------------------------------------------
diff --git a/thrift_hsha_test.py b/thrift_hsha_test.py
index 1aa8030..9e7dbf1 100644
--- a/thrift_hsha_test.py
+++ b/thrift_hsha_test.py
@@ -4,15 +4,15 @@ import shlex
import subprocess
import time
import unittest
+import pytest
+import logging
-import pycassa
-
-from dtest import DEFAULT_DIR, Tester, debug, create_ks
-from tools.jmxutils import (JolokiaAgent, make_mbean,
- remove_perf_disable_shared_mem)
-
-from tools.decorators import since
+from dtest import DEFAULT_DIR, Tester, create_ks
+from thrift_test import get_thrift_client
+from tools.jmxutils import JolokiaAgent, make_mbean, remove_perf_disable_shared_mem
+since = pytest.mark.since
+logger = logging.getLogger(__name__)
JNA_PATH = '/usr/share/java/jna.jar'
ATTACK_JAR = 'lib/cassandra-attack.jar'
@@ -20,7 +20,7 @@ ATTACK_JAR = 'lib/cassandra-attack.jar'
# Use jna.jar in {CASSANDRA_DIR,DEFAULT_DIR}/lib/, since >=2.1 needs correct version
try:
if glob.glob('%s/lib/jna-*.jar' % os.environ['CASSANDRA_DIR']):
- debug('Using jna.jar in CASSANDRA_DIR/lib..')
+ logger.debug('Using jna.jar in CASSANDRA_DIR/lib..')
JNA_IN_LIB = glob.glob('%s/lib/jna-*.jar' % os.environ['CASSANDRA_DIR'])
JNA_PATH = JNA_IN_LIB[0]
except KeyError:
@@ -31,7 +31,7 @@ except KeyError:
@since('2.0', max_version='4')
-class ThriftHSHATest(Tester):
+class TestThriftHSHA(Tester):
def test_closing_connections(self):
"""
@@ -56,26 +56,27 @@ class ThriftHSHATest(Tester):
session.execute("CREATE TABLE \"CF\" (key text PRIMARY KEY, val text) WITH COMPACT STORAGE;")
def make_connection():
- pool = pycassa.ConnectionPool('test', timeout=None)
- cf = pycassa.ColumnFamily(pool, 'CF')
- return pool
+ host, port = node1.network_interfaces['thrift']
+ client = get_thrift_client(host, port)
+ client.transport.open()
+ return client
pools = []
connected_thrift_clients = make_mbean('metrics', type='Client', name='connectedThriftClients')
- for i in xrange(10):
- debug("Creating connection pools..")
- for x in xrange(3):
+ for i in range(10):
+ logger.debug("Creating connection pools..")
+ for x in range(3):
pools.append(make_connection())
- debug("Disabling/Enabling thrift iteration #{i}".format(i=i))
+ logger.debug("Disabling/Enabling thrift iteration #{i}".format(i=i))
node1.nodetool('disablethrift')
node1.nodetool('enablethrift')
- debug("Closing connections from the client side..")
- for pool in pools:
- pool.dispose()
+ logger.debug("Closing connections from the client side..")
+ for client in pools:
+ client.transport.close()
with JolokiaAgent(node1) as jmx:
num_clients = jmx.read_attribute(connected_thrift_clients, "Value")
- self.assertEqual(int(num_clients), 0, "There are still open Thrift connections after stopping service")
+ assert int(num_clients), 0 == "There are still open Thrift connections after stopping service"
@unittest.skipIf(not os.path.exists(ATTACK_JAR), "No attack jar found")
@unittest.skipIf(not os.path.exists(JNA_PATH), "No JNA jar found")
@@ -104,7 +105,7 @@ class ThriftHSHATest(Tester):
cluster.populate(2)
nodes = (node1, node2) = cluster.nodelist()
[n.start(use_jna=True) for n in nodes]
- debug("Cluster started.")
+ logger.debug("Cluster started.")
session = self.patient_cql_connection(node1)
create_ks(session, 'tmp', 2)
@@ -117,13 +118,13 @@ class ThriftHSHATest(Tester):
) WITH COMPACT STORAGE;
""")
- debug("running attack jar...")
+ logger.debug("running attack jar...")
p = subprocess.Popen(shlex.split("java -jar {attack_jar}".format(attack_jar=ATTACK_JAR)))
p.communicate()
- debug("Stopping cluster..")
+ logger.debug("Stopping cluster..")
cluster.stop()
- debug("Starting cluster..")
+ logger.debug("Starting cluster..")
cluster.start(no_wait=True)
- debug("Waiting 10 seconds before we're done..")
+ logger.debug("Waiting 10 seconds before we're done..")
time.sleep(10)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org