Navigation Menu

Skip to content

Commit

Permalink
Normalize responses of system.absorb-data
Browse files Browse the repository at this point in the history
  • Loading branch information
piroor committed Apr 14, 2015
1 parent e2e288f commit f72b477
Showing 1 changed file with 35 additions and 3 deletions.
38 changes: 35 additions & 3 deletions lib/drntest/responses-normalizer.rb
Expand Up @@ -21,9 +21,13 @@ def initialize(request, responses)
end

def normalize
return @responses unless dump_command?

normalize_dump_responses
if dump_command?
normalize_dump_responses
elsif system_absorb_data_command?
normalize_system_absorb_data_responses
else
@responses
end
end

private
Expand Down Expand Up @@ -60,5 +64,33 @@ def normalize_dump_responses
[type_order, body_order]
end
end

def system_absorb_data_command?
@request["type"] == "system.absorb-data"
end

SYSTEM_ABSORB_DATA_ORDER = [
"system.absorb.start",
"system.absorb.result",
"system.absorb.progress",
"system.absorb.end",
]
def normalize_system_absorb_data_responses
@responses.sort_by do |response|
if response["error"] and response["response"]
response = response["response"]
end
type = response["type"]
type_order = SYSTEM_ABSORB_DATA_ORDER.index(type) || -1
body = response["body"]
case type
when "system.absorb.progress"
body_order = body["nProcessedMessages"]
else
body_order = ""
end
[type_order, body_order]
end
end
end
end

0 comments on commit f72b477

Please sign in to comment.