Fixed feature typo, improved commands, added AutoTest
This commit is contained in:
@@ -52,7 +52,7 @@ feature -- Commands
|
||||
create Result.make_empty
|
||||
resp := execute_get (cmd_status)
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -64,10 +64,16 @@ feature -- Commands
|
||||
do
|
||||
create Result.make_empty
|
||||
resp := execute_post (cmd_new_session, capabilities)
|
||||
if attached resp.header ("Location") as l_location then
|
||||
resp := http_new_session (l_location).get ("", context_executor)
|
||||
if not (resp.status >= 400) then
|
||||
if attached resp.header ("Location") as l_location then
|
||||
resp := http_new_session (l_location).get ("", context_executor)
|
||||
if attached resp.body as l_body then
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -81,7 +87,7 @@ feature -- Commands
|
||||
create Result.make_empty
|
||||
resp := execute_get (cmd_sessions)
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -94,7 +100,7 @@ feature -- Commands
|
||||
create Result.make_empty
|
||||
resp := execute_get (cmd_session_by_id (session_id))
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -105,13 +111,13 @@ feature -- Commands
|
||||
resp: HTTP_CLIENT_RESPONSE
|
||||
do
|
||||
create Result.make_empty
|
||||
resp := execute_delete (cmd_session_by_id (cmd_session_by_id (session_id)))
|
||||
resp := execute_delete (cmd_session_by_id ( session_id ))
|
||||
if resp.status = 204 then
|
||||
Result.set_status (0)
|
||||
Result.set_session_id (session_id)
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -129,7 +135,7 @@ feature -- Commands
|
||||
Result.set_session_id (a_session_id)
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -147,7 +153,7 @@ feature -- Commands
|
||||
Result.set_session_id (a_session_id)
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -166,7 +172,7 @@ feature -- Commands
|
||||
Result.set_session_id (a_session_id)
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -181,7 +187,7 @@ feature -- Commands
|
||||
create Result.make_empty
|
||||
resp := execute_get (cmd_session_window_handle (session_id))
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -194,7 +200,7 @@ feature -- Commands
|
||||
create Result.make_empty
|
||||
resp := execute_get (cmd_session_window_handles (session_id))
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -207,7 +213,7 @@ feature -- Commands
|
||||
create Result.make_empty
|
||||
resp := execute_get (cmd_session_url (session_id))
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -224,7 +230,7 @@ feature -- Commands
|
||||
Result.set_session_id (a_session_id)
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -242,7 +248,7 @@ feature -- Commands
|
||||
Result.set_session_id (a_session_id)
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -260,7 +266,7 @@ feature -- Commands
|
||||
Result.set_session_id (a_session_id)
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -278,7 +284,7 @@ feature -- Commands
|
||||
Result.set_session_id (a_session_id)
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -310,7 +316,7 @@ feature -- Commands
|
||||
create Result.make_empty
|
||||
resp := execute_get (cmd_session_screenshot (session_id))
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -323,7 +329,7 @@ feature -- Commands
|
||||
create Result.make_empty
|
||||
resp := execute_get (cmd_session_ime_available (session_id))
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -336,7 +342,7 @@ feature -- Commands
|
||||
create Result.make_empty
|
||||
resp := execute_get (cmd_session_ime_active_engine (session_id))
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -349,7 +355,7 @@ feature -- Commands
|
||||
create Result.make_empty
|
||||
resp := execute_get (cmd_session_ime_activated (session_id))
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -366,7 +372,7 @@ feature -- Commands
|
||||
Result.set_session_id (a_session_id)
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -384,7 +390,7 @@ feature -- Commands
|
||||
Result.set_session_id (a_session_id)
|
||||
else
|
||||
if attached resp.body as l_body then
|
||||
Result := build_response (l_body)
|
||||
Result := new_response (l_body)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -407,11 +413,10 @@ feature {NONE} -- Implementation
|
||||
Result := http_session.delete (command_name, context_executor)
|
||||
end
|
||||
|
||||
build_response (a_message: STRING_32): SE_RESPONSE
|
||||
new_response (a_message: STRING_32): SE_RESPONSE
|
||||
do
|
||||
create Result.make_empty
|
||||
initialize_converters (json)
|
||||
if attached {SE_RESPONSE} json.object_from_json (a_message, "SE_RESPONSE") as l_response then
|
||||
if attached json_to_se_response(a_message) as l_response then
|
||||
Result := l_response
|
||||
end
|
||||
Result.set_json_response (a_message)
|
||||
|
||||
@@ -31,7 +31,7 @@ feature -- Conversion
|
||||
if attached {STRING_32} json_to_object (j.item (session_key), Void) as l_item then
|
||||
Result.set_session_id(l_item)
|
||||
end
|
||||
if attached {INTEGER_32} json_to_object (j.item (status_key), Void) as l_item then
|
||||
if attached {INTEGER_8} json_to_object (j.item (status_key), Void) as l_item then
|
||||
Result.set_status(l_item)
|
||||
end
|
||||
if attached {JSON_VALUE} j.item (value_key) as l_item then
|
||||
|
||||
@@ -58,6 +58,19 @@ feature -- Access
|
||||
end
|
||||
end
|
||||
|
||||
json_to_se_response (post: STRING_32): detachable SE_RESPONSE
|
||||
local
|
||||
parser: JSON_PARSER
|
||||
do
|
||||
initialize_converters (json)
|
||||
create parser.make_parser (post)
|
||||
if attached parser.parse_object as st and parser.is_parsed then
|
||||
if attached {SE_RESPONSE} json.object (st, "SE_RESPONSE") as l_response then
|
||||
Result := l_response
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
initialize_converters (j: like json)
|
||||
-- Initialize json converters
|
||||
do
|
||||
|
||||
@@ -96,7 +96,7 @@ feature -- Commands
|
||||
check_response (response)
|
||||
if not has_error then
|
||||
if attached response.json_response as r_value then
|
||||
Result := build_session (r_value, "session")
|
||||
Result := new_session (r_value, "session")
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -127,7 +127,7 @@ feature -- Commands
|
||||
index > l_json_array.count
|
||||
loop
|
||||
if attached {JSON_OBJECT} l_json_array.i_th (index) as json_obj then
|
||||
if attached build_session (json_obj.representation, "sessions") as l_session then
|
||||
if attached new_session (json_obj.representation, "sessions") as l_session then
|
||||
Result.force (l_session)
|
||||
end
|
||||
end
|
||||
@@ -153,7 +153,7 @@ feature -- Commands
|
||||
check_response (response)
|
||||
if not has_error then
|
||||
if attached response.json_response as r_value then
|
||||
Result := build_session (r_value, "session")
|
||||
Result := new_session (r_value, "session")
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1602,18 +1602,24 @@ feature {NONE} -- Implementation
|
||||
|
||||
commnad_executor: COMMAND_EXECUTOR
|
||||
|
||||
build_session (value: STRING_32; to: STRING_32): detachable SE_SESSION
|
||||
new_session (value: STRING_32; to: STRING_32): detachable SE_SESSION
|
||||
local
|
||||
l_rep : STRING_32
|
||||
do
|
||||
if to.is_case_insensitive_equal ("session") then
|
||||
if attached {JSON_OBJECT} string_to_json (value) as l_value then
|
||||
if attached l_value.item ("sessionId") as ls and then attached l_value.item ("value") as lv and then attached json_to_se_capabilities (lv.representation) as lc then
|
||||
create Result.make (ls.representation, lc)
|
||||
l_rep := ls.representation
|
||||
l_rep.replace_substring_all ("%"", "")
|
||||
create Result.make (l_rep, lc)
|
||||
end
|
||||
end
|
||||
elseif to.is_case_insensitive_equal ("sessions") then
|
||||
if attached {JSON_OBJECT} string_to_json (value) as l_value then
|
||||
if attached l_value.item ("id") as ls and then attached l_value.item ("capabilities") as lv and then attached json_to_se_capabilities (lv.representation) as lc then
|
||||
create Result.make (ls.representation, lc)
|
||||
l_rep := ls.representation
|
||||
l_rep.replace_substring_all ("%"", "")
|
||||
create Result.make (l_rep, lc)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -7,8 +7,8 @@ note
|
||||
class
|
||||
SE_JSON_WIRE_PROTOCOL_COMMANDS
|
||||
|
||||
|
||||
feature
|
||||
|
||||
cmd_ping : STRING = ""
|
||||
--GET / expected a 200 ok
|
||||
|
||||
@@ -29,12 +29,14 @@ feature
|
||||
end
|
||||
|
||||
|
||||
cmd_session_timeouts_tmpl : STRING ="session/$id/timeouts"
|
||||
cmd_session_timeouts_tmpl : STRING_32 ="[
|
||||
session/$id/timeouts
|
||||
]"
|
||||
|
||||
cmd_session_timeouts (id: STRING_32): STRING_32
|
||||
cmd_session_timeouts (id: STRING_32):STRING_32
|
||||
do
|
||||
create Result.make_from_string (cmd_session_timeouts_tmpl)
|
||||
Result.replace_substring_all ("$id", id)
|
||||
Result.replace_substring_all ("$id",id)
|
||||
end
|
||||
|
||||
cmd_session_timeouts_async_script_tmpl : STRING ="session/$id/timeouts/async_script"
|
||||
|
||||
Reference in New Issue
Block a user