def test_process_cluster_duplicates(self): self.args.brokers = [1] self.args.to_broker = 2 action = ActionClone(self.args, self.cluster) action.process_cluster() b1 = self.cluster.brokers[1] b2 = self.cluster.brokers[2] assert self.cluster.topics['testTopic1'].partitions[0].replicas == [b2, b1] assert self.cluster.topics['testTopic1'].partitions[1].replicas == [b2, b1] assert self.cluster.topics['testTopic2'].partitions[0].replicas == [b2, b1] assert self.cluster.topics['testTopic2'].partitions[1].replicas == [b2, b1]
def test_process_cluster_no_change(self): self.cluster.add_broker(Broker(3, "brokerhost3.example.com")) self.args.brokers = [3] self.args.to_broker = 1 action = ActionClone(self.args, self.cluster) action.process_cluster() b1 = self.cluster.brokers[1] b2 = self.cluster.brokers[2] assert self.cluster.topics['testTopic1'].partitions[0].replicas == [b1, b2] assert self.cluster.topics['testTopic1'].partitions[1].replicas == [b2, b1] assert self.cluster.topics['testTopic2'].partitions[0].replicas == [b2, b1] assert self.cluster.topics['testTopic2'].partitions[1].replicas == [b1, b2]
def test_process_cluster_clean_target(self): self.cluster.add_broker(Broker("brokerhost3.example.com", id=3)) self.args.brokers = [1] self.args.to_broker = 3 action = ActionClone(self.args, self.cluster) action.process_cluster() b1 = self.cluster.brokers[1] b2 = self.cluster.brokers[2] b3 = self.cluster.brokers[3] assert self.cluster.topics['testTopic1'].partitions[0].replicas == [b3, b1, b2] assert self.cluster.topics['testTopic1'].partitions[1].replicas == [b2, b3, b1] assert self.cluster.topics['testTopic2'].partitions[0].replicas == [b2, b3, b1] assert self.cluster.topics['testTopic2'].partitions[1].replicas == [b3, b1, b2]
def test_process_cluster_clean_target(self): self.cluster.add_broker(Broker("brokerhost3.example.com", id=3)) self.args.brokers = [1] self.args.to_broker = 3 action = ActionClone(self.args, self.cluster) action.process_cluster() b1 = self.cluster.brokers[1] b2 = self.cluster.brokers[2] b3 = self.cluster.brokers[3] assert self.cluster.topics['testTopic1'].partitions[0].replicas == [ b3, b1, b2 ] assert self.cluster.topics['testTopic1'].partitions[1].replicas == [ b2, b3, b1 ] assert self.cluster.topics['testTopic2'].partitions[0].replicas == [ b2, b3, b1 ] assert self.cluster.topics['testTopic2'].partitions[1].replicas == [ b3, b1, b2 ]
def test_configure_args(self): ActionClone.configure_args(self.subparsers) sys.argv = ['kafka-assigner', 'clone', '-b', '1', '-t', '2'] parsed_args = self.parser.parse_args() assert parsed_args.action == 'clone'
def test_create_class(self): self.args.brokers = [1] self.args.to_broker = 2 action = ActionClone(self.args, self.cluster) assert isinstance(action, ActionClone)