Example #1
0
 def test_mute_0(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.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:
         self.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:
         self.hallo.remove_server(serv1)
Example #2
0
 def test_invite_2_user(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.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(user_hallo)
     chan2_hallo = chan2.get_membership_by_user(user_hallo)
     chan2_hallo.is_op = True
     try:
         self.function_dispatcher.dispatch(EventMessage(serv1, chan1, user1, "invite test_user2 test_chan2"))
         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__ == EventInvite
         assert data[1].__class__ == EventMessage
         assert data[0].invited_user == user2
         assert "invite sent" in data[1].text.lower()
     finally:
         self.hallo.remove_server(serv1)
Example #3
0
 def test_deop_2_user_not_op(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.hallo.add_server(serv1)
     chan1 = serv1.get_channel_by_name("test_chan1")
     chan1.in_channel = True
     chan2 = serv1.get_channel_by_name("test_chan2")
     chan2.in_channel = True
     user1 = serv1.get_user_by_name("test_user1")
     user2 = serv1.get_user_by_name("test_user2")
     user_hallo = serv1.get_user_by_name(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_op = False
     chan2.add_user(user_hallo)
     chan2_hallo = chan2.get_membership_by_user(user_hallo)
     chan2_hallo.is_op = True
     try:
         self.function_dispatcher.dispatch("deop test_user2 test_chan2", user1, chan1)
         data = serv1.get_send_data(1, chan1, Server.MSG_MSG)
         assert "error" in data[0][0].lower()
         assert "doesn't have op" in data[0][0].lower()
     finally:
         self.hallo.remove_server(serv1)
Example #4
0
 def test_deop_0(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.hallo.add_server(serv1)
     chan1 = serv1.get_channel_by_name("test_chan1")
     chan1.in_channel = True
     user1 = serv1.get_user_by_name("test_user1")
     user_hallo = serv1.get_user_by_name(serv1.get_nick())
     chan1.add_user(user1)
     chan1.add_user(user_hallo)
     chan1_user1 = chan1.get_membership_by_user(user1)
     chan1_user1.is_op = True
     chan1_hallo = chan1.get_membership_by_user(user_hallo)
     chan1_hallo.is_op = True
     try:
         self.function_dispatcher.dispatch("deop", user1, chan1)
         data = serv1.get_send_data(2)
         assert "error" not in data[0][0].lower()
         assert data[0][1] is None
         assert data[1][1] == chan1
         assert data[0][2] == Server.MSG_RAW
         assert data[1][2] == Server.MSG_MSG
         assert data[0][0][:4] == "MODE"
         assert chan1.name+" -o "+user1.name in data[0][0]
         assert "status taken" in data[1][0].lower()
     finally:
         self.hallo.remove_server(serv1)
Example #5
0
 def test_voice_1_user_is_voice(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.hallo.add_server(serv1)
     chan1 = serv1.get_channel_by_name("test_chan1")
     chan1.in_channel = True
     user1 = serv1.get_user_by_name("test_user1")
     user2 = serv1.get_user_by_name("test_user2")
     user_hallo = serv1.get_user_by_name(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
     chan1.add_user(user2)
     chan1_user2 = chan1.get_membership_by_user(user2)
     chan1_user2.is_op = False
     chan1_user2.is_voice = True
     try:
         self.function_dispatcher.dispatch("voice test_user2", user1, chan1)
         data = serv1.get_send_data(1, chan1, Server.MSG_MSG)
         assert "error" in data[0][0].lower()
         assert "already has voice" in data[0][0].lower()
     finally:
         self.hallo.remove_server(serv1)
Example #6
0
 def test_invite_2_user_user_already_there(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.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_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:
         self.function_dispatcher.dispatch(EventMessage(serv1, chan1, user1, "invite test_user2 test_chan2"))
         data = serv1.get_send_data(1, chan1, EventMessage)
         assert "error" in data[0].text.lower()
         assert "test_user2 is already in test_chan2" in data[0].text.lower()
     finally:
         self.hallo.remove_server(serv1)
Example #7
0
 def test_op_1_user_no_power(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.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")
     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 = False
     chan1.add_user(user2)
     chan1_user2 = chan1.get_membership_by_user(user2)
     chan1_user2.is_op = False
     try:
         self.function_dispatcher.dispatch(EventMessage(serv1, chan1, user1, "op test_user2"))
         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:
         self.hallo.remove_server(serv1)
Example #8
0
 def test_invite_2_user(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.hallo.add_server(serv1)
     chan1 = serv1.get_channel_by_name("test_chan1")
     chan1.in_channel = True
     chan2 = serv1.get_channel_by_name("test_chan2")
     chan2.in_channel = True
     user1 = serv1.get_user_by_name("test_user1")
     user2 = serv1.get_user_by_name("test_user2")
     user_hallo = serv1.get_user_by_name(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(user_hallo)
     chan2_hallo = chan2.get_membership_by_user(user_hallo)
     chan2_hallo.is_op = True
     try:
         self.function_dispatcher.dispatch("invite test_user2 test_chan2", user1, chan1)
         data = serv1.get_send_data(2)
         assert "error" not in data[0][0].lower()
         assert data[0][1] is None
         assert data[1][1] == chan1
         assert data[0][2] == Server.MSG_RAW
         assert data[1][2] == Server.MSG_MSG
         assert data[0][0][:6] == "INVITE"
         assert user2.name+" "+chan2.name in data[0][0]
         assert "invite sent" in data[1][0].lower()
     finally:
         self.hallo.remove_server(serv1)
Example #9
0
 def test_devoice_1priv(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.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_voice = True
     chan1_hallo = chan1.get_membership_by_user(user_hallo)
     chan1_hallo.is_op = True
     try:
         self.function_dispatcher.dispatch(EventMessage(serv1, None, user1, "devoice 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__ == EventMode
         assert data[1].__class__ == EventMessage
         assert "-v "+user1.name in data[0].mode_changes
         assert "status taken" in data[1].text.lower()
     finally:
         self.hallo.remove_server(serv1)
Example #10
0
 def test_mute_privmsg(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.hallo.add_server(serv1)
     user1 = serv1.get_user_by_address("test_user1".lower(), "test_user1")
     try:
         self.function_dispatcher.dispatch(EventMessage(serv1, None, user1, "mute"))
         data = serv1.get_send_data(1, user1, EventMessage)
         assert "error" in data[0].text.lower()
         assert "can't set mute on a private message" in data[0].text.lower()
     finally:
         self.hallo.remove_server(serv1)
Example #11
0
 def test_mute_privmsg(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.hallo.add_server(serv1)
     user1 = serv1.get_user_by_name("test_user1")
     try:
         self.function_dispatcher.dispatch("mute", user1, user1)
         data = serv1.get_send_data(1, user1, Server.MSG_MSG)
         assert "error" in data[0][0].lower()
         assert "can't set mute on a private message" in data[0][0].lower()
     finally:
         self.hallo.remove_server(serv1)
Example #12
0
 def test_deop_0_privmsg(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.hallo.add_server(serv1)
     chan1 = serv1.get_channel_by_name("test_chan1")
     user1 = serv1.get_user_by_name("test_user1")
     chan1.add_user(user1)
     chan1.add_user(serv1.get_user_by_name(serv1.get_nick()))
     try:
         self.function_dispatcher.dispatch("deop", user1, user1)
         data = serv1.get_send_data(1, user1, Server.MSG_MSG)
         assert "error" in data[0][0].lower()
         assert "in a private message" in data[0][0].lower()
     finally:
         self.hallo.remove_server(serv1)
Example #13
0
 def test_invite_not_irc(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = "NOT_IRC"
     self.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:
         self.function_dispatcher.dispatch(EventMessage(serv1, chan1, user1, "invite"))
         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:
         self.hallo.remove_server(serv1)
Example #14
0
 def test_op_0_privmsg(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.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:
         self.function_dispatcher.dispatch(EventMessage(serv1, None, user1, "op"))
         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:
         self.hallo.remove_server(serv1)
Example #15
0
 def test_deop_not_irc(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = "NOT_IRC"
     self.hallo.add_server(serv1)
     chan1 = serv1.get_channel_by_name("test_chan1")
     user1 = serv1.get_user_by_name("test_user1")
     chan1.add_user(user1)
     chan1.add_user(serv1.get_user_by_name(serv1.get_nick()))
     try:
         self.function_dispatcher.dispatch("deop", user1, chan1)
         data = serv1.get_send_data(1, chan1, Server.MSG_MSG)
         assert "error" in data[0][0].lower()
         assert "only available for irc" in data[0][0].lower()
     finally:
         self.hallo.remove_server(serv1)
Example #16
0
 def test_deop_0_no_power(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.hallo.add_server(serv1)
     chan1 = serv1.get_channel_by_name("test_chan1")
     chan1.in_channel = True
     user1 = serv1.get_user_by_name("test_user1")
     chan1.add_user(user1)
     chan1.add_user(serv1.get_user_by_name(serv1.get_nick()))
     try:
         self.function_dispatcher.dispatch("deop", user1, chan1)
         data = serv1.get_send_data(1, chan1, Server.MSG_MSG)
         assert "error" in data[0][0].lower()
         assert "don't have power" in data[0][0].lower()
     finally:
         self.hallo.remove_server(serv1)
Example #17
0
 def test_voice_0_no_power(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.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")
     chan1.add_user(user1)
     chan1.add_user(serv1.get_user_by_address(serv1.get_nick().lower(), serv1.get_nick()))
     try:
         self.function_dispatcher.dispatch(EventMessage(serv1, chan1, user1, "voice"))
         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:
         self.hallo.remove_server(serv1)
Example #18
0
 def test_deop_1priv_user_not_there(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.hallo.add_server(serv1)
     chan1 = serv1.get_channel_by_name("test_chan1")
     chan1.in_channel = True
     user1 = serv1.get_user_by_name("test_user1")
     user_hallo = serv1.get_user_by_name(serv1.get_nick())
     chan1.add_user(user_hallo)
     chan1_hallo = chan1.get_membership_by_user(user_hallo)
     chan1_hallo.is_op = True
     try:
         self.function_dispatcher.dispatch("deop test_chan1", user1, user1)
         data = serv1.get_send_data(1, user1, Server.MSG_MSG)
         assert "error" in data[0][0].lower()
         assert "test_user1 is not in test_chan1" in data[0][0].lower()
     finally:
         self.hallo.remove_server(serv1)
Example #19
0
 def test_voice_1priv_user_not_there(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.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:
         self.function_dispatcher.dispatch(EventMessage(serv1, None, user1, "voice test_chan1"))
         data = serv1.get_send_data(1, user1, EventMessage)
         assert "error" in data[0].text.lower()
         assert "test_user1 is not in test_chan1" in data[0].text.lower()
     finally:
         self.hallo.remove_server(serv1)
Example #20
0
 def test_invite_0_fail(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.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:
         self.function_dispatcher.dispatch(EventMessage(serv1, chan1, user1, "invite"))
         data = serv1.get_send_data(1, chan1, EventMessage)
         assert "error" in data[0].text.lower()
         assert "specify a user to invite and/or a channel" in data[0].text.lower()
     finally:
         self.hallo.remove_server(serv1)
Example #21
0
 def test_mute_1_no_power(self):
     serv1 = ServerMock(self.hallo)
     serv1.name = "test_serv1"
     serv1.type = Server.TYPE_IRC
     self.hallo.add_server(serv1)
     chan1 = serv1.get_channel_by_name("test_chan1")
     chan1.in_channel = True
     user1 = serv1.get_user_by_name("test_user1")
     user_hallo = serv1.get_user_by_name(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:
         self.function_dispatcher.dispatch("mute test_chan1", user1, user1)
         data = serv1.get_send_data(1, user1, Server.MSG_MSG)
         assert "error" in data[0][0].lower()
         assert "don't have power" in data[0][0].lower()
     finally:
         self.hallo.remove_server(serv1)
Example #22
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 + "\n" \
                                          "Command output: " + server_list[0]
     assert "type=" + serv1.type in server_list[0], "Server type not found in output.\n" \
                                                    "Server type: " + serv1.type + "\n" \
                                                    "Command 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 + "\n" \
                                           "Command output: " + server_list[0]
     assert "state=" + serv1.state in server_list[0], "Server state not found in output.\n" \
                                                      "Server name: " + serv1.state + "\n" \
                                                      "Command 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() + "\n" \
                                                          "Command output: " + server_list[0]
     assert "auto_connect=" + str(serv1.auto_connect) in \
            server_list[0], "Server auto connect not found in output.\n" \
                            "Server auto connect: " + \
                            str(serv1.auto_connect) + "\n" \
                            "Command output: " + server_list[0]