| module STOMPTest { |
| |
| import from STOMP_Types all; |
| |
| type component EmptyCT { |
| |
| } |
| |
| |
| //******************************************************************************************* |
| //Templates |
| //Rev: R1B |
| |
| template STOMPFrame t_message:= |
| { |
| |
| command:=MESSAGE, |
| headers:={ {header_name:="foo", header_value:="Hello"}, {header_name:="foo", header_value:="World"}}, |
| payload:=omit |
| |
| |
| } |
| |
| |
| template STOMPFrame t_send:= |
| { |
| |
| command:=SEND, |
| headers:={ {header_name:="destination", header_value:="/queue/a"}, {header_name:="receipt", header_value:="message-12345"}}, |
| payload:=char2oct("hello queue a") |
| |
| |
| } |
| |
| |
| template STOMPFrame t_connect:= |
| { |
| |
| command:=CONNECT, |
| headers:={ {header_name:="accept-version", header_value:="1.2"}, {header_name:="host", header_value:="stomp.github.org"}}, |
| payload:=omit |
| |
| |
| } |
| |
| |
| template STOMPFrame t_connected:= |
| { |
| |
| command:=CONNECTED, |
| headers:={ {header_name:="version", header_value:="1.2"}}, |
| payload:=omit |
| |
| |
| } |
| |
| |
| template STOMPFrame t_error:= |
| { |
| |
| command:=ERROR, |
| headers:={ {header_name:="version", header_value:="1.2,2.1"},{header_name:="content-type", header_value:="text/plain"} }, |
| payload:=char2oct("Supported protocol versions are 1.2 2.1") |
| |
| |
| } |
| |
| |
| template STOMPFrame t_subscribe:= |
| { |
| |
| command:=SUBSCRIBE, |
| headers:={ {header_name:="id", header_value:="0"},{header_name:="destination", header_value:="/queue/foo"},{header_name:="ack", header_value:="client"} }, |
| payload:=omit |
| |
| |
| } |
| |
| |
| template STOMPFrame t_unsubscribe:= |
| { |
| |
| command:=UNSUBSCRIBE, |
| headers:={ {header_name:="id", header_value:="0"} }, |
| payload:=omit |
| |
| |
| } |
| |
| |
| template STOMPFrame t_begin:= |
| { |
| |
| command:=BEGIN, |
| headers:={ {header_name:="transaction", header_value:="tx1"} }, |
| payload:=omit |
| |
| |
| } |
| |
| template STOMPFrame t_ack:= |
| { |
| |
| command:=ACK, |
| headers:={{header_name:="id", header_value:="0"}, {header_name:="transaction", header_value:="tx1"} }, |
| payload:=omit |
| |
| |
| } |
| |
| |
| template STOMPFrame t_nack:= |
| { |
| |
| command:=NACK, |
| headers:={{header_name:="id", header_value:="0"}, {header_name:="transaction", header_value:="tx1"} }, |
| payload:=omit |
| |
| |
| } |
| |
| template STOMPFrame t_commit:= |
| { |
| |
| command:=COMMIT, |
| headers:={ {header_name:="transaction", header_value:="tx1"} }, |
| payload:=omit |
| |
| |
| } |
| |
| |
| template STOMPFrame t_abort:= |
| { |
| |
| command:=ABORT, |
| headers:={ {header_name:="transaction", header_value:="tx1"} }, |
| payload:=omit |
| |
| |
| } |
| |
| template STOMPFrame t_disconnect:= |
| { |
| |
| command:=DISCONNECT, |
| headers:={ {header_name:="receipt", header_value:="77"} }, |
| payload:=omit |
| |
| |
| } |
| |
| |
| template STOMPFrame t_receipt:= |
| { |
| |
| command:=RECEIPT, |
| headers:={ {header_name:="receipt-id", header_value:="77"} }, |
| payload:=omit |
| |
| |
| } |
| |
| |
| template STOMPFrame t_message1:= |
| { |
| |
| command:=MESSAGE, |
| headers:={ {header_name:="subscription", header_value:="0"}, {header_name:="message-id", header_value:="007"},{header_name:="destination", header_value:="/queue/a"}, {header_name:="content-type", header_value:="text/plain"}}, |
| payload:=char2oct("hello queue a") |
| |
| |
| } |
| |
| |
| |
| template STOMPFrame t_error1:= |
| { |
| |
| command:=ERROR, |
| headers:={ {header_name:="receipt-id", header_value:="message@12345"},{header_name:="content-type", header_value:="text/plain"}, /*{header_name:="content-length", header_value:="171"},*/{header_name:="message", header_value:="malformed frame received"} }, |
| payload:=char2oct("The message: |
| ----- |
| MESSAGE |
| destined:/queue/a |
| receipt:message@12345 |
| |
| Hello queue a! |
| ----- |
| Did not contain a destination header, which is REQUIRED |
| for message propagation.") |
| |
| |
| } |
| |
| testcase tc_encdec() runs on EmptyCT { |
| |
| var octetstring v_oct |
| var STOMPFrame v_stomp |
| var integer v_ret |
| |
| v_ret:=f_STOMP_enc(valueof(t_message), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| |
| v_ret:=f_STOMP_enc(valueof(t_send), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| v_ret:=f_STOMP_enc(valueof(t_connect), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| v_ret:=f_STOMP_enc(valueof(t_connected), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| |
| v_ret:=f_STOMP_enc(valueof(t_error), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| v_ret:=f_STOMP_enc(valueof(t_subscribe), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| |
| v_ret:=f_STOMP_enc(valueof(t_unsubscribe), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| v_ret:=f_STOMP_enc(valueof(t_begin), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| v_ret:=f_STOMP_enc(valueof(t_ack), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| v_ret:=f_STOMP_enc(valueof(t_nack), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| |
| v_ret:=f_STOMP_enc(valueof(t_commit), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| |
| v_ret:=f_STOMP_enc(valueof(t_abort), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| |
| v_ret:=f_STOMP_enc(valueof(t_disconnect), v_oct) |
| |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| v_ret:=f_STOMP_enc(valueof(t_receipt), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| v_ret:=f_STOMP_enc(valueof(t_message1), v_oct) |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| v_ret:=f_STOMP_enc(valueof(t_error1), v_oct) |
| |
| log(v_oct) |
| log(char2oct("The message: |
| ----- |
| MESSAGE |
| destined:/queue/a |
| receipt:message@12345 |
| |
| Hello queue a! |
| ----- |
| Did not contain a destination header, which is REQUIRED |
| for message propagation.")) |
| |
| v_ret:=f_STOMP_dec(v_oct,v_stomp ) |
| log(v_stomp) |
| v_oct:=char2oct("MESSAGE\nsubscription:0\nmessage-id:007\r\ndestination:/queue/a\ncontent-type:text/plain\n\r\nhello queue a") |
| |
| log(f_STOMP_dec(v_oct, v_stomp)) |
| |
| log(v_stomp) |
| |
| |
| } |
| |
| |
| |
| |
| testcase tc_test() runs on EmptyCT { |
| var STOMPFrame frame1, result; |
| var octetstring os; |
| var integer res; |
| |
| |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "a ", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SUBSCRIBE, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := UNSUBSCRIBE, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := BEGIN, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := COMMIT, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := ABORT, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := ACK, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := NACK, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := DISCONNECT, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := CONNECTED, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := CONNECT, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := STOMP, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := MESSAGE, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := RECEIPT, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := ERROR, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "abc", header_value := "def"}, |
| { header_name := "ñ\n\r\\:ñ\t", header_value := "ñ\n\r\\:ñ\t"}, |
| { header_name := "A, Á, B, C, Cs, D, Dz, Dzs, E, É, F, G, Gy, H, I, Í, J, K, L, Ly, M, N, Ny, O, Ó, Ö, Ő, P, R, S, Sz, T, Ty, U, Ú, Ü, Ű, V, Z, Zs", header_value := "A, Á, B, C, Cs, D, Dz, Dzs, E, É, F, G, Gy, H, I, Í, J, K, L, Ly, M, N, Ny, O, Ó, Ö, Ő, P, R, S, Sz, T, Ty, U, Ú, Ü, Ű, V, Z, Zs"} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "abc", header_value := "def"}, |
| { header_name := "content-length", header_value := "4"} |
| }, |
| payload := 'AAAA00AA'O |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "abc", header_value := "def"}, |
| { header_name := "content-length", header_value := "4"}, |
| { header_name := "content-length", header_value := "8"} |
| }, |
| payload := 'AAAA00AA'O |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "", header_value := ""} |
| }, |
| payload := 'AAAAAAAAAA'O |
| } |
| |
| var STOMPFrame frame6 := { |
| command := SEND, |
| headers := { |
| { header_name := "", header_value := ""}, |
| { header_name := "content-length", header_value := "5" } |
| }, |
| payload := 'AAAAAAAAAA'O |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame6)) { |
| setverdict(fail, match(result, frame6)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "", header_value := ""} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "", header_value := ""} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "", header_value := ""} |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| }, |
| payload := omit |
| } |
| |
| res := f_STOMP_enc(frame1, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| var STOMPFrame frame2 := { |
| headers := { |
| { header_name := "", header_value := ""} |
| }, |
| payload := omit |
| } |
| |
| var boolean errors := false; |
| @try { |
| res := f_STOMP_enc(frame2, os); |
| } @catch(e) { |
| setverdict(pass); |
| errors := true; |
| } |
| if (errors == false) { |
| setverdict(fail, "No error"); |
| } |
| |
| |
| ///////////////////////////////////////////////////////////// |
| |
| var STOMPFrame frame3 := { |
| command := SEND, |
| payload := omit |
| } |
| |
| errors := false; |
| @try { |
| res := f_STOMP_enc(frame3, os); |
| } @catch(e) { |
| setverdict(pass); |
| errors := true; |
| } |
| if (errors == false) { |
| setverdict(fail, "No error"); |
| } |
| |
| |
| ///////////////////////////////////////////////////////////// |
| |
| var STOMPFrame frame4 := { |
| command := SEND, |
| headers := { |
| |
| } |
| } |
| |
| errors := false; |
| @try { |
| res := f_STOMP_enc(frame4, os); |
| } @catch(e) { |
| setverdict(pass); |
| errors := true; |
| } |
| if (errors == false) { |
| setverdict(fail, "No error"); |
| } |
| |
| |
| ///////////////////////////////////////////////////////////// |
| |
| os := '53AA454E440A613A620A0AAAAAAAAA00'O; |
| errors := false; |
| @try { |
| res := f_STOMP_dec(os, result); |
| } @catch(e) { |
| setverdict(pass); |
| errors := true; |
| } |
| if (errors == false) { |
| setverdict(fail, "No error"); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := 'AAAAAAAA'O |
| } |
| os := '53454E440A613A620A0AAAAAAAAA000A'O; |
| errors := false; |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := 'AAAAAAAA'O |
| } |
| os := '53454E440A613A620A0AAAAAAAAA000D0A'O; |
| errors := false; |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := 'AAAAAAAA'O |
| } |
| os := '53454E440A613A620A0AAAAAAAAA000D0A0A0A0D0A0D0A'O; |
| errors := false; |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame1)) { |
| setverdict(fail, match(result, frame1)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| os := '53454E440A613A620A0AAAAAAAAA00AA'O; |
| errors := false; |
| @try { |
| res := f_STOMP_dec(os, result); |
| } @catch(e) { |
| setverdict(pass); |
| errors := true; |
| } |
| if (errors == false) { |
| setverdict(fail, "No error"); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| os := '53454E440A613A620A0AAAAAAAAA000D0A0A0A0D0A0D0A11'O; |
| errors := false; |
| @try { |
| res := f_STOMP_dec(os, result); |
| } @catch(e) { |
| setverdict(pass); |
| errors := true; |
| } |
| if (errors == false) { |
| setverdict(fail, "No error"); |
| } |
| |
| |
| ///////////////////////////////////////////////////////////// |
| |
| os := '53454E440A613A620A0AAAAAAAAA000D0A0A0A0D0A0D150A'O; |
| errors := false; |
| @try { |
| res := f_STOMP_dec(os, result); |
| } @catch(e) { |
| setverdict(pass); |
| errors := true; |
| } |
| if (errors == false) { |
| setverdict(fail, "No error"); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| os := '53454E440A613A620A0AAAAAAAAA000D0A0A0A0D0A0D0A0D'O; |
| errors := false; |
| @try { |
| res := f_STOMP_dec(os, result); |
| } @catch(e) { |
| setverdict(pass); |
| errors := true; |
| } |
| if (errors == false) { |
| setverdict(fail, "No error"); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| os := '53454E440A613A625C740A0AAAAAAAAA00'O; |
| errors := false; |
| @try { |
| res := f_STOMP_dec(os, result); |
| } @catch(e) { |
| setverdict(pass); |
| errors := true; |
| } |
| if (errors == false) { |
| setverdict(fail, "No error"); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame2 := { |
| command := CONNECT, |
| headers := { |
| { header_name := "a\\\ra", header_value := "a\\\ra" } |
| }, |
| payload := 'AAAAAAAA'O |
| } |
| |
| frame6 := { |
| command := CONNECT, |
| headers := { |
| { header_name := "a\\\ra", header_value := "a\\\ra" }, |
| { header_name := "content-length", header_value := "4" } |
| }, |
| payload := 'AAAAAAAA'O |
| } |
| |
| res := f_STOMP_enc(frame2, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame6)) { |
| setverdict(fail, match(result, frame6)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame2 := { |
| command := CONNECTED, |
| headers := { |
| { header_name := "a\\\ra", header_value := "a\\\ra" } |
| }, |
| payload := 'AAAAAAAA'O |
| } |
| |
| frame6 := { |
| command := CONNECTED, |
| headers := { |
| { header_name := "a\\\ra", header_value := "a\\\ra" }, |
| { header_name := "content-length", header_value := "4" } |
| }, |
| payload := 'AAAAAAAA'O |
| } |
| |
| res := f_STOMP_enc(frame2, os); |
| res := f_STOMP_dec(os, result); |
| if (not match(result, frame6)) { |
| setverdict(fail, match(result, frame6)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "abc", header_value := "def"}, |
| { header_name := "content-length", header_value := "5"} |
| }, |
| payload := 'AAAA00AA'O |
| } |
| errors := false; |
| res := f_STOMP_enc(frame1, os); |
| @try { |
| res := f_STOMP_dec(os, result); |
| } @catch(e) { |
| setverdict(pass); |
| errors := true; |
| } |
| if (errors == false) { |
| setverdict(fail, "No error"); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| os := '53454E440A613A620A0AAAAAAAAA00'O; |
| res := f_STOMP_dec(os, result); |
| frame6 := { |
| command := SEND, |
| headers := { |
| { header_name := "a", header_value := "b"} |
| }, |
| payload := 'AAAAAAAA'O |
| } |
| |
| if (not match(result, frame6)) { |
| setverdict(fail, match(result, frame6)); |
| } |
| |
| |
| ///////////////////////////////////////////////////////////// |
| |
| frame1 := { |
| command := SEND, |
| headers := { |
| { header_name := "abc", header_value := "def"}, |
| { header_name := "content-length", header_value := "5"} |
| }, |
| payload := 'AAAA00AA'O |
| } |
| res := f_STOMP_enc(frame1, os); |
| var integer len := f_GetSTOMPmsgLength(os); |
| if (len != 36) { |
| setverdict(fail, match(len, 36)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440A6162633A6465660A636F6E74656E742D6C656E6774683A350A0AAAAA00AA000A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 37) { |
| setverdict(fail, match(len, 37)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440A6162633A6465660A636F6E74656E742D6C656E6774683A350A0AAAAA00AA000D0A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 38) { |
| setverdict(fail, match(len, 38)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440A6162633A6465660A636F6E74656E742D6C656E6774683A350A0AAAAA00AA000D0A0A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 39) { |
| setverdict(fail, match(len, 39)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440A6162633A6465660A636F6E74656E742D6C656E6774683A350D0A0AAAAA00AA000D0A0A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 40) { |
| setverdict(fail, match(len, 40)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440A6162633A6465660A636F6E74656E742D6C656E6774683A350D0A0D0AAAAA00AA000D0A0A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 41) { |
| setverdict(fail, match(len, 41)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440A6162633A6465660D0A636F6E74656E742D6C656E6774683A350A6162633A6465660D0A0D0AAAAA00AA000D0A0A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 50) { |
| setverdict(fail, match(len, 50)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440A6162633A6465660D0A636F6E74656E742D6C656E6774683A350D0A6162633A6465660D0A0D0AAAAA00AA000D0A0A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 51) { |
| setverdict(fail, match(len, 51)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440A6162633A6465660D0A636F6E74656E742D6C656E6774683A350D0A6162633A6465660D0A0D0AAAAA00AA000D0A0A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 51) { |
| setverdict(fail, match(len, 51)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440A613A620A0AAAAAAAAA00'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 15) { |
| setverdict(fail, match(len, 15)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440D0A613A620A0AAAAAAAAA00'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 16) { |
| setverdict(fail, match(len, 16)); |
| } |
| |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440D0A613A620A0AAAAAAAAA000A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 17) { |
| setverdict(fail, match(len, 17)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440D0A613A620A0AAAAAAAAA000D0A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 18) { |
| setverdict(fail, match(len, 18)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440D0A613A620D0A0AAAAAAAAA000D0A0A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 20) { |
| setverdict(fail, match(len, 20)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440D0A613A620D0A0D0AAAAAAAAA000D0A0A'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 21) { |
| setverdict(fail, match(len, 21)); |
| } |
| |
| ///////////////////////////////////////////////////////////// |
| |
| |
| os := '53454E440D0A613A620D0A0D0AAAAAAAAA000D0A0A1231BB'O; |
| len := f_GetSTOMPmsgLength(os); |
| if (len != 21) { |
| setverdict(fail, match(len, 21)); |
| } |
| |
| setverdict(pass); |
| } |
| |
| |
| |
| |
| control { |
| execute(tc_test()); |
| execute(tc_encdec()); |
| } |
| } |