MCPcopy Create free account
hub / github.com/apache/cassandra-python-driver / _get_replicas

Method _get_replicas

tests/unit/test_metadata.py:423–445  ·  view source on GitHub ↗
(self, token_klass)

Source from the content-addressed store, hash-verified

421
422class GetReplicasTest(unittest.TestCase):
423 def _get_replicas(self, token_klass):
424 tokens = [token_klass(i) for i in range(0, (2 ** 127 - 1), 2 ** 125)]
425 hosts = [Host("ip%d" % i, SimpleConvictionPolicy) for i in range(len(tokens))]
426 token_to_primary_replica = dict(zip(tokens, hosts))
427 keyspace = KeyspaceMetadata("ks", True, "SimpleStrategy", {"replication_factor": "1"})
428 metadata = Mock(spec=Metadata, keyspaces={'ks': keyspace})
429 token_map = TokenMap(token_klass, token_to_primary_replica, tokens, metadata)
430
431 # tokens match node tokens exactly
432 for token, expected_host in zip(tokens, hosts):
433 replicas = token_map.get_replicas("ks", token)
434 self.assertEqual(set(replicas), {expected_host})
435
436 # shift the tokens back by one
437 for token, expected_host in zip(tokens, hosts):
438 replicas = token_map.get_replicas("ks", token_klass(token.value - 1))
439 self.assertEqual(set(replicas), {expected_host})
440
441 # shift the tokens forward by one
442 for i, token in enumerate(tokens):
443 replicas = token_map.get_replicas("ks", token_klass(token.value + 1))
444 expected_host = hosts[(i + 1) % len(hosts)]
445 self.assertEqual(set(replicas), {expected_host})
446
447 def test_murmur3_tokens(self):
448 self._get_replicas(Murmur3Token)

Callers 3

test_murmur3_tokensMethod · 0.95
test_md5_tokensMethod · 0.95
test_bytes_tokensMethod · 0.95

Calls 5

get_replicasMethod · 0.95
HostClass · 0.90
KeyspaceMetadataClass · 0.90
TokenMapClass · 0.90
setFunction · 0.85

Tested by

no test coverage detected