smalltalk
/
osmo-st-sip
Archived
1
0
Fork 0

parser: Create the test data using a WriteStream

This commit is contained in:
Holger Hans Peter Freyther 2011-06-30 11:41:50 +02:00
parent b41d170320
commit 12a83f9fad
1 changed files with 23 additions and 19 deletions

View File

@ -26,26 +26,30 @@ PP.PPCompositeParserTest subclass: SIPParserTest [
^ SIPParser
]
testResponse [
| data crlf res |
crlf := Character cr asString, Character nl asString.
data := 'SIP/2.0 480 Temporarily Unavailable', crlf,
'Via: SIP/2.0/UDP 172.16.254.34;branch=z9hG4bKMzQ4NTQzNDgxNCwyNDE1Nw__', crlf,
'From: <sip:1000@on-waves.com>;tag=MzQ4NTQ0MTg2NzIyNDEwNjkyNjY_', crlf,
'To: <sip:9198@172.16.1.72>;tag=42eBv22Fj314N', crlf,
'Call-ID: MzY3NzE3ODgyNw__@xiaoyu', crlf,
'CSeq: 1 INVITE', crlf,
'User-Agent: FreeSWITCH-mod_sofia/1.0.head-git-dff41af 2011-04-20 14-11-24 +0200', crlf,
'Accept: application/sdp', crlf,
'Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE', crlf,
'Supported: timer, precondition, path, replaces', crlf,
'Allow-Events: talk, hold, presence, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer', crlf,
'Reason: Q.850;cause=96;text="MANDATORY_IE_MISSING"', crlf,
'Content-Length: 0', crlf,
'Remote-Party-ID: "9198" <sip:9198@172.16.1.72>;party=calling;privacy=off;screen=no', crlf, crlf.
testResponseData [
^ (WriteStream on: (String new))
nextPutAll: 'SIP/2.0 480 Temporarily Unavailable'; cr; nl;
nextPutAll: 'Via: SIP/2.0/UDP 172.16.254.34;branch=z9hG4bKMzQ4NTQzNDgxNCwyNDE1Nw__'; cr; nl;
nextPutAll: 'From: <sip:1000@on-waves.com>;tag=MzQ4NTQ0MTg2NzIyNDEwNjkyNjY_'; cr; nl;
nextPutAll: 'To: <sip:9198@172.16.1.72>;tag=42eBv22Fj314N;abc=def;kbc;ajk'; cr; nl;
nextPutAll: 'Call-ID: MzY3NzE3ODgyNw__@xiaoyu'; cr; nl;
nextPutAll: 'CSeq: 1 INVITE'; cr; nl;
nextPutAll: 'User-Agent: FreeSWITCH-mod_sofia/1.0.head-git-dff41af 2011-04-20 14-11-24 +0200'; cr; nl;
nextPutAll: 'Accept: application/sdp'; cr; nl;
nextPutAll: 'Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE'; cr; nl;
nextPutAll: 'Supported: timer, precondition, path, replaces'; cr; nl;
nextPutAll: 'Allow-Events: talk, hold, presence, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer'; cr; nl;
nextPutAll: 'Reason: Q.850;cause=96;text="MANDATORY_IE_MISSING"'; cr; nl;
nextPutAll: 'Content-Length: 0'; cr; nl;
nextPutAll: 'Remote-Party-ID: "9198" <sip:9198@172.16.1.72>;party=calling;privacy=off;screen=no'; cr; nl; cr;nl;
contents.
]
res := self parse: data.
self assert: res asDatagram = data.
testResponse [
| data res |
res := self parse: self testResponseData.
self assert: res asDatagram = self testResponseData.
self assert: (res parameter: 'Via') branch = 'z9hG4bKMzQ4NTQzNDgxNCwyNDE1Nw__'.
self assert: (res parameter: 'CSeq') number = 1.
self assert: (res parameter: 'CSeq') method = 'INVITE'.