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)
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)
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)
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)
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)
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)
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)
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)
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)
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]