diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2013-01-19 11:36:27 +0000 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2013-01-19 11:36:27 +0000 |
commit | be98957a88f66215ab6fb84810a1b2d394eac879 (patch) | |
tree | 59d71f86527ae3ec0e581aeb903ddc6b8840a0bc | |
parent | a9a659869d1f3a128e99827faad7ec353f99377f (diff) | |
parent | 69ae6f2d4394a7df0c7d1b4a27c89da6b7cb99b5 (diff) |
Merge from vmiklos.
20 files changed, 277 insertions, 15 deletions
diff --git a/protocols/skype/skype.c b/protocols/skype/skype.c index 57855ad0..8f0d9b1c 100644 --- a/protocols/skype/skype.c +++ b/protocols/skype/skype.c @@ -979,8 +979,8 @@ static void skype_parse_chat(struct im_connection *ic, char *line) g_free(sd->adder); sd->adder = NULL; } - } else if (!strncmp(info, "ACTIVEMEMBERS ", 14)) { - info += 14; + } else if (!strncmp(info, "MEMBERS ", 8)) { + info += 8; gc = bee_chat_by_title(ic->bee, ic, id); /* Hack! We set ->data to TRUE * while we're on the channel diff --git a/protocols/skype/t/add-no-bitlbee.mock b/protocols/skype/t/add-no-bitlbee.mock new file mode 100644 index 00000000..d7a70c66 --- /dev/null +++ b/protocols/skype/t/add-no-bitlbee.mock @@ -0,0 +1,9 @@ +>> NOTICE AUTH +<< NICK alice +<< USER alice alice localhost :Alice +>> PRIVMSG &bitlbee +<< PRIVMSG &bitlbee :account add skype alice foo +<< PRIVMSG &bitlbee :account skype on +>> PRIVMSG &bitlbee :skype - New request: The user bob wants to add you +<< PRIVMSG &bitlbee :no +>> PRIVMSG &bitlbee :skype - Rejected diff --git a/protocols/skype/t/add-no-skyped.mock b/protocols/skype/t/add-no-skyped.mock new file mode 100644 index 00000000..f7283cbc --- /dev/null +++ b/protocols/skype/t/add-no-skyped.mock @@ -0,0 +1,13 @@ +>> SEARCH GROUPS CUSTOM +<< GROUPS 48, 49 +>> SEARCH FRIENDS +<< USERS echo123 +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> GET USER echo123 ONLINESTATUS +<< USER echo123 ONLINESTATUS ONLINE +<< USER bob RECEIVEDAUTHREQUEST Please allow me to see when you are online +>> SET USER bob ISAUTHORIZED FALSE +<< USER bob ISAUTHORIZED FALSE diff --git a/protocols/skype/t/add-yes-bitlbee.mock b/protocols/skype/t/add-yes-bitlbee.mock new file mode 100644 index 00000000..df068f89 --- /dev/null +++ b/protocols/skype/t/add-yes-bitlbee.mock @@ -0,0 +1,9 @@ +>> NOTICE AUTH +<< NICK alice +<< USER alice alice localhost :Alice +>> PRIVMSG &bitlbee +<< PRIVMSG &bitlbee :account add skype alice foo +<< PRIVMSG &bitlbee :account skype on +>> PRIVMSG &bitlbee :skype - New request: The user bob wants to add you +<< PRIVMSG &bitlbee :yes +>> :bob!bob@skype.com JOIN :&bitlbee diff --git a/protocols/skype/t/add-yes-skyped.mock b/protocols/skype/t/add-yes-skyped.mock new file mode 100644 index 00000000..e22beb97 --- /dev/null +++ b/protocols/skype/t/add-yes-skyped.mock @@ -0,0 +1,23 @@ +>> SEARCH GROUPS CUSTOM +<< GROUPS 48, 49 +>> SEARCH FRIENDS +<< USERS echo123 +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> GET USER echo123 ONLINESTATUS +<< USER echo123 ONLINESTATUS ONLINE +<< USER bob RECEIVEDAUTHREQUEST Please allow me to see when you are online +>> SET USER bob ISAUTHORIZED TRUE +<< USER bob ISAUTHORIZED TRUE +<< USER bob RECEIVEDAUTHREQUEST +<< USER bob ISAUTHORIZED TRUE +<< USER bob ISBLOCKED FALSE +<< USER bob BUDDYSTATUS 3 +<< USER bob ONLINESTATUS OFFLINE +<< USER bob ONLINESTATUS ONLINE +<< USER bob TIMEZONE 90000 +<< USER bob FULLNAME Miklos V +<< USER bob LANGUAGE hu Hungarian +<< USER bob COUNTRY hu Hungary diff --git a/protocols/skype/t/call-failed-bitlbee.mock b/protocols/skype/t/call-failed-bitlbee.mock new file mode 100644 index 00000000..aae1d99a --- /dev/null +++ b/protocols/skype/t/call-failed-bitlbee.mock @@ -0,0 +1,9 @@ +>> NOTICE AUTH +<< NICK alice +<< USER alice alice localhost :alice +>> PRIVMSG &bitlbee +<< PRIVMSG &bitlbee :account add skype alice foo +<< PRIVMSG &bitlbee :account skype on +>> PRIVMSG &bitlbee :skype - Logging in: Logged in +<< PRIVMSG bob :CALL +>> PRIVMSG &bitlbee :skype - Error: Call failed: User is offline diff --git a/protocols/skype/t/call-failed-skyped.mock b/protocols/skype/t/call-failed-skyped.mock new file mode 100644 index 00000000..8f6f6007 --- /dev/null +++ b/protocols/skype/t/call-failed-skyped.mock @@ -0,0 +1,17 @@ +>> SEARCH GROUPS CUSTOM +<< GROUPS 48, 49 +>> SEARCH FRIENDS +<< USERS echo123, bob +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> GET USER echo123 ONLINESTATUS +<< USER echo123 ONLINESTATUS ONLINE +>> GET USER bob ONLINESTATUS +<< USER bob ONLINESTATUS OFFLINE +>> CALL bob +<< CALL 216 STATUS UNPLACED +<< CALL 216 STATUS ROUTING +<< CALL 216 FAILUREREASON 3 +<< CALL 216 STATUS FAILED diff --git a/protocols/skype/t/call-skyped.mock b/protocols/skype/t/call-skyped.mock index 16e28ee2..c166af96 100644 --- a/protocols/skype/t/call-skyped.mock +++ b/protocols/skype/t/call-skyped.mock @@ -1,7 +1,7 @@ >> SEARCH GROUPS CUSTOM << GROUPS 48, 49 >> SEARCH FRIENDS -<< USERS echo123, bob, bitlbee-skype +<< USERS echo123, bob >> SET USERSTATUS ONLINE << USERSTATUS ONLINE >> SET USERSTATUS ONLINE @@ -10,8 +10,6 @@ << USER echo123 ONLINESTATUS OFFLINE >> GET USER bob ONLINESTATUS << USER bob ONLINESTATUS ONLINE ->> GET USER bitlbee-skype ONLINESTATUS -<< USER bitlbee-skype ONLINESTATUS OFFLINE >> CALL bob << CALL 178 STATUS UNPLACED << CALL 178 STATUS ROUTING diff --git a/protocols/skype/t/called-no-bitlbee.mock b/protocols/skype/t/called-no-bitlbee.mock new file mode 100644 index 00000000..c69a0c8b --- /dev/null +++ b/protocols/skype/t/called-no-bitlbee.mock @@ -0,0 +1,10 @@ +>> NOTICE AUTH +<< NICK alice +<< USER alice alice localhost :Alice +>> PRIVMSG &bitlbee +<< PRIVMSG &bitlbee :account add skype alice foo +<< PRIVMSG &bitlbee :account skype on +>> PRIVMSG &bitlbee :skype - New request: The user bob is currently ringing you. +<< PRIVMSG &bitlbee :no +>> PRIVMSG &bitlbee :skype - Rejected: The user bob is currently ringing you. +>> PRIVMSG &bitlbee :skype - You refused the call from user bob. diff --git a/protocols/skype/t/called-no-skyped.mock b/protocols/skype/t/called-no-skyped.mock new file mode 100644 index 00000000..6e90e5b9 --- /dev/null +++ b/protocols/skype/t/called-no-skyped.mock @@ -0,0 +1,20 @@ +>> SEARCH GROUPS CUSTOM +<< GROUPS 48, 49 +>> SEARCH FRIENDS +<< USERS echo123, bob +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> GET USER echo123 ONLINESTATUS +<< USER echo123 ONLINESTATUS ONLINE +>> GET USER bob ONLINESTATUS +<< USER bob ONLINESTATUS ONLINE +<< CALL 212 CONF_ID 0 +<< CALL 212 STATUS RINGING +>> GET CALL 212 PARTNER_HANDLE +<< CALL 212 PARTNER_HANDLE bob +>> SET CALL 212 STATUS FINISHED +<< CALL 212 STATUS REFUSED +>> GET CALL 212 PARTNER_HANDLE +<< CALL 212 PARTNER_HANDLE bob diff --git a/protocols/skype/t/called-yes-bitlbee.mock b/protocols/skype/t/called-yes-bitlbee.mock new file mode 100644 index 00000000..47c54799 --- /dev/null +++ b/protocols/skype/t/called-yes-bitlbee.mock @@ -0,0 +1,9 @@ +>> NOTICE AUTH +<< NICK alice +<< USER alice alice localhost :Alice +>> PRIVMSG &bitlbee +<< PRIVMSG &bitlbee :account add skype alice foo +<< PRIVMSG &bitlbee :account skype on +>> PRIVMSG &bitlbee :skype - New request: The user bob is currently ringing you. +<< PRIVMSG &bitlbee :yes +>> PRIVMSG &bitlbee :skype - Accepted: The user bob is currently ringing you. diff --git a/protocols/skype/t/called-yes-skyped.mock b/protocols/skype/t/called-yes-skyped.mock new file mode 100644 index 00000000..08c78275 --- /dev/null +++ b/protocols/skype/t/called-yes-skyped.mock @@ -0,0 +1,18 @@ +>> SEARCH GROUPS CUSTOM +<< GROUPS 48, 49 +>> SEARCH FRIENDS +<< USERS echo123, bob +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> GET USER echo123 ONLINESTATUS +<< USER echo123 ONLINESTATUS ONLINE +>> GET USER bob ONLINESTATUS +<< USER bob ONLINESTATUS ONLINE +<< CALL 208 CONF_ID 0 +<< CALL 208 STATUS RINGING +>> GET CALL 208 PARTNER_HANDLE +<< CALL 208 PARTNER_HANDLE bob +>> SET CALL 208 STATUS INPROGRESS +<< CALL 208 STATUS INPROGRESS diff --git a/protocols/skype/t/groupchat-invite-bitlbee.mock b/protocols/skype/t/groupchat-invite-bitlbee.mock new file mode 100644 index 00000000..49e3716f --- /dev/null +++ b/protocols/skype/t/groupchat-invite-bitlbee.mock @@ -0,0 +1,10 @@ +>> NOTICE AUTH +<< NICK alice +<< USER alice alice localhost :Alice +>> PRIVMSG &bitlbee +<< PRIVMSG &bitlbee :account add skype alice foo +<< PRIVMSG &bitlbee :account skype on +<< PRIVMSG &bitlbee :chat with bob +>> 353 alice = ##alice/$bob;a7ab206ec780 :@alice bob @root +<< INVITE cecil ##alice/$bob;a7ab206ec780 +>> cecil@skype.com JOIN :##alice/$bob;a7ab206ec780 diff --git a/protocols/skype/t/groupchat-invite-skyped.mock b/protocols/skype/t/groupchat-invite-skyped.mock new file mode 100644 index 00000000..0f30a28e --- /dev/null +++ b/protocols/skype/t/groupchat-invite-skyped.mock @@ -0,0 +1,42 @@ +>> SEARCH GROUPS CUSTOM +<< GROUPS 48, 49 +>> SEARCH FRIENDS +<< USERS echo123, bob, cecil +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> GET USER echo123 ONLINESTATUS +<< USER echo123 ONLINESTATUS ONLINE +>> GET USER bob ONLINESTATUS +<< USER bob ONLINESTATUS ONLINE +>> GET USER cecil ONLINESTATUS +<< USER cecil ONLINESTATUS ONLINE +>> CHAT CREATE bob +<< CHAT #alice/$bob;a7ab206ec78060f1 STATUS DIALOG +>> GET CHAT #alice/$bob;a7ab206ec78060f1 ADDER +<< CHAT #alice/$bob;a7ab206ec78060f1 ADDER +<< CHAT #alice/$bob;a7ab206ec78060f1 NAME #alice/$bob;a7ab206ec78060f1 +>> GET CHAT #alice/$bob;a7ab206ec78060f1 TOPIC +<< CHAT #alice/$bob;a7ab206ec78060f1 TOPIC +<< CHATMESSAGE 206 STATUS SENDING +<< CHAT #alice/$bob;a7ab206ec78060f1 STATUS DIALOG +<< CHATMEMBER 204 ROLE USER +<< CHAT #alice/$bob;a7ab206ec78060f1 MYROLE USER +<< CHAT #alice/$bob;a7ab206ec78060f1 MEMBERS bob alice +<< CHAT #alice/$bob;a7ab206ec78060f1 ACTIVEMEMBERS alice +<< CHAT #alice/$bob;a7ab206ec78060f1 STATUS DIALOG +<< CHAT #alice/$bob;a7ab206ec78060f1 TIMESTAMP 1358344213 +<< CHAT #alice/$bob;a7ab206ec78060f1 DIALOG_PARTNER bob +<< CHAT #alice/$bob;a7ab206ec78060f1 MEMBERS bob alice +<< CHAT #alice/$bob;a7ab206ec78060f1 FRIENDLYNAME bob +>> ALTER CHAT #alice/$bob;a7ab206ec78060f1 ADDMEMBERS cecil +<< ALTER CHAT ADDMEMBERS +<< CHAT #alice/$bob;a7ab206ec78060f1 STATUS MULTI_SUBSCRIBED +<< CHAT #alice/$bob;a7ab206ec78060f1 MEMBERS bob cecil alice +>> GET CHAT #alice/$bob;a7ab206ec78060f1 ADDER +<< CHAT #alice/$bob;a7ab206ec78060f1 ADDER +<< CHAT #alice/$bob;a7ab206ec78060f1 FRIENDLYNAME bob, cecil +>> GET CHAT #alice/$bob;a7ab206ec78060f1 TOPIC +<< CHAT #alice/$bob;a7ab206ec78060f1 TOPIC +<< CHATMESSAGE 210 STATUS SENDING diff --git a/protocols/skype/t/groupchat-invited-bitlbee.mock b/protocols/skype/t/groupchat-invited-bitlbee.mock new file mode 100644 index 00000000..f63b7d5c --- /dev/null +++ b/protocols/skype/t/groupchat-invited-bitlbee.mock @@ -0,0 +1,8 @@ +>> NOTICE AUTH +<< NICK alice +<< USER alice alice localhost :Alice +>> PRIVMSG &bitlbee +<< PRIVMSG &bitlbee :account add skype alice foo +<< PRIVMSG &bitlbee :account skype on +>> JOIN :##cecil/$bob;4d8cc9965791 +>> 353 alice = ##cecil/$bob;4d8cc9965791 :@alice bob cecil @root diff --git a/protocols/skype/t/groupchat-invited-skyped.mock b/protocols/skype/t/groupchat-invited-skyped.mock new file mode 100644 index 00000000..7da3be74 --- /dev/null +++ b/protocols/skype/t/groupchat-invited-skyped.mock @@ -0,0 +1,52 @@ +>> SEARCH GROUPS CUSTOM +<< GROUPS 48, 49 +>> SEARCH FRIENDS +<< USERS echo123, bob, cecil +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> SET USERSTATUS ONLINE +<< USERSTATUS ONLINE +>> GET USER echo123 ONLINESTATUS +<< USER echo123 ONLINESTATUS ONLINE +>> GET USER bob ONLINESTATUS +<< USER bob ONLINESTATUS OFFLINE +>> GET USER cecil ONLINESTATUS +<< USER cecil ONLINESTATUS OFFLINE +<< CHAT #cecil/$bob;4d8cc9965791c6b9 NAME #cecil/$bob;4d8cc9965791c6b9 +<< CHAT #cecil/$bob;4d8cc9965791c6b9 STATUS MULTI_SUBSCRIBED +<< CHAT #cecil/$bob;4d8cc9965791c6b9 STATUS MULTI_SUBSCRIBED +<< CHATMEMBER 186 ROLE USER +<< CHAT #cecil/$bob;4d8cc9965791c6b9 MYROLE USER +<< CHAT #cecil/$bob;4d8cc9965791c6b9 MEMBERS bob cecil alice +<< CHAT #cecil/$bob;4d8cc9965791c6b9 FRIENDLYNAME bob, cecil +<< CHAT #cecil/$bob;4d8cc9965791c6b9 ACTIVEMEMBERS bob alice +<< CHAT #cecil/$bob;4d8cc9965791c6b9 TIMESTAMP 1358276196 +<< CHAT #cecil/$bob;4d8cc9965791c6b9 ADDER bob +<< CHAT #cecil/$bob;4d8cc9965791c6b9 TOPIC +<< CHAT #cecil/$bob;4d8cc9965791c6b9 STATUS MULTI_SUBSCRIBED +<< CHATMESSAGE 188 STATUS RECEIVED +>> GET CHAT #cecil/$bob;4d8cc9965791c6b9 ADDER +<< CHAT #cecil/$bob;4d8cc9965791c6b9 ADDER bob +>> GET CHAT #cecil/$bob;4d8cc9965791c6b9 TOPIC +<< CHAT #cecil/$bob;4d8cc9965791c6b9 TOPIC +>> GET CHAT #cecil/$bob;4d8cc9965791c6b9 ADDER +<< CHAT #cecil/$bob;4d8cc9965791c6b9 ADDER bob +>> GET CHAT #cecil/$bob;4d8cc9965791c6b9 TOPIC +<< CHAT #cecil/$bob;4d8cc9965791c6b9 TOPIC +>> GET CHAT #cecil/$bob;4d8cc9965791c6b9 ADDER +<< CHAT #cecil/$bob;4d8cc9965791c6b9 ADDER bob +>> GET CHAT #cecil/$bob;4d8cc9965791c6b9 TOPIC +<< CHAT #cecil/$bob;4d8cc9965791c6b9 TOPIC +>> GET CHATMESSAGE 188 FROM_HANDLE +<< CHATMESSAGE 188 FROM_HANDLE bob +>> GET CHATMESSAGE 188 BODY +<< CHATMESSAGE 188 BODY +>> GET CHATMESSAGE 188 TYPE +<< CHATMESSAGE 188 TYPE ADDEDMEMBERS +>> GET CHATMESSAGE 188 CHATNAME +<< CHATMESSAGE 188 CHATNAME #cecil/$bob;4d8cc9965791c6b9 +<< CHATMESSAGE 189 STATUS READ +<< CHATMESSAGE 189 STATUS READ +<< CHATMEMBER 186 IS_ACTIVE TRUE +<< CHAT #cecil/$bob;4d8cc9965791c6b9 ACTIVEMEMBERS bob cecil alice +<< CHATMESSAGE 190 STATUS SENT diff --git a/protocols/skype/t/info-skyped.mock b/protocols/skype/t/info-skyped.mock index 217a2b23..9b4ffda7 100644 --- a/protocols/skype/t/info-skyped.mock +++ b/protocols/skype/t/info-skyped.mock @@ -1,7 +1,7 @@ >> SEARCH GROUPS CUSTOM << GROUPS 48, 49 >> SEARCH FRIENDS -<< USERS echo123, bob, bitlbee-skype +<< USERS echo123, bob >> SET USERSTATUS ONLINE << USERSTATUS ONLINE >> SET USERSTATUS ONLINE @@ -10,8 +10,6 @@ << USER echo123 ONLINESTATUS ONLINE >> GET USER bob ONLINESTATUS << USER bob ONLINESTATUS ONLINE ->> GET USER bitlbee-skype ONLINESTATUS -<< USER bitlbee-skype ONLINESTATUS OFFLINE >> GET USER bob FULLNAME << USER bob FULLNAME Bob >> GET USER bob PHONE_HOME diff --git a/protocols/skype/t/login-skyped.mock b/protocols/skype/t/login-skyped.mock index 91c387d3..322c7c6b 100644 --- a/protocols/skype/t/login-skyped.mock +++ b/protocols/skype/t/login-skyped.mock @@ -1,7 +1,7 @@ >> SEARCH GROUPS CUSTOM << GROUPS 48, 49 >> SEARCH FRIENDS -<< USERS echo123, bob, bitlbee-skype +<< USERS echo123, bob >> SET USERSTATUS ONLINE << USERSTATUS ONLINE >> SET USERSTATUS ONLINE @@ -10,5 +10,3 @@ << USER echo123 ONLINESTATUS ONLINE >> GET USER bob ONLINESTATUS << USER bob ONLINESTATUS ONLINE ->> GET USER bitlbee-skype ONLINESTATUS -<< USER bitlbee-skype ONLINESTATUS OFFLINE diff --git a/protocols/skype/t/msg-skyped.mock b/protocols/skype/t/msg-skyped.mock index 2e3308b1..1a49566e 100644 --- a/protocols/skype/t/msg-skyped.mock +++ b/protocols/skype/t/msg-skyped.mock @@ -1,7 +1,7 @@ >> SEARCH GROUPS CUSTOM << GROUPS 48, 49 >> SEARCH FRIENDS -<< USERS echo123, bob, bitlbee-skype +<< USERS echo123, bob >> SET USERSTATUS ONLINE << USERSTATUS ONLINE >> SET USERSTATUS ONLINE @@ -10,8 +10,6 @@ << USER echo123 ONLINESTATUS ONLINE >> GET USER bob ONLINESTATUS << USER bob ONLINESTATUS ONLINE ->> GET USER bitlbee-skype ONLINESTATUS -<< USER bitlbee-skype ONLINESTATUS OFFLINE >> MESSAGE bob foo << CHATMESSAGE 290 STATUS SENDING << CHAT #alice/$bob;ea753190f0a3e49b NAME #alice/$bob;ea753190f0a3e49b diff --git a/protocols/skype/test.py b/protocols/skype/test.py index 99883747..3c35a5c0 100755 --- a/protocols/skype/test.py +++ b/protocols/skype/test.py @@ -27,7 +27,7 @@ class Test(unittest.TestCase): for i in bitlbee_mock.readlines(): line = i.strip() if line.startswith(">> "): - bitlbee.expect(line[3:], timeout=10) + bitlbee.expect_exact(line[3:], timeout=10) elif line.startswith("<< "): bitlbee.sendline(line[3:]) bitlbee_mock.close() @@ -74,6 +74,27 @@ class Test(unittest.TestCase): def testCall(self): self.mock("call") + + def testCallFailed(self): + self.mock("call-failed") + + def testAddYes(self): + self.mock("add-yes") + + def testAddNo(self): + self.mock("add-no") + + def testGroupchatInvited(self): + self.mock("groupchat-invited") + + def testGroupchatInvite(self): + self.mock("groupchat-invite") + + def testCalledYes(self): + self.mock("called-yes") + + def testCalledNo(self): + self.mock("called-no") if __name__ == '__main__': unittest.main() |