Esempio n. 1
0
def test_mute_0(hallo_getter):
    hallo, test_server, test_chan, test_user = hallo_getter(
        {"channel_control"})
    serv1 = ServerMock(hallo)
    serv1.name = "test_serv1"
    serv1.type = Server.TYPE_IRC
    hallo.add_server(serv1)
    chan1 = serv1.get_channel_by_address("test_chan1".lower(), "test_chan1")
    chan1.in_channel = True
    user1 = serv1.get_user_by_address("test_user1".lower(), "test_user1")
    user_hallo = serv1.get_user_by_address(serv1.get_nick().lower(),
                                           serv1.get_nick())
    chan1.add_user(user1)
    chan1.add_user(user_hallo)
    chan1_user1 = chan1.get_membership_by_user(user1)
    chan1_user1.is_op = False
    chan1_hallo = chan1.get_membership_by_user(user_hallo)
    chan1_hallo.is_op = True
    try:
        hallo.function_dispatcher.dispatch(
            EventMessage(serv1, chan1, user1, "mute"))
        data = serv1.get_send_data(2)
        assert "error" not in data[1].text.lower()
        assert data[0].channel == chan1
        assert data[1].channel == chan1
        assert data[0].__class__ == EventMode
        assert data[1].__class__ == EventMessage
        assert data[0].mode_changes == "+m"
        assert "set mute in " + chan1.name in data[1].text.lower()
    finally:
        hallo.remove_server(serv1)
Esempio n. 2
0
def test_mute_0_no_power(hallo_getter):
    hallo, test_server, test_chan, test_user = hallo_getter(
        {"channel_control"})
    serv1 = ServerMock(hallo)
    serv1.name = "test_serv1"
    serv1.type = Server.TYPE_IRC
    hallo.add_server(serv1)
    chan1 = serv1.get_channel_by_address("test_chan1".lower(), "test_chan1")
    chan1.in_channel = True
    user1 = serv1.get_user_by_address("test_user1".lower(), "test_user1")
    user_hallo = serv1.get_user_by_address(serv1.get_nick().lower(),
                                           serv1.get_nick())
    chan1.add_user(user1)
    chan1.add_user(user_hallo)
    chan1_user1 = chan1.get_membership_by_user(user1)
    chan1_user1.is_op = False
    chan1_hallo = chan1.get_membership_by_user(user_hallo)
    chan1_hallo.is_op = False
    try:
        hallo.function_dispatcher.dispatch(
            EventMessage(serv1, chan1, user1, "mute"))
        data = serv1.get_send_data(1, chan1, EventMessage)
        assert "error" in data[0].text.lower()
        assert "don't have power" in data[0].text.lower()
    finally:
        hallo.remove_server(serv1)
Esempio n. 3
0
def test_op_2_user_user_not_there(hallo_getter):
    hallo, test_server, test_chan, test_user = hallo_getter({"channel_control"})
    serv1 = ServerMock(hallo)
    serv1.name = "test_serv1"
    serv1.type = Server.TYPE_IRC
    hallo.add_server(serv1)
    chan1 = serv1.get_channel_by_address("test_chan1".lower(), "test_chan1")
    chan1.in_channel = True
    chan2 = serv1.get_channel_by_address("test_chan2".lower(), "test_chan2")
    chan2.in_channel = True
    user1 = serv1.get_user_by_address("test_user1".lower(), "test_user1")
    user2 = serv1.get_user_by_address("test_user2".lower(), "test_user2")
    serv1.get_user_by_address("test_user3", "test_user3")
    user_hallo = serv1.get_user_by_address(serv1.get_nick().lower(), serv1.get_nick())
    chan1.add_user(user1)
    chan1_user1 = chan1.get_membership_by_user(user1)
    chan1_user1.is_op = False
    chan1.add_user(user_hallo)
    chan1_hallo = chan1.get_membership_by_user(user_hallo)
    chan1_hallo.is_op = True
    chan2.add_user(user2)
    chan2_user1 = chan2.get_membership_by_user(user2)
    chan2_user1.is_op = False
    chan2.add_user(user_hallo)
    chan2_hallo = chan2.get_membership_by_user(user_hallo)
    chan2_hallo.is_op = True
    try:
        hallo.function_dispatcher.dispatch(
            EventMessage(serv1, chan1, user1, "op test_user3 test_chan2")
        )
        data = serv1.get_send_data(1, chan1, EventMessage)
        assert "error" in data[0].text.lower()
        assert "test_user3 is not in test_chan2" in data[0].text.lower()
    finally:
        hallo.remove_server(serv1)
