Esempio n. 1
0
    def test__wormhole_class(self) -> None:
        config: Dict[str, Any] = {
            "notifier": [
                {
                    "subscribes_to": "kill",
                    "filter": {
                        "require_all_of": [
                            {"system_class": 5},
                        ]
                    },
                }
            ]
        }

        package = standard_package()

        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(
                    config, empty_universe(), package
                )
            ),
            [],
        )

        package["killmail"]["solar_system_id"] = 31_002_479  # J100820

        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(
                    config, empty_universe(), package
                )
            ),
            config["notifier"],
        )
Esempio n. 2
0
    def test__kill_citadel(self) -> None:
        config: Dict[str, Any] = {
            "notifier": [
                {
                    "subscribes_to": "kill",
                    "filter": {
                        "require_all_of": [
                            {"loss_class": "Citadel"},
                        ]
                    },
                }
            ]
        }

        package = standard_package()

        # Astrahus
        package["killmail"]["victim"]["ship_type_id"] = 35832

        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(
                    config, empty_universe(), package
                )
            ),
            config["notifier"],
        )

        config = {
            "notifier": [
                {
                    "subscribes_to": "kill",
                    "filter": {
                        "require_all_of": [
                            {"loss_name": "Astrahus"},
                        ]
                    },
                }
            ]
        }

        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(
                    config, empty_universe(), package
                )
            ),
            config["notifier"],
        )
Esempio n. 3
0
    def test__kill_pos(self) -> None:
        config: Dict[str, Any] = {
            "notifier": [
                {
                    "subscribes_to": "kill",
                    "filter": {
                        "require_all_of": [
                            {"loss_class": "Large Collidable Object"},
                        ]
                    },
                }
            ]
        }

        package = standard_package()

        # Sansha Starbase Control Tower
        package["killmail"]["victim"]["ship_type_id"] = 3059

        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(
                    config, empty_universe(), package
                )
            ),
            config["notifier"],
        )

        config = {
            "notifier": [
                {
                    "subscribes_to": "kill",
                    "filter": {
                        "require_all_of": [
                            {"loss_name": "Sansha Starbase Control Tower"},
                        ]
                    },
                }
            ]
        }

        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(
                    config, empty_universe(), package
                )
            ),
            config["notifier"],
        )
Esempio n. 4
0
    def test__simple_match(self) -> None:
        config: Dict[str, Any] = {
            "notifier": [{
                "subscribes_to": "kill",
                "filter": {
                    "require_all_of": [
                        {
                            "minimum_value": 100_000
                        },
                        {
                            "alliance_kill": 1
                        },
                    ]
                },
            }]
        }
        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(config, empty_universe(),
                                             standard_package())),
            config["notifier"],
        )

        config["notifier"][0]["filter"]["require_all_of"].append(
            {"alliance_kill": 1111})
        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(config, empty_universe(),
                                             standard_package())),
            config["notifier"],
        )

        config["notifier"][0]["filter"]["exclude_if_any"] = [{
            "corporation_loss":
            9999
        }]
        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(config, empty_universe(),
                                             standard_package())),
            config["notifier"],
        )

        config["notifier"][0]["filter"]["require_any_of"] = [{
            "security": "low"
        }]
        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(config, empty_universe(),
                                             standard_package())),
            [],
        )

        config["notifier"][0]["filter"]["require_any_of"].append(
            {"security": "high"})
        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(config, empty_universe(),
                                             standard_package())),
            config["notifier"],
        )

        config["notifier"][0]["filter"]["exclude_if_any"] = [{
            "corporation_loss":
            20
        }]
        self.assertEqual(
            loop.run_until_complete(
                unchaind_kill.match_killmail(config, empty_universe(),
                                             standard_package())),
            [],
        )