def test_keys(self, mock_get): response = RISPeers(mock_get.ripestat) assert response.keys().__class__.__name__ == "dict_keys" assert list(response.keys()) == [ k.upper() for k in TestRISPeers.RESPONSE["data"]["peers"].keys() ]
def test_earliest_time(self, mock_get): mock_get.params = self.params # reset expected params response = RISPeers(mock_get.ripestat) assert isinstance(response.earliest_time, datetime) earliest_time = TestRISPeers.RESPONSE["data"]["earliest_time"] assert response.earliest_time == datetime.fromisoformat(earliest_time)
def test__init__valid_query_time(self, mock_get): params = self.params.copy() params["query_time"] = datetime.fromisoformat("2021-04-17T16:00:00") response = RISPeers(mock_get.ripestat, query_time=params["query_time"]) assert isinstance(response, RISPeers) expected_params = params.copy() expected_params["query_time"] = "2021-04-17T16:00:00" mock_get.params = expected_params
def test_peers(self, mock_get): response = RISPeers(mock_get.ripestat) assert isinstance(response.peers, dict) for rrc, peers in response.peers.items(): assert isinstance(rrc, str) # ensure RRC name is normalized (upcase) assert rrc == str(rrc).upper() for peer in peers: assert isinstance(peer.asn, int) assert isinstance(peer.ip, IPv4Address) assert isinstance(peer.v4_prefix_count, int) assert isinstance(peer.v6_prefix_count, int)
def test__iter__(self, mock_get): response = RISPeers(mock_get.ripestat) assert isinstance(response, Iterable) for peer in response: assert isinstance(peer, tuple) # namedtuple Peer
def test__getitem__(self, mock_get): response = RISPeers(mock_get.ripestat) assert isinstance(response["RRC18"], list)
def test__init__invalid_query_time(self, mock_get): params = self.params.copy() params["query_time"] = "invalid" with pytest.raises(ValueError): RISPeers(mock_get.ripestat, params)
def test__init__valid_params(self, mock_get): response = RISPeers(mock_get.ripestat) assert isinstance(response, RISPeers)
def test_query_time(self, mock_get): response = RISPeers(mock_get.ripestat) assert isinstance(response.query_time, datetime) query_time = TestRISPeers.RESPONSE["data"]["parameters"]["query_time"] assert response.query_time == datetime.fromisoformat(query_time)
def test_latest_time(self, mock_get): response = RISPeers(mock_get.ripestat) assert isinstance(response.latest_time, datetime) latest_time = TestRISPeers.RESPONSE["data"]["latest_time"] assert response.latest_time == datetime.fromisoformat(latest_time)