Esempio n. 4
0
def test_invite_1priv(hallo_getter):
    hallo, test_server, test_chan, test_user = hallo_getter({"channel_control"})
    serv1 = ServerMock(hallo)
    serv1.name = "test_serv1"
    serv1.type = Server.TYPE_IRC
    hallo.add_server(serv1)
    chan1 = serv1.get_channel_by_address("test_chan1".lower(), "test_chan1")
    chan1.in_channel = True
    user1 = serv1.get_user_by_address("test_user1".lower(), "test_user1")
    user_hallo = serv1.get_user_by_address(serv1.get_nick().lower(), serv1.get_nick())
    chan1.add_user(user_hallo)
    chan1_hallo = chan1.get_membership_by_user(user_hallo)
    chan1_hallo.is_op = True
    try:
        hallo.function_dispatcher.dispatch(
            EventMessage(serv1, None, user1, "invite test_chan1")
        )
        data = serv1.get_send_data(2)
        assert "error" not in data[1].text.lower()
        assert data[0].channel == chan1
        assert data[1].user == user1
        assert data[0].__class__ == EventInvite
        assert data[1].__class__ == EventMessage
        assert data[0].invited_user == user1
        assert "invite sent" in data[1].text.lower()
    finally:
        hallo.remove_server(serv1)
Esempio n. 5
0
def test_devoice_1priv_not_in_channel(hallo_getter):
    hallo, test_server, test_chan, test_user = hallo_getter(
        {"channel_control"})
    serv1 = ServerMock(hallo)
    serv1.name = "test_serv1"
    serv1.type = Server.TYPE_IRC
    hallo.add_server(serv1)
    chan1 = serv1.get_channel_by_address("test_chan1".lower(), "test_chan1")
    serv1.get_channel_by_address("test_chan2", "test_chan2")
    user1 = serv1.get_user_by_address("test_user1".lower(), "test_user1")
    user_hallo = serv1.get_user_by_address(serv1.get_nick().lower(),
                                           serv1.get_nick())
    chan1.add_user(user1)
    chan1.add_user(user_hallo)
    chan1_user1 = chan1.get_membership_by_user(user1)
    chan1_user1.is_op = False
    chan1_hallo = chan1.get_membership_by_user(user_hallo)
    chan1_hallo.is_op = True
    try:
        hallo.function_dispatcher.dispatch(
            EventMessage(serv1, None, user1, "devoice test_chan2"))
        data = serv1.get_send_data(1, user1, EventMessage)
        assert "error" in data[0].text.lower()
        assert "not in that channel" in data[0].text.lower()
    finally:
        hallo.remove_server(serv1)
Esempio n. 6
0
def test_unmute_privmsg(hallo_getter):
    hallo, test_server, test_chan, test_user = hallo_getter(
        {"channel_control"})
    serv1 = ServerMock(hallo)
    serv1.name = "test_serv1"
    serv1.type = Server.TYPE_IRC
    hallo.add_server(serv1)
    user1 = serv1.get_user_by_address("test_user1".lower(), "test_user1")
    try:
        hallo.function_dispatcher.dispatch(
            EventMessage(serv1, None, user1, "unmute"))
        data = serv1.get_send_data(1, user1, EventMessage)
        assert "error" in data[0].text.lower()
        assert "can't unset mute on a private message" in data[0].text.lower()
    finally:
        hallo.remove_server(serv1)
Esempio n. 7
0
def test_deop_not_irc(hallo_getter):
    hallo, test_server, test_chan, test_user = hallo_getter({"channel_control"})
    serv1 = ServerMock(hallo)
    serv1.name = "test_serv1"
    serv1.type = "NOT_IRC"
    hallo.add_server(serv1)
    chan1 = serv1.get_channel_by_address("test_chan1".lower(), "test_chan1")
    user1 = serv1.get_user_by_address("test_user1".lower(), "test_user1")
    chan1.add_user(user1)
    chan1.add_user(
        serv1.get_user_by_address(serv1.get_nick().lower(), serv1.get_nick())
    )
    try:
        hallo.function_dispatcher.dispatch(EventMessage(serv1, chan1, user1, "deop"))
        data = serv1.get_send_data(1, chan1, EventMessage)
        assert "error" in data[0].text.lower()
        assert "only available for irc" in data[0].text.lower()
    finally:
        hallo.remove_server(serv1)
