def test_get_external_ip_from_known_nodes_with_one_known_node(mock_requests): sensor = FleetSensor(domain=MOCK_NETWORK) sensor.record_node(Dummy(b'deadbeefdeadbeefdead')) sensor.record_fleet_state() assert len(sensor) == 1 get_external_ip_from_known_nodes(known_nodes=sensor) # skipped because there are too few known nodes mock_requests.assert_not_called()
def test_get_external_ip_from_known_nodes_with_one_known_node( mock_requests, mock_network): sensor = FleetSensor(domain=mock_network) sensor._nodes['0xdeadbeef'] = Dummy() assert len(sensor) == 1 get_external_ip_from_known_nodes(known_nodes=sensor) # skipped because there are too few known nodes mock_requests.assert_not_called()
def test_get_external_ip_from_known_nodes(mock_client): # Setup FleetSensor sensor = FleetSensor(domain=MOCK_NETWORK) sample_size = 3 sensor.record_node(Dummy('0xdeadbeef')) sensor.record_node(Dummy('0xdeadllama')) sensor.record_node(Dummy('0xdeadmouse')) sensor.record_fleet_state() assert len(sensor) == sample_size # First sampled node replies get_external_ip_from_known_nodes(known_nodes=sensor, sample_size=sample_size) assert mock_client.call_count == 1 mock_client.call_count = 0 # reset # All sampled nodes dont respond mock_client.return_value = Dummy.BadResponse get_external_ip_from_known_nodes(known_nodes=sensor, sample_size=sample_size) assert mock_client.call_count == sample_size
def test_get_external_ip_from_known_nodes_client(mocker, mock_client): # Setup FleetSensor sensor = FleetSensor(domain=MOCK_NETWORK) sample_size = 3 sensor.record_node(Dummy('0xdeadbeef')) sensor.record_node(Dummy('0xdeadllama')) sensor.record_node(Dummy('0xdeadmouse')) sensor.record_fleet_state() assert len(sensor) == sample_size # Setup HTTP Client mocker.patch.object(Ursula, 'from_teacher_uri', return_value=Dummy('0xdeadpork')) teacher_uri = RestMiddleware.TEACHER_NODES[MOCK_NETWORK][0] get_external_ip_from_known_nodes(known_nodes=sensor, sample_size=sample_size) assert mock_client.call_count == 1 # first node responded function, endpoint = mock_client.call_args[0] assert function.__name__ == 'get' assert endpoint == f'https://{teacher_uri}/ping'
def test_get_external_ip_from_known_nodes(mock_client, mock_network): # Setup FleetSensor sensor = FleetSensor(domain=mock_network) sample_size = 3 sensor._nodes['0xdeadbeef'] = Dummy() sensor._nodes['0xdeadllama'] = Dummy() sensor._nodes['0xdeadmouse'] = Dummy() assert len(sensor) == sample_size # First sampled node replies get_external_ip_from_known_nodes(known_nodes=sensor, sample_size=sample_size) assert mock_client.call_count == 1 mock_client.call_count = 0 # reset # All sampled nodes dont respond mock_client.return_value = Dummy.BadResponse get_external_ip_from_known_nodes(known_nodes=sensor, sample_size=sample_size) assert mock_client.call_count == sample_size
def test_get_external_ip_from_empty_known_nodes(mock_requests): sensor = FleetSensor(domain=MOCK_NETWORK) assert len(sensor) == 0 get_external_ip_from_known_nodes(known_nodes=sensor) # skipped because there are no known nodes mock_requests.assert_not_called()