def test_dry_run(self): with capture_sys_output() as (stdout, stderr): cmd = PingMeasureCommand() cmd.init_args(["ping", "--target", "ripe.net", "--dry-run"]) cmd.run() expected = ( "\n" "Definitions:\n" "================================================================================\n" "target ripe.net\n" "packet_interval 1000\n" "description Ping measurement to ripe.net\n" "af 4\n" "packets 3\n" "size 48\n" "\n" "Sources:\n" "================================================================================\n" "requested 50\n" "type area\n" "value WW\n" "tags\n" " include system-ipv4-works\n" " exclude \n" "\n") self.assertEqual(set(stdout.getvalue().split("\n")), set(expected.split("\n"))) with capture_sys_output() as (stdout, stderr): cmd = PingMeasureCommand() cmd.init_args([ "ping", "--target", "ripe.net", "--af", "6", "--include-tag", "alpha", "--include-tag", "bravo", "--include-tag", "charlie", "--exclude-tag", "delta", "--exclude-tag", "echo", "--exclude-tag", "foxtrot", "--dry-run" ]) cmd.run() expected = ( "\n" "Definitions:\n" "================================================================================\n" "target ripe.net\n" "packet_interval 1000\n" "description Ping measurement to ripe.net\n" "af 6\n" "packets 3\n" "size 48\n" "\n" "Sources:\n" "================================================================================\n" "requested 50\n" "type area\n" "value WW\n" "tags\n" " include alpha, bravo, charlie\n" " exclude delta, echo, foxtrot\n" "\n") self.assertEqual(set(stdout.getvalue().split("\n")), set(expected.split("\n")))
def test_get_measurement_kwargs_ping(self): spec = Configuration.DEFAULT["specification"]["types"]["ping"] cmd = PingMeasureCommand() cmd.init_args(["ping", "--target", "ripe.net"]) self.assertEqual( cmd._get_measurement_kwargs(), { "af": Configuration.DEFAULT["specification"]["af"], "description": "Ping measurement to ripe.net", "target": "ripe.net", "packets": spec["packets"], "packet_interval": spec["packet-interval"], "size": spec["size"] }) cmd = PingMeasureCommand() cmd.init_args([ "ping", "--target", "ripe.net", "--af", "6", "--description", "This is my description", "--packets", "7", "--packet-interval", "200", "--size", "24" ]) self.assertEqual( cmd._get_measurement_kwargs(), { "af": 6, "description": "This is my description", "target": "ripe.net", "packets": 7, "packet_interval": 200, "size": 24 })
def test_set_alias(self): path_aliases = "ripe.atlas.tools.commands.measure.base.aliases" new_aliases = copy.deepcopy(AliasesDB.DEFAULT) with mock.patch(path_aliases, new_aliases): path_AliasesDB = "ripe.atlas.tools.commands.measure.base.AliasesDB" with mock.patch(path_AliasesDB, autospec=True) as new_AliasesDB: new_AliasesDB.write.return_value = True path_create = "ripe.atlas.tools.commands.measure.base.Command.create" with mock.patch(path_create) as mock_create: mock_create.return_value = ( True, {"measurements": [1234]} ) cmd = PingMeasureCommand() cmd.init_args([ "ping", "--target", "www.ripe.net", "--no-report", "--set-alias", "PING_RIPE" ]) cmd.run() self.assertEqual( new_aliases["measurement"]["PING_RIPE"], 1234 )
def test_clean_target(self): cmd = PingMeasureCommand() with capture_sys_output(): cmd.init_args(["ping", "--target", "ripe.net"]) self.assertEqual(cmd.clean_target(), "ripe.net") cmd = DnsMeasureCommand() with capture_sys_output(): cmd.init_args(["dns", "--query-argument", "ripe.net"]) self.assertEqual(cmd.clean_target(), None)
def test_get_measurement_kwargs_ping(self): spec = Configuration.DEFAULT["specification"]["types"]["ping"] cmd = PingMeasureCommand() cmd.init_args(["ping", "--target", "ripe.net"]) self.assertEqual( cmd._get_measurement_kwargs(), { "af": Configuration.DEFAULT["specification"]["af"], "description": "Ping measurement to ripe.net", "target": "ripe.net", "packets": spec["packets"], "packet_interval": spec["packet-interval"], "size": spec["size"] }) cmd = PingMeasureCommand() cmd.init_args([ "ping", "--target", "ripe.net", "--af", "6", "--description", "This is my description", "--packets", "7", "--packet-interval", "200", "--size", "24", "--group-id", "1000001", "--include-probe-id", "--spread", "60", "--resolve-on-probe", ]) self.assertEqual( cmd._get_measurement_kwargs(), { "af": 6, "description": "This is my description", "target": "ripe.net", "packets": 7, "packet_interval": 200, "size": 24, "group_id": 1000001, "include_probe_id": True, "spread": 60, "resolve_on_probe": True, })
def test_account_for_selected_probes(self): spec = Configuration.DEFAULT["specification"] cmd = PingMeasureCommand() cmd.init_args(["ping", "--target", "ripe.net"]) cmd._account_for_selected_probes(), self.assertEqual(cmd.arguments.probes, spec["source"]["requested"]) cmd = PingMeasureCommand() cmd.init_args(["ping", "--target", "ripe.net", "--probes", "7"]) cmd._account_for_selected_probes(), self.assertEqual(cmd.arguments.probes, 7) cmd = PingMeasureCommand() cmd.init_args(["ping", "--target", "ripe.net", "--from-probes", "1,2"]) cmd._account_for_selected_probes(), self.assertEqual(cmd.arguments.probes, 2) cmd = PingMeasureCommand() cmd.init_args([ "ping", "--target", "ripe.net", "--from-probes", "1,2", "--probes", "7" ]) with capture_sys_output() as (stdout, stderr): with self.assertRaises(RipeAtlasToolsException): cmd._account_for_selected_probes(),
def test_get_measurement_kwargs_ping(self): spec = Configuration.DEFAULT["specification"]["types"]["ping"] cmd = PingMeasureCommand() cmd.init_args(["ping", "--target", "ripe.net"]) self.assertEqual( cmd._get_measurement_kwargs(), { "af": Configuration.DEFAULT["specification"]["af"], "description": "Ping measurement to ripe.net", "target": "ripe.net", "packets": spec["packets"], "packet_interval": spec["packet-interval"], "size": spec["size"], }, ) cmd = PingMeasureCommand() cmd.init_args( [ "ping", "--target", "ripe.net", "--af", "6", "--description", "This is my description", "--packets", "7", "--packet-interval", "200", "--size", "24", ] ) self.assertEqual( cmd._get_measurement_kwargs(), { "af": 6, "description": "This is my description", "target": "ripe.net", "packets": 7, "packet_interval": 200, "size": 24, }, )
def test_dry_run(self): with capture_sys_output() as (stdout, stderr): cmd = PingMeasureCommand() cmd.init_args(["ping", "--target", "ripe.net", "--dry-run"]) cmd.run() expected = ( "\n" "Definitions:\n" "================================================================================\n" "target ripe.net\n" "packet_interval 1000\n" "description Ping measurement to ripe.net\n" "af 4\n" "packets 3\n" "size 48\n" "\n" "Sources:\n" "================================================================================\n" "requested 50\n" "type area\n" "value WW\n" "tags\n" " include system-ipv4-works\n" " exclude \n" "\n" ) self.assertEqual( set(stdout.getvalue().split("\n")), set(expected.split("\n")) ) with capture_sys_output() as (stdout, stderr): cmd = PingMeasureCommand() cmd.init_args([ "ping", "--target", "ripe.net", "--af", "6", "--include-tag", "alpha", "--include-tag", "bravo", "--include-tag", "charlie", "--exclude-tag", "delta", "--exclude-tag", "echo", "--exclude-tag", "foxtrot", "--dry-run" ]) cmd.run() expected = ( "\n" "Definitions:\n" "================================================================================\n" "target ripe.net\n" "packet_interval 1000\n" "description Ping measurement to ripe.net\n" "af 6\n" "packets 3\n" "size 48\n" "\n" "Sources:\n" "================================================================================\n" "requested 50\n" "type area\n" "value WW\n" "tags\n" " include alpha, bravo, charlie\n" " exclude delta, echo, foxtrot\n" "\n" ) self.assertEqual( set(stdout.getvalue().split("\n")), set(expected.split("\n")) )