blob: 4cc12a41cf9c13786eb7eb142be86c76bbee252f [file] [log] [blame]
Benny Prijono632be0a2008-06-26 19:51:01 +00001# $Id$
Benny Prijono7d578a72008-06-20 00:25:55 +00002import imp
3import sys
4import inc_sip as sip
5import inc_const as const
6import re
7from inc_cfg import *
8
9# Read configuration
Nanang Izzuddina680bd62008-06-27 21:12:12 +000010cfg_file = imp.load_source("cfg_file", ARGS[1])
Benny Prijono7d578a72008-06-20 00:25:55 +000011
12# Test body function
Nanang Izzuddina680bd62008-06-27 21:12:12 +000013def test_func(t):
Benny Prijono7d578a72008-06-20 00:25:55 +000014 pjsua = t.process[0]
15 # Create dialog
16 dlg = sip.Dialog("127.0.0.1", pjsua.inst_param.sip_port,
17 tcp=cfg_file.sendto_cfg.use_tcp)
18 #dlg = sip.Dialog("127.0.0.1", 5060, tcp=cfg_file.sendto_cfg.use_tcp)
19 cfg = cfg_file.sendto_cfg
20
Benny Prijono036911b2008-06-27 21:22:12 +000021 if len(cfg.complete_msg) != 0:
22 req = cfg.complete_msg
23 else:
24 req = dlg.create_invite(cfg.sdp, cfg.extra_headers)
Benny Prijono7d578a72008-06-20 00:25:55 +000025 resp = dlg.send_request_wait(req, 10)
26 if resp=="":
27 raise TestError("Timed-out waiting for response")
28 # Check response code
29 code = int(sip.get_code(resp))
30 if code != cfg.resp_code:
31 dlg.hangup(code)
32 raise TestError("Expecting code " + str(cfg.resp_code) +
33 " got " + str(code))
34 # Check for patterns that must exist
35 for p in cfg.resp_include:
36 if re.search(p, resp, re.M | re.I)==None:
37 dlg.hangup(code)
38 raise TestError("Pattern " + p + " not found")
39 # Check for patterns that must not exist
40 for p in cfg.resp_exclude:
41 if re.search(p, resp, re.M | re.I)!=None:
42 dlg.hangup(code)
43 raise TestError("Excluded pattern " + p + " found")
44 pjsua.sync_stdout()
45 dlg.hangup(code)
46 pjsua.sync_stdout()
47
48# Here where it all comes together
49test = TestParam(cfg_file.sendto_cfg.name,
50 [cfg_file.sendto_cfg.inst_param],
51 test_func)
52
53