123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- import time
- import sys
- import inc_const as const
- import inc_util as util
- from inc_cfg import *
- # Load configuration
- cfg_file = util.load_module_from_file("cfg_file", ARGS[1])
- # Test body function
- def test_func(t):
- u1 = t.process[0]
- uri1 = cfg_file.test_param.inst_params[0].uri
- acc1 = "-1"
- u2 = t.process[1]
- uri2 = cfg_file.test_param.inst_params[1].uri
- acc2 = "-1"
- # if have_reg then wait for couple of seconds for PUBLISH
- # to complete (just in case pUBLISH is used)
- if u1.inst_param.have_reg:
- time.sleep(1)
- if u2.inst_param.have_reg:
- time.sleep(1)
- # U1 adds U2 as buddy
- if u1.use_telnet:
- u1.send("im add_b " + uri2)
- else:
- u1.send("+b")
- u1.send(uri2)
- u1.expect("Subscription state changed NULL --> SENT")
- u1.expect("Presence subscription.*is ACCEPTED")
- if not u2.inst_param.have_publish:
- # Process incoming SUBSCRIBE in U2
- # Finds out which account gets the subscription in U2
- line = u2.expect("pjsua_pres.*subscription.*using account")
- acc2 = line.split("using account ")[1]
- # wait until we've got Online notification
- u1.expect(uri2 + ".*Online")
- # Synchronize stdout
- u1.sync_stdout()
- u2.sync_stdout()
- # U2 adds U1 as buddy
- if u2.use_telnet:
- u2.send("im add_b " + uri1)
- else:
- u2.send("+b")
- u2.send(uri1)
- u2.expect("Subscription state changed NULL --> SENT")
- # sometime it is NULL->SENT->ACCEPTED->ACTIVE
- # some othertime NULL->SENT->ACTIVE
- #u2.expect("Presence subscription.*is ACCEPTED")
- u2.expect("Presence subscription.*is ACTIVE")
- if not u1.inst_param.have_publish:
- # Process incoming SUBSCRIBE in U1
- # Finds out which account gets the subscription in U1
- line = u1.expect("pjsua_pres.*subscription.*using account")
- acc1 = line.split("using account ")[1]
- # wait until we've got Online notification
- u2.expect(uri1 + ".*Online")
- # Synchronize stdout
- u1.sync_stdout()
- u2.sync_stdout()
- # Set current account in both U1 and U2
- if acc1!="-1":
- if u1.use_telnet:
- u1.send("acc prev " + acc1)
- else:
- u1.send(">")
- u1.send(acc1)
- u1.expect("Current account changed")
- if acc2!="-1":
- if u2.use_telnet:
- u2.send("acc prev " + acc2)
- else:
- u2.send(">")
- u2.send(acc2)
- u2.expect("Current account changed")
- # Synchronize stdout
- u1.sync_stdout()
- u2.sync_stdout()
- # u2 toggles online status
- if u2.use_telnet:
- u2.send("im tog_state")
- else:
- u2.send("t")
- u1.expect(uri2 + ".*status.*Offline")
- u2.expect("offline")
-
- # Synchronize stdout
- u1.sync_stdout()
- u2.sync_stdout()
- # u1 toggles online status
- if u1.use_telnet:
- u1.send("im tog_state")
- else:
- u1.send("t")
- u2.expect(uri1 + ".*status.*Offline")
- u1.expect("offline")
- # Synchronize stdout
- u1.sync_stdout()
- u2.sync_stdout()
- # u2 set online status to On the phone
- if u2.use_telnet:
- u2.send("im pre_text 3")
- else:
- u2.send("T")
- u2.send("3")
- u1.expect(uri2 + ".*status.*On the phone")
- u2.expect("On the phone")
-
- # Synchronize stdout
- u1.sync_stdout()
- u2.sync_stdout()
- # Synchronize stdout
- u1.sync_stdout()
- u2.sync_stdout()
- # U1 send IM
- if u1.use_telnet:
- im_text = "Hello-World-from-U1"
- u1.send("im send_im %s %s" % (uri2, im_text))
- else:
- im_text = "Hello World from U1"
- u1.send("i")
- u1.send(uri2)
- u2.expect(" is typing")
- u1.send(im_text)
- u1.expect(im_text+".*delivered successfully")
- u2.expect("MESSAGE from.*"+im_text)
-
- # Synchronize stdout
- u1.sync_stdout()
- u2.sync_stdout()
- # Here where it all comes together
- test = cfg_file.test_param
- test.test_func = test_func
|