Ejemplo n.º 1
0
    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()
        ]
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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
Ejemplo n.º 6
0
 def test__getitem__(self, mock_get):
     response = RISPeers(mock_get.ripestat)
     assert isinstance(response["RRC18"], list)
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
 def test__init__valid_params(self, mock_get):
     response = RISPeers(mock_get.ripestat)
     assert isinstance(response, RISPeers)
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
    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)