def test_check_nulls_in_peers_not_in_gossip(self):
     peers_info = deepcopy(PEERS_INFO)
     peers_info["127.0.0.4"] = {
         "data_center": "null",
     }
     event = next(check_nulls_in_peers(GOSSIP_INFO, peers_info, Node), None)
     self.assertIsNone(event)
 def test_check_nulls_in_peers_filtered_status(self):
     peers_info = deepcopy(PEERS_INFO)
     peers_info["127.0.0.2"]["data_center"] = "null"
     gossip_info = deepcopy(GOSSIP_INFO)
     gossip_info["127.0.0.2"]["status"] = "FILTERED"
     event = next(check_nulls_in_peers(gossip_info, peers_info, Node), None)
     self.assertIsNone(event)
 def test_check_nulls_in_peers_not_in_gossip(self):
     PEERS_INFO[node4] = {
         "data_center": "null",
     }
     event = next(check_nulls_in_peers(GOSSIP_INFO, PEERS_INFO, node1),
                  None)
     self.assertIsNone(event)
     PEERS_INFO.pop(node4)
 def test_check_nulls_in_peers(self):
     peers_info = deepcopy(PEERS_INFO)
     peers_info["127.0.0.2"]["data_center"] = "null"
     event = next(check_nulls_in_peers(GOSSIP_INFO, peers_info, Node), None)
     self.assertEqual(event.type, "NodePeersNulls")
     self.assertEqual(event.severity, Severity.ERROR)
     self.assertEqual(event.node, "node-0")
     self.assertEqual(event.message, "")
     self.assertNotEqual(event.error, "")
    def test_check_nulls_in_peers(self):
        # Due to commit
        # https://github.com/scylladb/scylla-cluster-tests/pull/4375/commits/0d2657291b9152c92b68a893b46b146abba62be6
        # node object is used as key instead of string. "deepcopy" change the object and we can't use it
        data_center = PEERS_INFO[node2]["data_center"]
        PEERS_INFO[node2]["data_center"] = "null"
        event = next(check_nulls_in_peers(GOSSIP_INFO, PEERS_INFO, node1),
                     None)
        self.assertEqual(event.type, "NodePeersNulls")
        self.assertEqual(event.severity, Severity.ERROR)
        self.assertEqual(event.node, "node-0")
        self.assertEqual(event.message, "")
        self.assertNotEqual(event.error, "")

        PEERS_INFO[node2]["data_center"] = data_center
    def test_check_nulls_in_peers_filtered_status(self):
        # Due to commit
        # https://github.com/scylladb/scylla-cluster-tests/pull/4375/commits/0d2657291b9152c92b68a893b46b146abba62be6
        # node object is used as key instead of string. "deepcopy" change the object and we can't use it
        data_center = PEERS_INFO[node2]["data_center"]
        PEERS_INFO[node2]["data_center"] = "null"

        gossip_status = GOSSIP_INFO[node2]["status"]
        GOSSIP_INFO[node2]["status"] = "FILTERED"

        event = next(check_nulls_in_peers(GOSSIP_INFO, PEERS_INFO, node1),
                     None)
        self.assertIsNone(event)

        PEERS_INFO[node2]["data_center"] = data_center
        GOSSIP_INFO[node2]["status"] = gossip_status
 def test_check_nulls_in_peers_no_nulls(self):
     event = next(check_nulls_in_peers(GOSSIP_INFO, PEERS_INFO, Node), None)
     self.assertIsNone(event)