test/embulk/input/zendesk/test_plugin.rb in embulk-input-zendesk-0.1.1 vs test/embulk/input/zendesk/test_plugin.rb in embulk-input-zendesk-0.1.2

- old
+ new

@@ -240,9 +240,64 @@ mock(page_builder).finish @plugin.run end + sub_test_case "config diff" do + def end_time + 1234567890 + end + + def next_start_time + Time.at(end_time + 1).strftime("%F %T%z") + end + + def start_time + Time.at(1111111111).strftime("%F %T%z") + end + + setup do + events = [ + {"id" => 1, "created_at" => "2000-01-01T00:00:00+0900"}, + {"id" => 2, "created_at" => "2000-01-01T01:00:00+0900"}, + ] + + @httpclient.test_loopback_http_response << [ + "HTTP/1.1 200", + "Content-Type: application/json", + "", + { + ticket_events: events, + end_time: end_time, + }.to_json + ].join("\r\n") + stub(page_builder).add(anything) + stub(page_builder).finish + end + + sub_test_case "incremental: true" do + def run_task + task.merge(schema: schema, target: "ticket_events", incremental: true, start_time: start_time) + end + + test "task_report contains next start_time" do + report = @plugin.run + assert_equal next_start_time, report[:start_time] + end + end + + sub_test_case "incremental: false" do + def run_task + task.merge(schema: schema, target: "ticket_events", incremental: false, start_time: start_time) + end + + test "task_report don't contains start_time" do + report = @plugin.run + assert_nil report[:start_time] + end + end + end + sub_test_case "casting value" do setup do stub(@plugin).preview? { false } @httpclient.test_loopback_http_response << [ "HTTP/1.1 200",