def test_tempban_no_reason(self):
        joe = FakeClient(Admin_functional_test.fakeConsole, name="Joe", exactName="Joe", guid="joeguid", groupBits=128, team=b3.TEAM_RED)
        mike = FakeClient(Admin_functional_test.fakeConsole, name="Mike", exactName="Mike", guid="mikeguid", groupBits=1, team=b3.TEAM_BLUE)

        joe.message = Mock()
        joe.connects(0)
        mike.connects(1)
        mike.tempban = Mock()

        joe.says('!tempban mike 5h')
        mike.tempban.assert_called_with('', None, 5*60, joe)
    def test_tempban_bad_duration(self):
        joe = FakeClient(Admin_functional_test.fakeConsole, name="Joe", exactName="Joe", guid="joeguid", groupBits=128, team=b3.TEAM_RED)
        mike = FakeClient(Admin_functional_test.fakeConsole, name="Mike", exactName="Mike", guid="mikeguid", groupBits=1, team=b3.TEAM_BLUE)

        joe.message = Mock()
        joe.connects(0)
        mike.connects(1)
        mike.tempban = Mock()

        joe.says('!tempban mike 5hour')
        joe.message.assert_called_with('^7Invalid parameters')
        assert not mike.tempban.called
    def test_multikill(self, timer_patch):
        Tk_functional_test.p._round_grace = 0
        joe = FakeClient(fakeConsole, name="Joe", exactName="Joe", guid="joeguid", groupBits=1, team=b3.TEAM_RED)
        mike = FakeClient(fakeConsole, name="Mike", exactName="Mike", guid="mikeguid", groupBits=1, team=b3.TEAM_RED)

        with patch.object(fakeConsole, "say") as patched_say:
            joe.warn = Mock()
            joe.tempban = Mock()
            joe.connects(0)
            mike.connects(1)

            mike.clearMessageHistory()
            joe.kills(mike)
            self.assertEqual(1, joe.warn.call_count)
            self.assertEquals(1, len(mike.getAllMessageHistoryLike("^7type ^3!fp ^7 to forgive")))

            joe.kills(mike)
            self.assertEqual(1, len([call_args[0][0] for call_args in patched_say.call_args_list if "auto-kick if not forgiven" in call_args[0][0]]))

            joe.kills(mike)
            self.assertEqual(1, joe.tempban.call_count)
    def test_tempban_no_reason(self):
        joe = FakeClient(Admin_functional_test.fakeConsole,
                         name="Joe",
                         exactName="Joe",
                         guid="joeguid",
                         groupBits=128,
                         team=b3.TEAM_RED)
        mike = FakeClient(Admin_functional_test.fakeConsole,
                          name="Mike",
                          exactName="Mike",
                          guid="mikeguid",
                          groupBits=1,
                          team=b3.TEAM_BLUE)

        joe.message = Mock()
        joe.connects(0)
        mike.connects(1)
        mike.tempban = Mock()

        joe.says('!tempban mike 5h')
        mike.tempban.assert_called_with('', None, 5 * 60, joe)
    def test_tempban_bad_duration(self):
        joe = FakeClient(Admin_functional_test.fakeConsole,
                         name="Joe",
                         exactName="Joe",
                         guid="joeguid",
                         groupBits=128,
                         team=b3.TEAM_RED)
        mike = FakeClient(Admin_functional_test.fakeConsole,
                          name="Mike",
                          exactName="Mike",
                          guid="mikeguid",
                          groupBits=1,
                          team=b3.TEAM_BLUE)

        joe.message = Mock()
        joe.connects(0)
        mike.connects(1)
        mike.tempban = Mock()

        joe.says('!tempban mike 5hour')
        joe.message.assert_called_with('^7Invalid parameters')
        assert not mike.tempban.called
Example #6
0
    def test_multikill(self, timer_patch):
        Tk_functional_test.p._round_grace = 0
        joe = FakeClient(fakeConsole,
                         name="Joe",
                         exactName="Joe",
                         guid="joeguid",
                         groupBits=1,
                         team=b3.TEAM_RED)
        mike = FakeClient(fakeConsole,
                          name="Mike",
                          exactName="Mike",
                          guid="mikeguid",
                          groupBits=1,
                          team=b3.TEAM_RED)

        with patch.object(fakeConsole, "say") as patched_say:
            joe.warn = Mock()
            joe.tempban = Mock()
            joe.connects(0)
            mike.connects(1)

            mike.clearMessageHistory()
            joe.kills(mike)
            self.assertEqual(1, joe.warn.call_count)
            self.assertEquals(
                1,
                len(mike.getAllMessageHistoryLike(
                    "^7type ^3!fp ^7 to forgive")))

            joe.kills(mike)
            self.assertEqual(
                1,
                len([
                    call_args[0][0] for call_args in patched_say.call_args_list
                    if "auto-kick if not forgiven" in call_args[0][0]
                ]))

            joe.kills(mike)
            self.assertEqual(1, joe.tempban.call_count)