Esempio n. 8
0
def test_deop_0_privmsg(hallo_getter):
    hallo, test_server, test_chan, test_user = hallo_getter({"channel_control"})
    serv1 = ServerMock(hallo)
    serv1.name = "test_serv1"
    serv1.type = Server.TYPE_IRC
    hallo.add_server(serv1)
    chan1 = serv1.get_channel_by_address("test_chan1".lower(), "test_chan1")
    user1 = serv1.get_user_by_address("test_user1", "test_user1")
    chan1.add_user(user1)
    chan1.add_user(
        serv1.get_user_by_address(serv1.get_nick().lower(), serv1.get_nick())
    )
    try:
        hallo.function_dispatcher.dispatch(EventMessage(serv1, None, user1, "deop"))
        data = serv1.get_send_data(1, user1, EventMessage)
        assert "error" in data[0].text.lower()
        assert "in a private message" in data[0].text.lower()
    finally:
        hallo.remove_server(serv1)
Esempio n. 9
0
def test_devoice_2_chan(hallo_getter):
    hallo, test_server, test_chan, test_user = hallo_getter(
        {"channel_control"})
    serv1 = ServerMock(hallo)
    serv1.name = "test_serv1"
    serv1.type = Server.TYPE_IRC
    hallo.add_server(serv1)
    chan1 = serv1.get_channel_by_address("test_chan1".lower(), "test_chan1")
    chan1.in_channel = True
    chan2 = serv1.get_channel_by_address("test_chan2".lower(), "test_chan2")
    chan2.in_channel = True
    user1 = serv1.get_user_by_address("test_user1".lower(), "test_user1")
    user2 = serv1.get_user_by_address("test_user2".lower(), "test_user2")
    user_hallo = serv1.get_user_by_address(serv1.get_nick().lower(),
                                           serv1.get_nick())
    chan1.add_user(user1)
    chan1_user1 = chan1.get_membership_by_user(user1)
    chan1_user1.is_op = False
    chan1.add_user(user_hallo)
    chan1_hallo = chan1.get_membership_by_user(user_hallo)
    chan1_hallo.is_op = True
    chan2.add_user(user2)
    chan2_user2 = chan2.get_membership_by_user(user2)
    chan2_user2.is_voice = True
    chan2.add_user(user_hallo)
    chan2_hallo = chan2.get_membership_by_user(user_hallo)
    chan2_hallo.is_op = True
    try:
        hallo.function_dispatcher.dispatch(
            EventMessage(serv1, chan1, user1, "devoice test_chan2 test_user2"))
        data = serv1.get_send_data(2)
        assert "error" not in data[1].text.lower()
        assert data[0].channel == chan2
        assert data[1].channel == chan1
        assert data[0].__class__ == EventMode
        assert data[1].__class__ == EventMessage
        assert "-v " + user2.name in data[0].mode_changes
        assert "status taken" in data[1].text.lower()
    finally:
        hallo.remove_server(serv1)
Esempio n. 10
0
 def test_irc_server(self):
     # Add one server
     serv1 = ServerMock(self.hallo)
     serv1.type = Server.TYPE_IRC
     serv1.server_address = "irc.example.org"
     serv1.server_port = 6789
     serv1.name = "irc_server_list_test"
     self.hallo.add_server(serv1)
     # Send command
     self.function_dispatcher.dispatch(
         EventMessage(self.server, self.test_chan, self.test_user,
                      "list servers"))
     data = self.server.get_send_data(1, self.test_chan, EventMessage)
     # Check response
     server_list_text = data[0].text.split(":", 1)[1]
     server_list = server_list_text.split("], ")
     assert len(server_list) == 1
     assert serv1.name in server_list[0], (
         "Server name not found in output.\n"
         "Server name: " + serv1.name + "\nCommand output: " +
         server_list[0])
     assert "type=" + serv1.type in server_list[0], (
         "Server type not found in output.\n"
         "Server type: " + serv1.type + "\nCommand output: " +
         server_list[0])
     irc_address = serv1.server_address + ":" + str(serv1.server_port)
     assert irc_address in server_list[0], (
         "IRC server address not found in output.\n"
         "Server address: " + irc_address + "\nCommand output: " +
         server_list[0])
     assert "state=" + serv1.state in server_list[0], (
         "Server state not found in output.\n"
         "Server name: " + serv1.state + "\nCommand output: " +
         server_list[0])
     assert "nick=" + serv1.get_nick() in server_list[0], (
         "Server nick not found in output.\n"
         "Server nick: " + serv1.get_nick() + "\nCommand output: " +
         server_list[0])
     assert "auto_connect=" + str(serv1.auto_connect) in server_list[0]