|
43 | 43 | StatementClient.new(faraday, query, options) |
44 | 44 | end |
45 | 45 |
|
| 46 | + it "returns results correctly" do |
| 47 | + query = 'select 1 as i, 1.0 as d' |
| 48 | + stub_request(:post, "localhost/v1/statement"). |
| 49 | + with(body: query, |
| 50 | + headers: { |
| 51 | + "User-Agent" => "presto-ruby/#{VERSION}", |
| 52 | + "X-Presto-Catalog" => options[:catalog], |
| 53 | + "X-Presto-Schema" => options[:schema], |
| 54 | + "X-Presto-User" => options[:user], |
| 55 | + "X-Presto-Language" => options[:language], |
| 56 | + "X-Presto-Time-Zone" => options[:time_zone], |
| 57 | + }).to_return(body: <<-JSON) |
| 58 | + {"id":"queryid","infoUri":"http://localhost/ui/query.html?queryid","nextUri":"http://localhost/v1/statement/queryid/1","stats":{"state":"QUEUED","queued":true,"scheduled":false,"nodes":0,"totalSplits":0,"queuedSplits":0,"runningSplits":0,"completedSplits":0,"userTimeMillis":0,"cpuTimeMillis":0,"wallTimeMillis":0,"queuedTimeMillis":0,"elapsedTimeMillis":0,"processedRows":0,"processedBytes":0,"peakMemoryBytes":0}} |
| 59 | + JSON |
| 60 | + client = StatementClient.new(faraday, query, options) |
| 61 | + client.current_results.data.should be_nil |
| 62 | + |
| 63 | + stub_request(:get, "http://localhost/v1/statement/queryid/1").to_return(body: <<-JSON) |
| 64 | + {"id":"20180927_190533_00177_setx5","infoUri":"http://localhost/ui/query.html?queryid","partialCancelUri":"http://192.168.128.77:8091/v1/stage/queryid.0","nextUri":"http://localhost/v1/statement/queryid/2","columns":[{"name":"i","type":"integer","typeSignature":{"rawType":"integer","typeArguments":[],"literalArguments":[],"arguments":[]}},{"name":"d","type":"decimal(2,1)","typeSignature":{"rawType":"decimal","typeArguments":[],"literalArguments":[],"arguments":[{"kind":"LONG_LITERAL","value":2},{"kind":"LONG_LITERAL","value":1}]}}],"data":[[1,"1.0"]],"stats":{"state":"RUNNING","queued":false,"scheduled":true,"nodes":1,"totalSplits":17,"queuedSplits":17,"runningSplits":0,"completedSplits":0,"userTimeMillis":0,"cpuTimeMillis":0,"wallTimeMillis":0,"queuedTimeMillis":1,"elapsedTimeMillis":121,"processedRows":0,"processedBytes":0,"peakMemoryBytes":0,"rootStage":{"stageId":"0","state":"RUNNING","done":false,"nodes":1,"totalSplits":17,"queuedSplits":17,"runningSplits":0,"completedSplits":0,"userTimeMillis":0,"cpuTimeMillis":0,"wallTimeMillis":0,"processedRows":0,"processedBytes":0,"subStages":[]},"progressPercentage":0.0}} |
| 65 | + JSON |
| 66 | + client.advance.should be_true |
| 67 | + client.current_results.data.should == [[1, BigDecimal('1.0')]] |
| 68 | + |
| 69 | + stub_request(:get, "http://localhost/v1/statement/queryid/2").to_return(body: <<-JSON) |
| 70 | + {"id":"queryid","infoUri":"http://localhost/ui/query.html?queryid","columns":[{"name":"i","type":"integer","typeSignature":{"rawType":"integer","typeArguments":[],"literalArguments":[],"arguments":[]}},{"name":"d","type":"decimal(2,1)","typeSignature":{"rawType":"decimal","typeArguments":[],"literalArguments":[],"arguments":[{"kind":"LONG_LITERAL","value":2},{"kind":"LONG_LITERAL","value":1}]}}],"stats":{"state":"FINISHED","queued":false,"scheduled":true,"nodes":1,"totalSplits":17,"queuedSplits":0,"runningSplits":0,"completedSplits":17,"userTimeMillis":4,"cpuTimeMillis":5,"wallTimeMillis":109,"queuedTimeMillis":1,"elapsedTimeMillis":128,"processedRows":0,"processedBytes":0,"peakMemoryBytes":0,"rootStage":{"stageId":"0","state":"FINISHED","done":true,"nodes":1,"totalSplits":17,"queuedSplits":0,"runningSplits":0,"completedSplits":17,"userTimeMillis":4,"cpuTimeMillis":5,"wallTimeMillis":109,"processedRows":1,"processedBytes":0,"subStages":[]},"progressPercentage":100.0}} |
| 71 | + JSON |
| 72 | + client.advance.should be_true |
| 73 | + client.current_results.data.should be_nil |
| 74 | + end |
| 75 | + |
46 | 76 | let :response_json2 do |
47 | 77 | { |
48 | 78 | id: "queryid", |
|
402 | 432 | StatementClient.new(faraday, query, options) |
403 | 433 | end |
404 | 434 | end |
405 | | - |
|
0 commit comments