From 796b82d2023577c1014eb4428041431107053fb3 Mon Sep 17 00:00:00 2001 From: Rowan Seymour Date: Wed, 15 Sep 2021 17:32:38 -0500 Subject: [PATCH] Add number of retries to webhook_called events --- .github/workflows/ci.yml | 2 +- flows/actions/testdata/call_resthook.json | 8 ++++++++ flows/actions/testdata/call_webhook.json | 9 ++++++++- flows/events/webhook_called.go | 3 +++ go.mod | 16 ++++++++++++++-- go.sum | 4 ++-- test/testdata/runner/all_actions.test.json | 2 ++ test/testdata/runner/extra.test.json | 3 +++ test/testdata/runner/legacy_webhook.test.json | 2 ++ test/testdata/runner/redact_urns.test.json | 2 ++ test/testdata/runner/resthook.test.json | 4 ++++ test/testdata/runner/two_questions.test.json | 2 ++ test/testdata/runner/webhook_migrated.test.json | 2 ++ test/testdata/runner/webhook_results.test.json | 7 +++++++ 14 files changed, 60 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b8b6efff7..e0d78b554 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,7 @@ name: CI on: [push, pull_request] env: - go-version: '1.16.x' + go-version: '1.17.x' jobs: test: name: Test diff --git a/flows/actions/testdata/call_resthook.json b/flows/actions/testdata/call_resthook.json index 4610e0ec9..53674caa0 100644 --- a/flows/actions/testdata/call_resthook.json +++ b/flows/actions/testdata/call_resthook.json @@ -101,6 +101,7 @@ "request": "POST / HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Length: 898\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ryan Lewis\",\"urn\":\"tel:+12065551212\",\"uuid\":\"5d76d86b-3bb9-4d5a-b822-c9d86f5d8e4f\"},\"flow\":{\"name\":\"Action Tester\",\"revision\":123,\"uuid\":\"bead76f5-dac4-4c9d-996c-c62b326e8c0a\"},\"input\":{\"attachments\":[{\"content_type\":\"image/jpeg\",\"url\":\"http://http://s3.amazon.com/bucket/test.jpg\"},{\"content_type\":\"audio/mp3\",\"url\":\"http://s3.amazon.com/bucket/test.mp3\"}],\"channel\":null,\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"text\":\"Hi everybody\",\"type\":\"msg\",\"urn\":{\"display\":\"(206) 555-1212\",\"path\":\"+12065551212\",\"scheme\":\"tel\"},\"uuid\":\"aa90ce99-3b4d-44ba-b0ca-79e63d9ed842\"},\"path\":[{\"arrived_on\":\"2018-10-18T14:20:30.000123Z\",\"exit_uuid\":\"\",\"node_uuid\":\"72a1f5df-49f9-45df-94c9-d86f7ea064e5\",\"uuid\":\"59d74b86-3e2f-4a93-aece-b05d2fdcde0c\"}],\"results\":{},\"run\":{\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"uuid\":\"e7187099-7d38-4f60-955c-325957214c42\"}}", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", "elapsed_ms": 0, + "retries": 0, "resthook": "new-registration", "status_code": 200 }, @@ -113,6 +114,7 @@ "request": "POST / HTTP/1.1\r\nHost: unavailable.com\r\nUser-Agent: goflow-testing\r\nContent-Length: 898\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ryan Lewis\",\"urn\":\"tel:+12065551212\",\"uuid\":\"5d76d86b-3bb9-4d5a-b822-c9d86f5d8e4f\"},\"flow\":{\"name\":\"Action Tester\",\"revision\":123,\"uuid\":\"bead76f5-dac4-4c9d-996c-c62b326e8c0a\"},\"input\":{\"attachments\":[{\"content_type\":\"image/jpeg\",\"url\":\"http://http://s3.amazon.com/bucket/test.jpg\"},{\"content_type\":\"audio/mp3\",\"url\":\"http://s3.amazon.com/bucket/test.mp3\"}],\"channel\":null,\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"text\":\"Hi everybody\",\"type\":\"msg\",\"urn\":{\"display\":\"(206) 555-1212\",\"path\":\"+12065551212\",\"scheme\":\"tel\"},\"uuid\":\"aa90ce99-3b4d-44ba-b0ca-79e63d9ed842\"},\"path\":[{\"arrived_on\":\"2018-10-18T14:20:30.000123Z\",\"exit_uuid\":\"\",\"node_uuid\":\"72a1f5df-49f9-45df-94c9-d86f7ea064e5\",\"uuid\":\"59d74b86-3e2f-4a93-aece-b05d2fdcde0c\"}],\"results\":{},\"run\":{\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"uuid\":\"e7187099-7d38-4f60-955c-325957214c42\"}}", "response": "HTTP/1.0 503 Service Unavailable\r\nContent-Length: 37\r\n\r\n{ \"errors\": [\"service unavailable\"] }", "elapsed_ms": 0, + "retries": 0, "resthook": "new-registration", "status_code": 503 } @@ -212,6 +214,7 @@ "request": "POST / HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Length: 898\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ryan Lewis\",\"urn\":\"tel:+12065551212\",\"uuid\":\"5d76d86b-3bb9-4d5a-b822-c9d86f5d8e4f\"},\"flow\":{\"name\":\"Action Tester\",\"revision\":123,\"uuid\":\"bead76f5-dac4-4c9d-996c-c62b326e8c0a\"},\"input\":{\"attachments\":[{\"content_type\":\"image/jpeg\",\"url\":\"http://http://s3.amazon.com/bucket/test.jpg\"},{\"content_type\":\"audio/mp3\",\"url\":\"http://s3.amazon.com/bucket/test.mp3\"}],\"channel\":null,\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"text\":\"Hi everybody\",\"type\":\"msg\",\"urn\":{\"display\":\"(206) 555-1212\",\"path\":\"+12065551212\",\"scheme\":\"tel\"},\"uuid\":\"aa90ce99-3b4d-44ba-b0ca-79e63d9ed842\"},\"path\":[{\"arrived_on\":\"2018-10-18T14:20:30.000123Z\",\"exit_uuid\":\"\",\"node_uuid\":\"72a1f5df-49f9-45df-94c9-d86f7ea064e5\",\"uuid\":\"59d74b86-3e2f-4a93-aece-b05d2fdcde0c\"}],\"results\":{},\"run\":{\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"uuid\":\"e7187099-7d38-4f60-955c-325957214c42\"}}", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", "elapsed_ms": 0, + "retries": 0, "resthook": "new-registration", "status_code": 200 }, @@ -224,6 +227,7 @@ "request": "POST / HTTP/1.1\r\nHost: unavailable.com\r\nUser-Agent: goflow-testing\r\nContent-Length: 898\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ryan Lewis\",\"urn\":\"tel:+12065551212\",\"uuid\":\"5d76d86b-3bb9-4d5a-b822-c9d86f5d8e4f\"},\"flow\":{\"name\":\"Action Tester\",\"revision\":123,\"uuid\":\"bead76f5-dac4-4c9d-996c-c62b326e8c0a\"},\"input\":{\"attachments\":[{\"content_type\":\"image/jpeg\",\"url\":\"http://http://s3.amazon.com/bucket/test.jpg\"},{\"content_type\":\"audio/mp3\",\"url\":\"http://s3.amazon.com/bucket/test.mp3\"}],\"channel\":null,\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"text\":\"Hi everybody\",\"type\":\"msg\",\"urn\":{\"display\":\"(206) 555-1212\",\"path\":\"+12065551212\",\"scheme\":\"tel\"},\"uuid\":\"aa90ce99-3b4d-44ba-b0ca-79e63d9ed842\"},\"path\":[{\"arrived_on\":\"2018-10-18T14:20:30.000123Z\",\"exit_uuid\":\"\",\"node_uuid\":\"72a1f5df-49f9-45df-94c9-d86f7ea064e5\",\"uuid\":\"59d74b86-3e2f-4a93-aece-b05d2fdcde0c\"}],\"results\":{},\"run\":{\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"uuid\":\"e7187099-7d38-4f60-955c-325957214c42\"}}", "response": "HTTP/1.0 503 Service Unavailable\r\nContent-Length: 37\r\n\r\n{ \"errors\": [\"service unavailable\"] }", "elapsed_ms": 0, + "retries": 0, "resthook": "new-registration", "status_code": 503 }, @@ -354,6 +358,7 @@ "request": "POST / HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Length: 898\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ryan Lewis\",\"urn\":\"tel:+12065551212\",\"uuid\":\"5d76d86b-3bb9-4d5a-b822-c9d86f5d8e4f\"},\"flow\":{\"name\":\"Action Tester\",\"revision\":123,\"uuid\":\"bead76f5-dac4-4c9d-996c-c62b326e8c0a\"},\"input\":{\"attachments\":[{\"content_type\":\"image/jpeg\",\"url\":\"http://http://s3.amazon.com/bucket/test.jpg\"},{\"content_type\":\"audio/mp3\",\"url\":\"http://s3.amazon.com/bucket/test.mp3\"}],\"channel\":null,\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"text\":\"Hi everybody\",\"type\":\"msg\",\"urn\":{\"display\":\"(206) 555-1212\",\"path\":\"+12065551212\",\"scheme\":\"tel\"},\"uuid\":\"aa90ce99-3b4d-44ba-b0ca-79e63d9ed842\"},\"path\":[{\"arrived_on\":\"2018-10-18T14:20:30.000123Z\",\"exit_uuid\":\"\",\"node_uuid\":\"72a1f5df-49f9-45df-94c9-d86f7ea064e5\",\"uuid\":\"59d74b86-3e2f-4a93-aece-b05d2fdcde0c\"}],\"results\":{},\"run\":{\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"uuid\":\"e7187099-7d38-4f60-955c-325957214c42\"}}", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", "elapsed_ms": 0, + "retries": 0, "resthook": "registration-complete", "status_code": 200 }, @@ -366,6 +371,7 @@ "request": "POST / HTTP/1.1\r\nHost: subscribergone.com\r\nUser-Agent: goflow-testing\r\nContent-Length: 898\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ryan Lewis\",\"urn\":\"tel:+12065551212\",\"uuid\":\"5d76d86b-3bb9-4d5a-b822-c9d86f5d8e4f\"},\"flow\":{\"name\":\"Action Tester\",\"revision\":123,\"uuid\":\"bead76f5-dac4-4c9d-996c-c62b326e8c0a\"},\"input\":{\"attachments\":[{\"content_type\":\"image/jpeg\",\"url\":\"http://http://s3.amazon.com/bucket/test.jpg\"},{\"content_type\":\"audio/mp3\",\"url\":\"http://s3.amazon.com/bucket/test.mp3\"}],\"channel\":null,\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"text\":\"Hi everybody\",\"type\":\"msg\",\"urn\":{\"display\":\"(206) 555-1212\",\"path\":\"+12065551212\",\"scheme\":\"tel\"},\"uuid\":\"aa90ce99-3b4d-44ba-b0ca-79e63d9ed842\"},\"path\":[{\"arrived_on\":\"2018-10-18T14:20:30.000123Z\",\"exit_uuid\":\"\",\"node_uuid\":\"72a1f5df-49f9-45df-94c9-d86f7ea064e5\",\"uuid\":\"59d74b86-3e2f-4a93-aece-b05d2fdcde0c\"}],\"results\":{},\"run\":{\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"uuid\":\"e7187099-7d38-4f60-955c-325957214c42\"}}", "response": "HTTP/1.0 410 Gone\r\nContent-Length: 22\r\n\r\n{ \"errors\": [\"gone\"] }", "elapsed_ms": 0, + "retries": 0, "resthook": "registration-complete", "status_code": 410 }, @@ -566,6 +572,7 @@ "request": "POST / HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Length: 504\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ryan Lewis\",\"urn\":null,\"uuid\":\"5d76d86b-3bb9-4d5a-b822-c9d86f5d8e4f\"},\"flow\":{\"name\":\"Action Tester\",\"revision\":123,\"uuid\":\"bead76f5-dac4-4c9d-996c-c62b326e8c0a\"},\"input\":null,\"path\":[{\"arrived_on\":\"2018-10-18T14:20:30.000123Z\",\"exit_uuid\":\"\",\"node_uuid\":\"72a1f5df-49f9-45df-94c9-d86f7ea064e5\",\"uuid\":\"59d74b86-3e2f-4a93-aece-b05d2fdcde0c\"}],\"results\":{},\"run\":{\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"uuid\":\"e7187099-7d38-4f60-955c-325957214c42\"}}", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", "elapsed_ms": 0, + "retries": 0, "resthook": "new-registration", "status_code": 200 }, @@ -578,6 +585,7 @@ "request": "POST / HTTP/1.1\r\nHost: unavailable.com\r\nUser-Agent: goflow-testing\r\nContent-Length: 504\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ryan Lewis\",\"urn\":null,\"uuid\":\"5d76d86b-3bb9-4d5a-b822-c9d86f5d8e4f\"},\"flow\":{\"name\":\"Action Tester\",\"revision\":123,\"uuid\":\"bead76f5-dac4-4c9d-996c-c62b326e8c0a\"},\"input\":null,\"path\":[{\"arrived_on\":\"2018-10-18T14:20:30.000123Z\",\"exit_uuid\":\"\",\"node_uuid\":\"72a1f5df-49f9-45df-94c9-d86f7ea064e5\",\"uuid\":\"59d74b86-3e2f-4a93-aece-b05d2fdcde0c\"}],\"results\":{},\"run\":{\"created_on\":\"2018-10-18T14:20:30.000123Z\",\"uuid\":\"e7187099-7d38-4f60-955c-325957214c42\"}}", "response": "HTTP/1.0 503 Service Unavailable\r\nContent-Length: 37\r\n\r\n{ \"errors\": [\"service unavailable\"] }", "elapsed_ms": 0, + "retries": 0, "resthook": "new-registration", "status_code": 503 }, diff --git a/flows/actions/testdata/call_webhook.json b/flows/actions/testdata/call_webhook.json index 6b3cd3e34..4d3befcd2 100644 --- a/flows/actions/testdata/call_webhook.json +++ b/flows/actions/testdata/call_webhook.json @@ -71,6 +71,7 @@ "request": "POST /?q= HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Length: 0\r\nAuthentication: Token -\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 14\r\n\r\n{ \"ok\": true }", "elapsed_ms": 0, + "retries": 0, "status_code": 200 } ], @@ -183,6 +184,7 @@ "request": "POST / HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Length: 9\r\nX-Something: Male\r\nAccept-Encoding: gzip\r\n\r\nHi there!", "response": "HTTP/1.0 200 OK\r\nContent-Length: 14\r\n\r\n{ \"ok\": true }", "elapsed_ms": 0, + "retries": 0, "status_code": 200 }, { @@ -262,6 +264,7 @@ "request": "GET / HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 1\r\nContent-Type: application/json\r\n\r\n{", "elapsed_ms": 0, + "retries": 0, "status_code": 200, "body_ignored": true }, @@ -326,6 +329,7 @@ "request": "GET / HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 10030\r\n\r\n{ \"big\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sed nunc vehicula, commodo ipsum et, consectetur massa. Suspendisse potenti. Ut feugiat volutpat purus vel viverra. Fusce commodo, massa eget malesuada aliquam, dolor lectus porta tortor, ultrices lobortis lacus tellus non velit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus in viverra metus. Ut lobortis metus elit, elementum posuere ex consequat non. Donec elementum rutrum orci non dictum. Nam ut ultricies nisi, a viverra nisl. Sed et nibh vitae metus bibendum lobortis sed in ex. Nunc porta elit eget ipsum bibendum gravida. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse potenti. Etiam quis ligula quis lacus ultricies fringilla. Integer nec pharetra nunc. Curabitur pharetra, dolor fringilla ultricies ornare, purus nisl ultrices augue, nec pulvinar ipsum orci consequat quam. Proin auctor justo non eleifend facilisis. Praesent eget justo elit. Ut nec augue purus. Cras nulla risus, bibendum ac est ut, pharetra bibendum elit. Integer interdum, lorem nec pellentesque ornare, nulla mauris pretium arcu, non lacinia risus odio vel nibh. Proin bibendum nulla vel nulla lacinia faucibus. Quisque accumsan sapien malesuada, pulvinar elit non, sollicitudin enim. Aliquam iaculis, massa non tempus hendrerit, ante nunc semper orci, et pretium libero tellus at urna. Nullam maximus sem condimentum, vestibulum eros sit amet, elementum odio. Mauris nisl augue, tristique id eleifend at, elementum vitae elit. Aenean ut iaculis felis. Curabitur id mollis sem. Phasellus quis bibendum est, id hendrerit nulla. Sed consequat metus ex, vitae pharetra lorem commodo id. Etiam eu nisl a ligula laoreet semper. Maecenas non ornare urna. Vestibulum posuere sapien quis dolor scelerisque euismod. Fusce eget neque ac nisl auctor commodo id vitae massa. Suspendisse tincidunt leo at erat dignissim imperdiet. Fusce pulvinar consectetur vehicula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ut aliquet dui. Fusce at sollicitudin urna. Vivamus sed neque elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus sed urna accumsan nulla euismod pulvinar eu ut tortor. In egestas id lectus at ultrices. Nam a cursus lectus, a laoreet lectus. Vivamus pharetra sapien vel diam hendrerit, vitae consequat quam iaculis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam ac felis at velit venenatis molestie. Nunc risus lacus, fringilla eu libero sit amet, dictum interdum tortor. In nec viverra est. Cras imperdiet urna eget ullamcorper consectetur. In faucibus finibus quam. Nulla dictum dolor tristique, rutrum nisi ut, facilisis sem. Aliquam erat volutpat. Donec scelerisque nec justo sed lobortis. Donec posuere, mi vitae molestie finibus, felis lectus facilisis ligula, et dignissim magna diam at turpis. Integer ac ante pulvinar ipsum malesuada convallis eu a orci. Nunc nec accumsan felis. Sed quam purus, bibendum eget mattis non, sodales ut felis. Ut a erat et orci elementum vulputate in eget purus. Suspendisse et posuere lectus. Fusce tempor enim arcu, eu ultricies erat condimentum pulvinar. Nam luctus consequat lectus, eget elementum nunc varius sed. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed sit amet posuere velit, eu vehicula erat. Nulla faucibus at dolor in tincidunt. Nam quis neque ut dui congue laoreet. Etiam ex metus, laoreet lobortis magna non, vehicula dapibus tellus. Integer sit amet orci aliquam, venenatis risus sit amet, cursus metus. Aenean sit amet lectus id neque eleifend pellentesque sed vitae sapien. Vivamus lacus risus, volutpat et mauris quis, porttitor tempus nisl. In tincidunt, elit semper varius posuere, arcu nulla suscipit urna, sit amet posuere ipsum leo a est. Cras ipsum sapien, varius sed mauris a, aliquam consectetur nisi. Integer et ante sit amet tellus dictum sagittis et in lorem. Nulla vel diam elementum, maximus libero dictum, semper orci. Phasellus in facilisis tortor, in vulputate purus. Vivamus rhoncus sem tempus, pharetra turpis vitae, laoreet sem. Pellentesque egestas tellus velit. In laoreet tempor erat. Ut dui erat, pulvinar eu libero imperdiet, fringilla tincidunt est. Ut vitae lectus non velit mollis euismod. Fusce risus neque, sodales at libero in, sagittis posuere tortor. Sed eu congue arcu. Sed augue arcu, tristique in rhoncus ac, laoreet in ex. Vestibulum tristique ullamcorper scelerisque. Suspendisse potenti. Donec eleifend odio eget neque porta accumsan. Pellentesque nec enim risus. Proin vulputate ex tincidunt imperdiet feugiat. Fusce egestas felis dui, mollis fermentum risus consequat scelerisque. Nunc sit amet pretium lectus. Nullam gravida maximus porta. Donec lobortis tincidunt pulvinar. Suspendisse laoreet justo hendrerit, fringilla orci sed, molestie urna. Aenean vel mi a lorem facilisis efficitur. Vestibulum finibus sem et ante volutpat, ut tempus nulla fermentum. Integer justo diam, gravida non odio quis, bibendum blandit risus. Integer ut ipsum dui. Mauris imperdiet eget nisi vitae gravida. Maecenas viverra sem a orci cursus commodo. Suspendisse scelerisque placerat sapien ac fermentum. Nam facilisis interdum sapien at bibendum. Ut malesuada lacus sem. Aliquam neque felis, elementum a tortor in, mattis suscipit elit. Suspendisse molestie, nibh nec viverra lobortis, nunc velit vehicula neque, porttitor lacinia nunc purus vel sem. Phasellus rutrum eget orci in gravida. Nulla placerat in leo a vulputate. Proin vitae ante a est elementum rhoncus. Vivamus convallis arcu elit, sit amet accumsan enim pellentesque non. In blandit justo tellus. Fusce eget arcu laoreet urna tempus laoreet. Praesent ac sagittis ante. Vivamus eu leo at nisi eleifend feugiat a at sem. Nullam fermentum arcu eu lorem maximus, at mattis nisi ultricies. Phasellus faucibus massa nisl, non tempor nulla gravida in. Morbi rutrum ligula at sem scelerisque sollicitudin. Vestibulum egestas ultrices hendrerit. Aliquam consectetur purus justo, nec rutrum risus tristique quis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque ac porta dui. Maecenas efficitur nec magna accumsan maximus. Pellentesque viverra pharetra tempor. Praesent massa purus, porttitor vel scelerisque et, tincidunt a nunc. Donec vitae bibendum tellus. Mauris ante massa, maximus a tellus ullamcorper, mollis iaculis est. Sed interdum justo at diam luctus finibus. Morbi ornare consequat enim, ut lacinia mi ullamcorper at. Vestibulum volutpat tellus in neque ultrices aliquet. Pellentesque sollicitudin viverra pulvinar. Donec faucibus a felis at pulvinar. Sed pretium sem vitae erat auctor, ac sodales ligula laoreet. Praesent lacinia tortor vel vestibulum mollis. Donec bibendum id lorem porttitor faucibus. Maecenas a dui condimentum, sodales eros quis, finibus dolor. Vivamus non neque eros. Mauris laoreet euismod fringilla. Phasellus iaculis aliquet ipsum nec tempus. Vestibulum maximus nunc sed orci porttitor, at tincidunt erat accumsan. Ut tempus nisl in lacinia aliquet. Nulla nec justo non ipsum faucibus volutpat. Donec sit amet sem a risus pharetra venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque nulla justo, varius eu volutpat non, rhoncus consequat tortor. Nulla ultricies pretium luctus. Aliquam vitae dui ac nunc dictum sagittis vel vitae lectus. In ultricies ultrices tortor eu tincidunt. Mauris erat velit, semper eu rutrum id, tristique et turpis. Nunc elementum gravida lectus, eu dapibus purus. Pellentesque orci lacus, pharetra vel est quis, tincidunt eleifend est. Phasellus commodo est ex, eu dictum odio scelerisque a. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In posuere tellus purus, nec rutrum turpis rhoncus at. Morbi tempus nulla non dui consequat, nec accumsan neque scelerisque. Curabitur ante metus, varius et feugiat eu, rhoncus et leo. Duis vulputate elit eget dolor malesuada suscipit. Curabitur tristique finibus mollis. Nunc sagittis mattis volutpat. Morbi auctor nec tellus et dignissim. In iaculis magna eu justo finibus, vitae facilisis tellus rhoncus. Sed in euismod lacus. Proin erat eros, auctor quis libero a, pellentesque fringilla ante. Donec vestibulum odio consectetur dui malesuada porta. Mauris convallis auctor hendrerit. Nullam ut augue ut mi egestas volutpat. Praesent finibus velit sit amet volutpat congue. Integer faucibus ultrices erat, non cursus nunc commodo ac. Cras finibus enim lacus, et vulputate ipsum euismod eu. Donec in pellentesque nulla. Etiam semper quam in felis elementum, at bibendum elit condimentum. Morbi finibus lacus quis neque tincidunt porta. Pellentesque rutrum fringilla velit, convallis posuere dui aliquet vel. Vestibulum tristique ante et lacinia malesuada. Vivamus ac nulla eu purus mattis condimentum. Ut id nisi eu lectus efficitur vehicula. Duis ut turpis sit amet enim elementum dapibus ac ut mauris. Proin vestibulum feugiat consequat. Nunc vestibulum interdum magna, nec ultrices odio laoreet eget. Morbi nisi orci, pharetra nec eleifend vitae, tincidunt ut quam. Nunc lacinia vestibulum ultrices. Curabitur a sodales diam. Ut sed elit id urna molestie bibendum. Sed interdum, elit et pharetra semper, turpis nisi malesuada ex, vitae sollicitudin massa dui sit amet dui. Donec dapibus ornare diam ac commodo. In ornare at dolor vel consequat. Aenean eu justo ultricies, vestibulum nisi non, fermentum dolor. Etiam mauris lacus, euismod in dolor ut, accumsan varius magna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque ac aliquam mi. Vivamus vulputate faucibus ipsum, eget bibendum justo ultrices ac. Maecenas id rhoncus lectus, nec mattis nibh. Proin du...", "elapsed_ms": 0, + "retries": 0, "status_code": 200 }, { @@ -392,6 +396,7 @@ "request": "POST / HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Length: 9\r\nAccept-Encoding: gzip\r\n\r\nHi there!", "response": "HTTP/1.0 400 Bad Request\r\nContent-Length: 29\r\n\r\n{ \"errors\": [\"bad_request\"] }", "elapsed_ms": 0, + "retries": 0, "status_code": 400 }, { @@ -465,7 +470,8 @@ "status": "connection_error", "request": "POST / HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Length: 9\r\nAccept-Encoding: gzip\r\n\r\nHi there!", "response": "", - "elapsed_ms": 0 + "elapsed_ms": 0, + "retries": 0 }, { "type": "run_result_changed", @@ -536,6 +542,7 @@ "request": "GET / HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 100010\r\n\r\n", "elapsed_ms": 0, + "retries": 0, "status_code": 200 }, { diff --git a/flows/events/webhook_called.go b/flows/events/webhook_called.go index 0b4beb157..bc715f807 100644 --- a/flows/events/webhook_called.go +++ b/flows/events/webhook_called.go @@ -28,6 +28,7 @@ const trimTracesTo = 10000 // "status": "success", // "status_code": 200, // "elapsed_ms": 123, +// "retries": 0, // "request": "GET /?format=json HTTP/1.1", // "response": "HTTP/1.1 200 OK\r\n\r\n{\"ip\":\"190.154.48.130\"}" // } @@ -41,6 +42,7 @@ type WebhookCalledEvent struct { Request string `json:"request" validate:"required"` Response string `json:"response"` ElapsedMS int `json:"elapsed_ms"` + Retries int `json:"retries"` Resthook string `json:"resthook,omitempty"` StatusCode int `json:"status_code,omitempty"` BodyIgnored bool `json:"body_ignored,omitempty"` @@ -62,6 +64,7 @@ func NewWebhookCalled(call *flows.WebhookCall, status flows.CallStatus, resthook Request: utils.TruncateEllipsis(string(call.RequestTrace), trimTracesTo), Response: utils.TruncateEllipsis(string(response), trimTracesTo), ElapsedMS: int((call.EndTime.Sub(call.StartTime)) / time.Millisecond), + Retries: call.Retries, Resthook: resthook, StatusCode: statusCode, BodyIgnored: len(call.ResponseBody) > 0 && len(call.ResponseJSON) == 0, // i.e. there was a body but it couldn't be converted to JSON diff --git a/go.mod b/go.mod index e409aeec7..563eafc10 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/go-mail/mail v2.3.1+incompatible github.com/go-playground/universal-translator v0.17.0 // indirect github.com/leodido/go-urn v1.2.0 // indirect - github.com/nyaruka/gocommon v1.13.2 + github.com/nyaruka/gocommon v1.14.0 github.com/nyaruka/phonenumbers v1.0.71 github.com/olivere/elastic/v7 v7.0.22 github.com/pkg/errors v0.9.1 @@ -23,4 +23,16 @@ require ( gopkg.in/mail.v2 v2.3.1 // indirect ) -go 1.16 +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/go-chi/chi v4.1.2+incompatible // indirect + github.com/go-playground/locales v0.13.0 // indirect + github.com/gofrs/uuid v3.3.0+incompatible // indirect + github.com/golang/protobuf v1.3.2 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/mailru/easyjson v0.7.6 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect +) + +go 1.17 diff --git a/go.sum b/go.sum index 4eb97cb2d..9a1b2b973 100644 --- a/go.sum +++ b/go.sum @@ -51,8 +51,8 @@ github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/nyaruka/gocommon v1.13.2 h1:dNe8nGDSeECC7zL6H/0vmx9yp6UG8HJFxjKcIQmiccY= -github.com/nyaruka/gocommon v1.13.2/go.mod h1:2DWgWcjsfdU/+29xEP75G9xnorxvrxxe1pSISzUcSgw= +github.com/nyaruka/gocommon v1.14.0 h1:sZ0rsKy52GAHfEB6H74thj0cf7VIW9uRYpuFBe1iJ9Q= +github.com/nyaruka/gocommon v1.14.0/go.mod h1:J0BvHSsj8gjMp0oPW+PEb4x25oStupkNpHm7Y5OfNPo= github.com/nyaruka/phonenumbers v1.0.71 h1:itkCGhxkQkHrJ6OyZSApdjQVlPmrWs88MF283pPvbFU= github.com/nyaruka/phonenumbers v1.0.71/go.mod h1:sDaTZ/KPX5f8qyV9qN+hIm+4ZBARJrupC6LuhshJq1U= github.com/olivere/elastic/v7 v7.0.22 h1:esBA6JJwvYgfms0EVlH7Z+9J4oQ/WUADF2y/nCNDw7s= diff --git a/test/testdata/runner/all_actions.test.json b/test/testdata/runner/all_actions.test.json index 36bbd1b4e..d1d6e2e6f 100644 --- a/test/testdata/runner/all_actions.test.json +++ b/test/testdata/runner/all_actions.test.json @@ -389,6 +389,7 @@ "elapsed_ms": 1000, "request": "GET /?cmd=success&name=Jeff%20Jefferson HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", @@ -860,6 +861,7 @@ "elapsed_ms": 1000, "request": "GET /?cmd=success&name=Jeff%20Jefferson HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", diff --git a/test/testdata/runner/extra.test.json b/test/testdata/runner/extra.test.json index 7e59ccda5..00bed34c8 100644 --- a/test/testdata/runner/extra.test.json +++ b/test/testdata/runner/extra.test.json @@ -57,6 +57,7 @@ "elapsed_ms": 1000, "request": "GET /?cmd=extra HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "970b8069-50f5-4f6f-8f41-6b2d9f33d623", @@ -170,6 +171,7 @@ "elapsed_ms": 1000, "request": "GET /?cmd=extra HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "970b8069-50f5-4f6f-8f41-6b2d9f33d623", @@ -425,6 +427,7 @@ "elapsed_ms": 1000, "request": "GET /?cmd=extra HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "970b8069-50f5-4f6f-8f41-6b2d9f33d623", diff --git a/test/testdata/runner/legacy_webhook.test.json b/test/testdata/runner/legacy_webhook.test.json index aa715d12f..c2acaf30d 100644 --- a/test/testdata/runner/legacy_webhook.test.json +++ b/test/testdata/runner/legacy_webhook.test.json @@ -15,6 +15,7 @@ "elapsed_ms": 1000, "request": "POST /?cmd=foo HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nContent-Length: 482\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"name\":\"Ben Haggerty\",\"urn\":null,\"uuid\":\"ba96bf7f-bc2a-4873-a7c7-254d1927c4e3\"},\"flow\":{\"name\":\"Webhook\",\"revision\":11,\"uuid\":\"0256c9fc-8194-4567-b4ab-6965c2b7d791\"},\"input\":null,\"path\":[{\"arrived_on\":\"2018-07-06T12:30:03.123456Z\",\"exit_uuid\":\"\",\"node_uuid\":\"30c97f0e-e537-4940-ad1f-85599d3634b3\",\"uuid\":\"312d3af0-a565-4c96-ba00-bd7f0d08e671\"}],\"results\":{},\"run\":{\"created_on\":\"2018-07-06T12:30:00.123456Z\",\"uuid\":\"5ecda5fc-951c-437b-a17e-f85e49829fb9\"}}", "response": "HTTP/1.0 200 OK\r\nContent-Length: 13\r\n\r\n{\"foo\":\"bar\"}", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "312d3af0-a565-4c96-ba00-bd7f0d08e671", @@ -80,6 +81,7 @@ "elapsed_ms": 1000, "request": "POST /?cmd=foo HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nContent-Length: 482\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"name\":\"Ben Haggerty\",\"urn\":null,\"uuid\":\"ba96bf7f-bc2a-4873-a7c7-254d1927c4e3\"},\"flow\":{\"name\":\"Webhook\",\"revision\":11,\"uuid\":\"0256c9fc-8194-4567-b4ab-6965c2b7d791\"},\"input\":null,\"path\":[{\"arrived_on\":\"2018-07-06T12:30:03.123456Z\",\"exit_uuid\":\"\",\"node_uuid\":\"30c97f0e-e537-4940-ad1f-85599d3634b3\",\"uuid\":\"312d3af0-a565-4c96-ba00-bd7f0d08e671\"}],\"results\":{},\"run\":{\"created_on\":\"2018-07-06T12:30:00.123456Z\",\"uuid\":\"5ecda5fc-951c-437b-a17e-f85e49829fb9\"}}", "response": "HTTP/1.0 200 OK\r\nContent-Length: 13\r\n\r\n{\"foo\":\"bar\"}", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "312d3af0-a565-4c96-ba00-bd7f0d08e671", diff --git a/test/testdata/runner/redact_urns.test.json b/test/testdata/runner/redact_urns.test.json index 37c6fcf9b..aae94084d 100644 --- a/test/testdata/runner/redact_urns.test.json +++ b/test/testdata/runner/redact_urns.test.json @@ -29,6 +29,7 @@ "elapsed_ms": 1000, "request": "POST /?cmd=success HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nContent-Length: 28\r\nAccept-Encoding: gzip\r\n\r\n{ \"phone\": \"tel:********\") }", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", @@ -97,6 +98,7 @@ "elapsed_ms": 1000, "request": "POST /?cmd=success HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nContent-Length: 28\r\nAccept-Encoding: gzip\r\n\r\n{ \"phone\": \"tel:********\") }", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", diff --git a/test/testdata/runner/resthook.test.json b/test/testdata/runner/resthook.test.json index a5cd752bd..5db95f19a 100644 --- a/test/testdata/runner/resthook.test.json +++ b/test/testdata/runner/resthook.test.json @@ -56,6 +56,7 @@ "request": "POST /?cmd=badrequest HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nContent-Length: 513\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ben Haggerty\",\"urn\":\"tel:+12065551212\",\"uuid\":\"ba96bf7f-bc2a-4873-a7c7-254d1927c4e3\"},\"flow\":{\"name\":\"Resthook\",\"revision\":0,\"uuid\":\"76f0a02f-3b75-4b86-9064-e9195e1b3a02\"},\"input\":null,\"path\":[{\"arrived_on\":\"2018-07-06T12:30:03.123456Z\",\"exit_uuid\":\"\",\"node_uuid\":\"10e483a8-5ffb-4c4f-917b-d43ce86c1d65\",\"uuid\":\"8720f157-ca1c-432f-9c0b-2014ddc77094\"}],\"results\":{},\"run\":{\"created_on\":\"2018-07-06T12:30:00.123456Z\",\"uuid\":\"692926ea-09d6-4942-bd38-d266ec8d3716\"}}", "response": "HTTP/1.0 400 Bad Request\r\nContent-Length: 29\r\n\r\n{ \"errors\": [\"bad_request\"] }", "resthook": "new-registration", + "retries": 0, "status": "response_error", "status_code": 400, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", @@ -68,6 +69,7 @@ "request": "POST /?cmd=success HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nContent-Length: 513\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ben Haggerty\",\"urn\":\"tel:+12065551212\",\"uuid\":\"ba96bf7f-bc2a-4873-a7c7-254d1927c4e3\"},\"flow\":{\"name\":\"Resthook\",\"revision\":0,\"uuid\":\"76f0a02f-3b75-4b86-9064-e9195e1b3a02\"},\"input\":null,\"path\":[{\"arrived_on\":\"2018-07-06T12:30:03.123456Z\",\"exit_uuid\":\"\",\"node_uuid\":\"10e483a8-5ffb-4c4f-917b-d43ce86c1d65\",\"uuid\":\"8720f157-ca1c-432f-9c0b-2014ddc77094\"}],\"results\":{},\"run\":{\"created_on\":\"2018-07-06T12:30:00.123456Z\",\"uuid\":\"692926ea-09d6-4942-bd38-d266ec8d3716\"}}", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", "resthook": "new-registration", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", @@ -171,6 +173,7 @@ "request": "POST /?cmd=badrequest HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nContent-Length: 513\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ben Haggerty\",\"urn\":\"tel:+12065551212\",\"uuid\":\"ba96bf7f-bc2a-4873-a7c7-254d1927c4e3\"},\"flow\":{\"name\":\"Resthook\",\"revision\":0,\"uuid\":\"76f0a02f-3b75-4b86-9064-e9195e1b3a02\"},\"input\":null,\"path\":[{\"arrived_on\":\"2018-07-06T12:30:03.123456Z\",\"exit_uuid\":\"\",\"node_uuid\":\"10e483a8-5ffb-4c4f-917b-d43ce86c1d65\",\"uuid\":\"8720f157-ca1c-432f-9c0b-2014ddc77094\"}],\"results\":{},\"run\":{\"created_on\":\"2018-07-06T12:30:00.123456Z\",\"uuid\":\"692926ea-09d6-4942-bd38-d266ec8d3716\"}}", "response": "HTTP/1.0 400 Bad Request\r\nContent-Length: 29\r\n\r\n{ \"errors\": [\"bad_request\"] }", "resthook": "new-registration", + "retries": 0, "status": "response_error", "status_code": 400, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", @@ -183,6 +186,7 @@ "request": "POST /?cmd=success HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nContent-Length: 513\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n{\"channel\":null,\"contact\":{\"language\":\"eng\",\"name\":\"Ben Haggerty\",\"urn\":\"tel:+12065551212\",\"uuid\":\"ba96bf7f-bc2a-4873-a7c7-254d1927c4e3\"},\"flow\":{\"name\":\"Resthook\",\"revision\":0,\"uuid\":\"76f0a02f-3b75-4b86-9064-e9195e1b3a02\"},\"input\":null,\"path\":[{\"arrived_on\":\"2018-07-06T12:30:03.123456Z\",\"exit_uuid\":\"\",\"node_uuid\":\"10e483a8-5ffb-4c4f-917b-d43ce86c1d65\",\"uuid\":\"8720f157-ca1c-432f-9c0b-2014ddc77094\"}],\"results\":{},\"run\":{\"created_on\":\"2018-07-06T12:30:00.123456Z\",\"uuid\":\"692926ea-09d6-4942-bd38-d266ec8d3716\"}}", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", "resthook": "new-registration", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", diff --git a/test/testdata/runner/two_questions.test.json b/test/testdata/runner/two_questions.test.json index 7f2876865..4c22d74ff 100644 --- a/test/testdata/runner/two_questions.test.json +++ b/test/testdata/runner/two_questions.test.json @@ -558,6 +558,7 @@ "elapsed_ms": 1000, "request": "POST /?cmd=success HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nContent-Length: 69\r\nAccept-Encoding: gzip\r\n\r\n{ \"contact\": \"ba96bf7f-bc2a-4873-a7c7-254d1927c4e3\", \"soda\": \"Coke\" }", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "5ecda5fc-951c-437b-a17e-f85e49829fb9", @@ -783,6 +784,7 @@ "elapsed_ms": 1000, "request": "POST /?cmd=success HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nContent-Length: 69\r\nAccept-Encoding: gzip\r\n\r\n{ \"contact\": \"ba96bf7f-bc2a-4873-a7c7-254d1927c4e3\", \"soda\": \"Coke\" }", "response": "HTTP/1.0 200 OK\r\nContent-Length: 16\r\n\r\n{ \"ok\": \"true\" }", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "5ecda5fc-951c-437b-a17e-f85e49829fb9", diff --git a/test/testdata/runner/webhook_migrated.test.json b/test/testdata/runner/webhook_migrated.test.json index 859edfd0e..9d370ec64 100644 --- a/test/testdata/runner/webhook_migrated.test.json +++ b/test/testdata/runner/webhook_migrated.test.json @@ -122,6 +122,7 @@ "elapsed_ms": 1000, "request": "GET /?cmd=country HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 18\r\n\r\n{\"exists\":\"valid\"}", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "c34b6c7d-fa06-4563-92a3-d648ab64bccb", @@ -215,6 +216,7 @@ "elapsed_ms": 1000, "request": "GET /?cmd=country HTTP/1.1\r\nHost: localhost\r\nUser-Agent: goflow-testing\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 18\r\n\r\n{\"exists\":\"valid\"}", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "c34b6c7d-fa06-4563-92a3-d648ab64bccb", diff --git a/test/testdata/runner/webhook_results.test.json b/test/testdata/runner/webhook_results.test.json index abc244907..155b9bd4f 100644 --- a/test/testdata/runner/webhook_results.test.json +++ b/test/testdata/runner/webhook_results.test.json @@ -21,6 +21,7 @@ "elapsed_ms": 1000, "request": "GET /1 HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 10030\r\n\r\n{ \"big\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sed nunc vehicula, commodo ipsum et, consectetur massa. Suspendisse potenti. Ut feugiat volutpat purus vel viverra. Fusce commodo, massa eget malesuada aliquam, dolor lectus porta tortor, ultrices lobortis lacus tellus non velit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus in viverra metus. Ut lobortis metus elit, elementum posuere ex consequat non. Donec elementum rutrum orci non dictum. Nam ut ultricies nisi, a viverra nisl. Sed et nibh vitae metus bibendum lobortis sed in ex. Nunc porta elit eget ipsum bibendum gravida. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse potenti. Etiam quis ligula quis lacus ultricies fringilla. Integer nec pharetra nunc. Curabitur pharetra, dolor fringilla ultricies ornare, purus nisl ultrices augue, nec pulvinar ipsum orci consequat quam. Proin auctor justo non eleifend facilisis. Praesent eget justo elit. Ut nec augue purus. Cras nulla risus, bibendum ac est ut, pharetra bibendum elit. Integer interdum, lorem nec pellentesque ornare, nulla mauris pretium arcu, non lacinia risus odio vel nibh. Proin bibendum nulla vel nulla lacinia faucibus. Quisque accumsan sapien malesuada, pulvinar elit non, sollicitudin enim. Aliquam iaculis, massa non tempus hendrerit, ante nunc semper orci, et pretium libero tellus at urna. Nullam maximus sem condimentum, vestibulum eros sit amet, elementum odio. Mauris nisl augue, tristique id eleifend at, elementum vitae elit. Aenean ut iaculis felis. Curabitur id mollis sem. Phasellus quis bibendum est, id hendrerit nulla. Sed consequat metus ex, vitae pharetra lorem commodo id. Etiam eu nisl a ligula laoreet semper. Maecenas non ornare urna. Vestibulum posuere sapien quis dolor scelerisque euismod. Fusce eget neque ac nisl auctor commodo id vitae massa. Suspendisse tincidunt leo at erat dignissim imperdiet. Fusce pulvinar consectetur vehicula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ut aliquet dui. Fusce at sollicitudin urna. Vivamus sed neque elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus sed urna accumsan nulla euismod pulvinar eu ut tortor. In egestas id lectus at ultrices. Nam a cursus lectus, a laoreet lectus. Vivamus pharetra sapien vel diam hendrerit, vitae consequat quam iaculis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam ac felis at velit venenatis molestie. Nunc risus lacus, fringilla eu libero sit amet, dictum interdum tortor. In nec viverra est. Cras imperdiet urna eget ullamcorper consectetur. In faucibus finibus quam. Nulla dictum dolor tristique, rutrum nisi ut, facilisis sem. Aliquam erat volutpat. Donec scelerisque nec justo sed lobortis. Donec posuere, mi vitae molestie finibus, felis lectus facilisis ligula, et dignissim magna diam at turpis. Integer ac ante pulvinar ipsum malesuada convallis eu a orci. Nunc nec accumsan felis. Sed quam purus, bibendum eget mattis non, sodales ut felis. Ut a erat et orci elementum vulputate in eget purus. Suspendisse et posuere lectus. Fusce tempor enim arcu, eu ultricies erat condimentum pulvinar. Nam luctus consequat lectus, eget elementum nunc varius sed. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed sit amet posuere velit, eu vehicula erat. Nulla faucibus at dolor in tincidunt. Nam quis neque ut dui congue laoreet. Etiam ex metus, laoreet lobortis magna non, vehicula dapibus tellus. Integer sit amet orci aliquam, venenatis risus sit amet, cursus metus. Aenean sit amet lectus id neque eleifend pellentesque sed vitae sapien. Vivamus lacus risus, volutpat et mauris quis, porttitor tempus nisl. In tincidunt, elit semper varius posuere, arcu nulla suscipit urna, sit amet posuere ipsum leo a est. Cras ipsum sapien, varius sed mauris a, aliquam consectetur nisi. Integer et ante sit amet tellus dictum sagittis et in lorem. Nulla vel diam elementum, maximus libero dictum, semper orci. Phasellus in facilisis tortor, in vulputate purus. Vivamus rhoncus sem tempus, pharetra turpis vitae, laoreet sem. Pellentesque egestas tellus velit. In laoreet tempor erat. Ut dui erat, pulvinar eu libero imperdiet, fringilla tincidunt est. Ut vitae lectus non velit mollis euismod. Fusce risus neque, sodales at libero in, sagittis posuere tortor. Sed eu congue arcu. Sed augue arcu, tristique in rhoncus ac, laoreet in ex. Vestibulum tristique ullamcorper scelerisque. Suspendisse potenti. Donec eleifend odio eget neque porta accumsan. Pellentesque nec enim risus. Proin vulputate ex tincidunt imperdiet feugiat. Fusce egestas felis dui, mollis fermentum risus consequat scelerisque. Nunc sit amet pretium lectus. Nullam gravida maximus porta. Donec lobortis tincidunt pulvinar. Suspendisse laoreet justo hendrerit, fringilla orci sed, molestie urna. Aenean vel mi a lorem facilisis efficitur. Vestibulum finibus sem et ante volutpat, ut tempus nulla fermentum. Integer justo diam, gravida non odio quis, bibendum blandit risus. Integer ut ipsum dui. Mauris imperdiet eget nisi vitae gravida. Maecenas viverra sem a orci cursus commodo. Suspendisse scelerisque placerat sapien ac fermentum. Nam facilisis interdum sapien at bibendum. Ut malesuada lacus sem. Aliquam neque felis, elementum a tortor in, mattis suscipit elit. Suspendisse molestie, nibh nec viverra lobortis, nunc velit vehicula neque, porttitor lacinia nunc purus vel sem. Phasellus rutrum eget orci in gravida. Nulla placerat in leo a vulputate. Proin vitae ante a est elementum rhoncus. Vivamus convallis arcu elit, sit amet accumsan enim pellentesque non. In blandit justo tellus. Fusce eget arcu laoreet urna tempus laoreet. Praesent ac sagittis ante. Vivamus eu leo at nisi eleifend feugiat a at sem. Nullam fermentum arcu eu lorem maximus, at mattis nisi ultricies. Phasellus faucibus massa nisl, non tempor nulla gravida in. Morbi rutrum ligula at sem scelerisque sollicitudin. Vestibulum egestas ultrices hendrerit. Aliquam consectetur purus justo, nec rutrum risus tristique quis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque ac porta dui. Maecenas efficitur nec magna accumsan maximus. Pellentesque viverra pharetra tempor. Praesent massa purus, porttitor vel scelerisque et, tincidunt a nunc. Donec vitae bibendum tellus. Mauris ante massa, maximus a tellus ullamcorper, mollis iaculis est. Sed interdum justo at diam luctus finibus. Morbi ornare consequat enim, ut lacinia mi ullamcorper at. Vestibulum volutpat tellus in neque ultrices aliquet. Pellentesque sollicitudin viverra pulvinar. Donec faucibus a felis at pulvinar. Sed pretium sem vitae erat auctor, ac sodales ligula laoreet. Praesent lacinia tortor vel vestibulum mollis. Donec bibendum id lorem porttitor faucibus. Maecenas a dui condimentum, sodales eros quis, finibus dolor. Vivamus non neque eros. Mauris laoreet euismod fringilla. Phasellus iaculis aliquet ipsum nec tempus. Vestibulum maximus nunc sed orci porttitor, at tincidunt erat accumsan. Ut tempus nisl in lacinia aliquet. Nulla nec justo non ipsum faucibus volutpat. Donec sit amet sem a risus pharetra venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque nulla justo, varius eu volutpat non, rhoncus consequat tortor. Nulla ultricies pretium luctus. Aliquam vitae dui ac nunc dictum sagittis vel vitae lectus. In ultricies ultrices tortor eu tincidunt. Mauris erat velit, semper eu rutrum id, tristique et turpis. Nunc elementum gravida lectus, eu dapibus purus. Pellentesque orci lacus, pharetra vel est quis, tincidunt eleifend est. Phasellus commodo est ex, eu dictum odio scelerisque a. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In posuere tellus purus, nec rutrum turpis rhoncus at. Morbi tempus nulla non dui consequat, nec accumsan neque scelerisque. Curabitur ante metus, varius et feugiat eu, rhoncus et leo. Duis vulputate elit eget dolor malesuada suscipit. Curabitur tristique finibus mollis. Nunc sagittis mattis volutpat. Morbi auctor nec tellus et dignissim. In iaculis magna eu justo finibus, vitae facilisis tellus rhoncus. Sed in euismod lacus. Proin erat eros, auctor quis libero a, pellentesque fringilla ante. Donec vestibulum odio consectetur dui malesuada porta. Mauris convallis auctor hendrerit. Nullam ut augue ut mi egestas volutpat. Praesent finibus velit sit amet volutpat congue. Integer faucibus ultrices erat, non cursus nunc commodo ac. Cras finibus enim lacus, et vulputate ipsum euismod eu. Donec in pellentesque nulla. Etiam semper quam in felis elementum, at bibendum elit condimentum. Morbi finibus lacus quis neque tincidunt porta. Pellentesque rutrum fringilla velit, convallis posuere dui aliquet vel. Vestibulum tristique ante et lacinia malesuada. Vivamus ac nulla eu purus mattis condimentum. Ut id nisi eu lectus efficitur vehicula. Duis ut turpis sit amet enim elementum dapibus ac ut mauris. Proin vestibulum feugiat consequat. Nunc vestibulum interdum magna, nec ultrices odio laoreet eget. Morbi nisi orci, pharetra nec eleifend vitae, tincidunt ut quam. Nunc lacinia vestibulum ultrices. Curabitur a sodales diam. Ut sed elit id urna molestie bibendum. Sed interdum, elit et pharetra semper, turpis nisi malesuada ex, vitae sollicitudin massa dui sit amet dui. Donec dapibus ornare diam ac commodo. In ornare at dolor vel consequat. Aenean eu justo ultricies, vestibulum nisi non, fermentum dolor. Etiam mauris lacus, euismod in dolor ut, accumsan varius magna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque ac aliquam mi. Vivamus vulputate faucibus ipsum, eget bibendum justo ultrices ac. Maecenas id rhoncus lectus, nec mattis nibh. Proin du...", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", @@ -84,6 +85,7 @@ "elapsed_ms": 1000, "request": "GET /1 HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 10030\r\n\r\n{ \"big\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sed nunc vehicula, commodo ipsum et, consectetur massa. Suspendisse potenti. Ut feugiat volutpat purus vel viverra. Fusce commodo, massa eget malesuada aliquam, dolor lectus porta tortor, ultrices lobortis lacus tellus non velit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus in viverra metus. Ut lobortis metus elit, elementum posuere ex consequat non. Donec elementum rutrum orci non dictum. Nam ut ultricies nisi, a viverra nisl. Sed et nibh vitae metus bibendum lobortis sed in ex. Nunc porta elit eget ipsum bibendum gravida. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse potenti. Etiam quis ligula quis lacus ultricies fringilla. Integer nec pharetra nunc. Curabitur pharetra, dolor fringilla ultricies ornare, purus nisl ultrices augue, nec pulvinar ipsum orci consequat quam. Proin auctor justo non eleifend facilisis. Praesent eget justo elit. Ut nec augue purus. Cras nulla risus, bibendum ac est ut, pharetra bibendum elit. Integer interdum, lorem nec pellentesque ornare, nulla mauris pretium arcu, non lacinia risus odio vel nibh. Proin bibendum nulla vel nulla lacinia faucibus. Quisque accumsan sapien malesuada, pulvinar elit non, sollicitudin enim. Aliquam iaculis, massa non tempus hendrerit, ante nunc semper orci, et pretium libero tellus at urna. Nullam maximus sem condimentum, vestibulum eros sit amet, elementum odio. Mauris nisl augue, tristique id eleifend at, elementum vitae elit. Aenean ut iaculis felis. Curabitur id mollis sem. Phasellus quis bibendum est, id hendrerit nulla. Sed consequat metus ex, vitae pharetra lorem commodo id. Etiam eu nisl a ligula laoreet semper. Maecenas non ornare urna. Vestibulum posuere sapien quis dolor scelerisque euismod. Fusce eget neque ac nisl auctor commodo id vitae massa. Suspendisse tincidunt leo at erat dignissim imperdiet. Fusce pulvinar consectetur vehicula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ut aliquet dui. Fusce at sollicitudin urna. Vivamus sed neque elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus sed urna accumsan nulla euismod pulvinar eu ut tortor. In egestas id lectus at ultrices. Nam a cursus lectus, a laoreet lectus. Vivamus pharetra sapien vel diam hendrerit, vitae consequat quam iaculis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam ac felis at velit venenatis molestie. Nunc risus lacus, fringilla eu libero sit amet, dictum interdum tortor. In nec viverra est. Cras imperdiet urna eget ullamcorper consectetur. In faucibus finibus quam. Nulla dictum dolor tristique, rutrum nisi ut, facilisis sem. Aliquam erat volutpat. Donec scelerisque nec justo sed lobortis. Donec posuere, mi vitae molestie finibus, felis lectus facilisis ligula, et dignissim magna diam at turpis. Integer ac ante pulvinar ipsum malesuada convallis eu a orci. Nunc nec accumsan felis. Sed quam purus, bibendum eget mattis non, sodales ut felis. Ut a erat et orci elementum vulputate in eget purus. Suspendisse et posuere lectus. Fusce tempor enim arcu, eu ultricies erat condimentum pulvinar. Nam luctus consequat lectus, eget elementum nunc varius sed. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed sit amet posuere velit, eu vehicula erat. Nulla faucibus at dolor in tincidunt. Nam quis neque ut dui congue laoreet. Etiam ex metus, laoreet lobortis magna non, vehicula dapibus tellus. Integer sit amet orci aliquam, venenatis risus sit amet, cursus metus. Aenean sit amet lectus id neque eleifend pellentesque sed vitae sapien. Vivamus lacus risus, volutpat et mauris quis, porttitor tempus nisl. In tincidunt, elit semper varius posuere, arcu nulla suscipit urna, sit amet posuere ipsum leo a est. Cras ipsum sapien, varius sed mauris a, aliquam consectetur nisi. Integer et ante sit amet tellus dictum sagittis et in lorem. Nulla vel diam elementum, maximus libero dictum, semper orci. Phasellus in facilisis tortor, in vulputate purus. Vivamus rhoncus sem tempus, pharetra turpis vitae, laoreet sem. Pellentesque egestas tellus velit. In laoreet tempor erat. Ut dui erat, pulvinar eu libero imperdiet, fringilla tincidunt est. Ut vitae lectus non velit mollis euismod. Fusce risus neque, sodales at libero in, sagittis posuere tortor. Sed eu congue arcu. Sed augue arcu, tristique in rhoncus ac, laoreet in ex. Vestibulum tristique ullamcorper scelerisque. Suspendisse potenti. Donec eleifend odio eget neque porta accumsan. Pellentesque nec enim risus. Proin vulputate ex tincidunt imperdiet feugiat. Fusce egestas felis dui, mollis fermentum risus consequat scelerisque. Nunc sit amet pretium lectus. Nullam gravida maximus porta. Donec lobortis tincidunt pulvinar. Suspendisse laoreet justo hendrerit, fringilla orci sed, molestie urna. Aenean vel mi a lorem facilisis efficitur. Vestibulum finibus sem et ante volutpat, ut tempus nulla fermentum. Integer justo diam, gravida non odio quis, bibendum blandit risus. Integer ut ipsum dui. Mauris imperdiet eget nisi vitae gravida. Maecenas viverra sem a orci cursus commodo. Suspendisse scelerisque placerat sapien ac fermentum. Nam facilisis interdum sapien at bibendum. Ut malesuada lacus sem. Aliquam neque felis, elementum a tortor in, mattis suscipit elit. Suspendisse molestie, nibh nec viverra lobortis, nunc velit vehicula neque, porttitor lacinia nunc purus vel sem. Phasellus rutrum eget orci in gravida. Nulla placerat in leo a vulputate. Proin vitae ante a est elementum rhoncus. Vivamus convallis arcu elit, sit amet accumsan enim pellentesque non. In blandit justo tellus. Fusce eget arcu laoreet urna tempus laoreet. Praesent ac sagittis ante. Vivamus eu leo at nisi eleifend feugiat a at sem. Nullam fermentum arcu eu lorem maximus, at mattis nisi ultricies. Phasellus faucibus massa nisl, non tempor nulla gravida in. Morbi rutrum ligula at sem scelerisque sollicitudin. Vestibulum egestas ultrices hendrerit. Aliquam consectetur purus justo, nec rutrum risus tristique quis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque ac porta dui. Maecenas efficitur nec magna accumsan maximus. Pellentesque viverra pharetra tempor. Praesent massa purus, porttitor vel scelerisque et, tincidunt a nunc. Donec vitae bibendum tellus. Mauris ante massa, maximus a tellus ullamcorper, mollis iaculis est. Sed interdum justo at diam luctus finibus. Morbi ornare consequat enim, ut lacinia mi ullamcorper at. Vestibulum volutpat tellus in neque ultrices aliquet. Pellentesque sollicitudin viverra pulvinar. Donec faucibus a felis at pulvinar. Sed pretium sem vitae erat auctor, ac sodales ligula laoreet. Praesent lacinia tortor vel vestibulum mollis. Donec bibendum id lorem porttitor faucibus. Maecenas a dui condimentum, sodales eros quis, finibus dolor. Vivamus non neque eros. Mauris laoreet euismod fringilla. Phasellus iaculis aliquet ipsum nec tempus. Vestibulum maximus nunc sed orci porttitor, at tincidunt erat accumsan. Ut tempus nisl in lacinia aliquet. Nulla nec justo non ipsum faucibus volutpat. Donec sit amet sem a risus pharetra venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque nulla justo, varius eu volutpat non, rhoncus consequat tortor. Nulla ultricies pretium luctus. Aliquam vitae dui ac nunc dictum sagittis vel vitae lectus. In ultricies ultrices tortor eu tincidunt. Mauris erat velit, semper eu rutrum id, tristique et turpis. Nunc elementum gravida lectus, eu dapibus purus. Pellentesque orci lacus, pharetra vel est quis, tincidunt eleifend est. Phasellus commodo est ex, eu dictum odio scelerisque a. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In posuere tellus purus, nec rutrum turpis rhoncus at. Morbi tempus nulla non dui consequat, nec accumsan neque scelerisque. Curabitur ante metus, varius et feugiat eu, rhoncus et leo. Duis vulputate elit eget dolor malesuada suscipit. Curabitur tristique finibus mollis. Nunc sagittis mattis volutpat. Morbi auctor nec tellus et dignissim. In iaculis magna eu justo finibus, vitae facilisis tellus rhoncus. Sed in euismod lacus. Proin erat eros, auctor quis libero a, pellentesque fringilla ante. Donec vestibulum odio consectetur dui malesuada porta. Mauris convallis auctor hendrerit. Nullam ut augue ut mi egestas volutpat. Praesent finibus velit sit amet volutpat congue. Integer faucibus ultrices erat, non cursus nunc commodo ac. Cras finibus enim lacus, et vulputate ipsum euismod eu. Donec in pellentesque nulla. Etiam semper quam in felis elementum, at bibendum elit condimentum. Morbi finibus lacus quis neque tincidunt porta. Pellentesque rutrum fringilla velit, convallis posuere dui aliquet vel. Vestibulum tristique ante et lacinia malesuada. Vivamus ac nulla eu purus mattis condimentum. Ut id nisi eu lectus efficitur vehicula. Duis ut turpis sit amet enim elementum dapibus ac ut mauris. Proin vestibulum feugiat consequat. Nunc vestibulum interdum magna, nec ultrices odio laoreet eget. Morbi nisi orci, pharetra nec eleifend vitae, tincidunt ut quam. Nunc lacinia vestibulum ultrices. Curabitur a sodales diam. Ut sed elit id urna molestie bibendum. Sed interdum, elit et pharetra semper, turpis nisi malesuada ex, vitae sollicitudin massa dui sit amet dui. Donec dapibus ornare diam ac commodo. In ornare at dolor vel consequat. Aenean eu justo ultricies, vestibulum nisi non, fermentum dolor. Etiam mauris lacus, euismod in dolor ut, accumsan varius magna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque ac aliquam mi. Vivamus vulputate faucibus ipsum, eget bibendum justo ultrices ac. Maecenas id rhoncus lectus, nec mattis nibh. Proin du...", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", @@ -217,6 +219,7 @@ "elapsed_ms": 1000, "request": "GET /2 HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 20\r\n\r\n{\"greeting\":\"hello\"}", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "a4d15ed4-5b24-407f-b86e-4b881f09a186", @@ -291,6 +294,7 @@ "elapsed_ms": 1000, "request": "GET /1 HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 10030\r\n\r\n{ \"big\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sed nunc vehicula, commodo ipsum et, consectetur massa. Suspendisse potenti. Ut feugiat volutpat purus vel viverra. Fusce commodo, massa eget malesuada aliquam, dolor lectus porta tortor, ultrices lobortis lacus tellus non velit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus in viverra metus. Ut lobortis metus elit, elementum posuere ex consequat non. Donec elementum rutrum orci non dictum. Nam ut ultricies nisi, a viverra nisl. Sed et nibh vitae metus bibendum lobortis sed in ex. Nunc porta elit eget ipsum bibendum gravida. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse potenti. Etiam quis ligula quis lacus ultricies fringilla. Integer nec pharetra nunc. Curabitur pharetra, dolor fringilla ultricies ornare, purus nisl ultrices augue, nec pulvinar ipsum orci consequat quam. Proin auctor justo non eleifend facilisis. Praesent eget justo elit. Ut nec augue purus. Cras nulla risus, bibendum ac est ut, pharetra bibendum elit. Integer interdum, lorem nec pellentesque ornare, nulla mauris pretium arcu, non lacinia risus odio vel nibh. Proin bibendum nulla vel nulla lacinia faucibus. Quisque accumsan sapien malesuada, pulvinar elit non, sollicitudin enim. Aliquam iaculis, massa non tempus hendrerit, ante nunc semper orci, et pretium libero tellus at urna. Nullam maximus sem condimentum, vestibulum eros sit amet, elementum odio. Mauris nisl augue, tristique id eleifend at, elementum vitae elit. Aenean ut iaculis felis. Curabitur id mollis sem. Phasellus quis bibendum est, id hendrerit nulla. Sed consequat metus ex, vitae pharetra lorem commodo id. Etiam eu nisl a ligula laoreet semper. Maecenas non ornare urna. Vestibulum posuere sapien quis dolor scelerisque euismod. Fusce eget neque ac nisl auctor commodo id vitae massa. Suspendisse tincidunt leo at erat dignissim imperdiet. Fusce pulvinar consectetur vehicula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ut aliquet dui. Fusce at sollicitudin urna. Vivamus sed neque elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus sed urna accumsan nulla euismod pulvinar eu ut tortor. In egestas id lectus at ultrices. Nam a cursus lectus, a laoreet lectus. Vivamus pharetra sapien vel diam hendrerit, vitae consequat quam iaculis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam ac felis at velit venenatis molestie. Nunc risus lacus, fringilla eu libero sit amet, dictum interdum tortor. In nec viverra est. Cras imperdiet urna eget ullamcorper consectetur. In faucibus finibus quam. Nulla dictum dolor tristique, rutrum nisi ut, facilisis sem. Aliquam erat volutpat. Donec scelerisque nec justo sed lobortis. Donec posuere, mi vitae molestie finibus, felis lectus facilisis ligula, et dignissim magna diam at turpis. Integer ac ante pulvinar ipsum malesuada convallis eu a orci. Nunc nec accumsan felis. Sed quam purus, bibendum eget mattis non, sodales ut felis. Ut a erat et orci elementum vulputate in eget purus. Suspendisse et posuere lectus. Fusce tempor enim arcu, eu ultricies erat condimentum pulvinar. Nam luctus consequat lectus, eget elementum nunc varius sed. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed sit amet posuere velit, eu vehicula erat. Nulla faucibus at dolor in tincidunt. Nam quis neque ut dui congue laoreet. Etiam ex metus, laoreet lobortis magna non, vehicula dapibus tellus. Integer sit amet orci aliquam, venenatis risus sit amet, cursus metus. Aenean sit amet lectus id neque eleifend pellentesque sed vitae sapien. Vivamus lacus risus, volutpat et mauris quis, porttitor tempus nisl. In tincidunt, elit semper varius posuere, arcu nulla suscipit urna, sit amet posuere ipsum leo a est. Cras ipsum sapien, varius sed mauris a, aliquam consectetur nisi. Integer et ante sit amet tellus dictum sagittis et in lorem. Nulla vel diam elementum, maximus libero dictum, semper orci. Phasellus in facilisis tortor, in vulputate purus. Vivamus rhoncus sem tempus, pharetra turpis vitae, laoreet sem. Pellentesque egestas tellus velit. In laoreet tempor erat. Ut dui erat, pulvinar eu libero imperdiet, fringilla tincidunt est. Ut vitae lectus non velit mollis euismod. Fusce risus neque, sodales at libero in, sagittis posuere tortor. Sed eu congue arcu. Sed augue arcu, tristique in rhoncus ac, laoreet in ex. Vestibulum tristique ullamcorper scelerisque. Suspendisse potenti. Donec eleifend odio eget neque porta accumsan. Pellentesque nec enim risus. Proin vulputate ex tincidunt imperdiet feugiat. Fusce egestas felis dui, mollis fermentum risus consequat scelerisque. Nunc sit amet pretium lectus. Nullam gravida maximus porta. Donec lobortis tincidunt pulvinar. Suspendisse laoreet justo hendrerit, fringilla orci sed, molestie urna. Aenean vel mi a lorem facilisis efficitur. Vestibulum finibus sem et ante volutpat, ut tempus nulla fermentum. Integer justo diam, gravida non odio quis, bibendum blandit risus. Integer ut ipsum dui. Mauris imperdiet eget nisi vitae gravida. Maecenas viverra sem a orci cursus commodo. Suspendisse scelerisque placerat sapien ac fermentum. Nam facilisis interdum sapien at bibendum. Ut malesuada lacus sem. Aliquam neque felis, elementum a tortor in, mattis suscipit elit. Suspendisse molestie, nibh nec viverra lobortis, nunc velit vehicula neque, porttitor lacinia nunc purus vel sem. Phasellus rutrum eget orci in gravida. Nulla placerat in leo a vulputate. Proin vitae ante a est elementum rhoncus. Vivamus convallis arcu elit, sit amet accumsan enim pellentesque non. In blandit justo tellus. Fusce eget arcu laoreet urna tempus laoreet. Praesent ac sagittis ante. Vivamus eu leo at nisi eleifend feugiat a at sem. Nullam fermentum arcu eu lorem maximus, at mattis nisi ultricies. Phasellus faucibus massa nisl, non tempor nulla gravida in. Morbi rutrum ligula at sem scelerisque sollicitudin. Vestibulum egestas ultrices hendrerit. Aliquam consectetur purus justo, nec rutrum risus tristique quis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque ac porta dui. Maecenas efficitur nec magna accumsan maximus. Pellentesque viverra pharetra tempor. Praesent massa purus, porttitor vel scelerisque et, tincidunt a nunc. Donec vitae bibendum tellus. Mauris ante massa, maximus a tellus ullamcorper, mollis iaculis est. Sed interdum justo at diam luctus finibus. Morbi ornare consequat enim, ut lacinia mi ullamcorper at. Vestibulum volutpat tellus in neque ultrices aliquet. Pellentesque sollicitudin viverra pulvinar. Donec faucibus a felis at pulvinar. Sed pretium sem vitae erat auctor, ac sodales ligula laoreet. Praesent lacinia tortor vel vestibulum mollis. Donec bibendum id lorem porttitor faucibus. Maecenas a dui condimentum, sodales eros quis, finibus dolor. Vivamus non neque eros. Mauris laoreet euismod fringilla. Phasellus iaculis aliquet ipsum nec tempus. Vestibulum maximus nunc sed orci porttitor, at tincidunt erat accumsan. Ut tempus nisl in lacinia aliquet. Nulla nec justo non ipsum faucibus volutpat. Donec sit amet sem a risus pharetra venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque nulla justo, varius eu volutpat non, rhoncus consequat tortor. Nulla ultricies pretium luctus. Aliquam vitae dui ac nunc dictum sagittis vel vitae lectus. In ultricies ultrices tortor eu tincidunt. Mauris erat velit, semper eu rutrum id, tristique et turpis. Nunc elementum gravida lectus, eu dapibus purus. Pellentesque orci lacus, pharetra vel est quis, tincidunt eleifend est. Phasellus commodo est ex, eu dictum odio scelerisque a. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In posuere tellus purus, nec rutrum turpis rhoncus at. Morbi tempus nulla non dui consequat, nec accumsan neque scelerisque. Curabitur ante metus, varius et feugiat eu, rhoncus et leo. Duis vulputate elit eget dolor malesuada suscipit. Curabitur tristique finibus mollis. Nunc sagittis mattis volutpat. Morbi auctor nec tellus et dignissim. In iaculis magna eu justo finibus, vitae facilisis tellus rhoncus. Sed in euismod lacus. Proin erat eros, auctor quis libero a, pellentesque fringilla ante. Donec vestibulum odio consectetur dui malesuada porta. Mauris convallis auctor hendrerit. Nullam ut augue ut mi egestas volutpat. Praesent finibus velit sit amet volutpat congue. Integer faucibus ultrices erat, non cursus nunc commodo ac. Cras finibus enim lacus, et vulputate ipsum euismod eu. Donec in pellentesque nulla. Etiam semper quam in felis elementum, at bibendum elit condimentum. Morbi finibus lacus quis neque tincidunt porta. Pellentesque rutrum fringilla velit, convallis posuere dui aliquet vel. Vestibulum tristique ante et lacinia malesuada. Vivamus ac nulla eu purus mattis condimentum. Ut id nisi eu lectus efficitur vehicula. Duis ut turpis sit amet enim elementum dapibus ac ut mauris. Proin vestibulum feugiat consequat. Nunc vestibulum interdum magna, nec ultrices odio laoreet eget. Morbi nisi orci, pharetra nec eleifend vitae, tincidunt ut quam. Nunc lacinia vestibulum ultrices. Curabitur a sodales diam. Ut sed elit id urna molestie bibendum. Sed interdum, elit et pharetra semper, turpis nisi malesuada ex, vitae sollicitudin massa dui sit amet dui. Donec dapibus ornare diam ac commodo. In ornare at dolor vel consequat. Aenean eu justo ultricies, vestibulum nisi non, fermentum dolor. Etiam mauris lacus, euismod in dolor ut, accumsan varius magna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque ac aliquam mi. Vivamus vulputate faucibus ipsum, eget bibendum justo ultrices ac. Maecenas id rhoncus lectus, nec mattis nibh. Proin du...", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", @@ -353,6 +357,7 @@ "elapsed_ms": 1000, "request": "GET /2 HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 20\r\n\r\n{\"greeting\":\"hello\"}", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "a4d15ed4-5b24-407f-b86e-4b881f09a186", @@ -569,6 +574,7 @@ "elapsed_ms": 1000, "request": "GET /1 HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 10030\r\n\r\n{ \"big\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sed nunc vehicula, commodo ipsum et, consectetur massa. Suspendisse potenti. Ut feugiat volutpat purus vel viverra. Fusce commodo, massa eget malesuada aliquam, dolor lectus porta tortor, ultrices lobortis lacus tellus non velit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus in viverra metus. Ut lobortis metus elit, elementum posuere ex consequat non. Donec elementum rutrum orci non dictum. Nam ut ultricies nisi, a viverra nisl. Sed et nibh vitae metus bibendum lobortis sed in ex. Nunc porta elit eget ipsum bibendum gravida. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse potenti. Etiam quis ligula quis lacus ultricies fringilla. Integer nec pharetra nunc. Curabitur pharetra, dolor fringilla ultricies ornare, purus nisl ultrices augue, nec pulvinar ipsum orci consequat quam. Proin auctor justo non eleifend facilisis. Praesent eget justo elit. Ut nec augue purus. Cras nulla risus, bibendum ac est ut, pharetra bibendum elit. Integer interdum, lorem nec pellentesque ornare, nulla mauris pretium arcu, non lacinia risus odio vel nibh. Proin bibendum nulla vel nulla lacinia faucibus. Quisque accumsan sapien malesuada, pulvinar elit non, sollicitudin enim. Aliquam iaculis, massa non tempus hendrerit, ante nunc semper orci, et pretium libero tellus at urna. Nullam maximus sem condimentum, vestibulum eros sit amet, elementum odio. Mauris nisl augue, tristique id eleifend at, elementum vitae elit. Aenean ut iaculis felis. Curabitur id mollis sem. Phasellus quis bibendum est, id hendrerit nulla. Sed consequat metus ex, vitae pharetra lorem commodo id. Etiam eu nisl a ligula laoreet semper. Maecenas non ornare urna. Vestibulum posuere sapien quis dolor scelerisque euismod. Fusce eget neque ac nisl auctor commodo id vitae massa. Suspendisse tincidunt leo at erat dignissim imperdiet. Fusce pulvinar consectetur vehicula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ut aliquet dui. Fusce at sollicitudin urna. Vivamus sed neque elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus sed urna accumsan nulla euismod pulvinar eu ut tortor. In egestas id lectus at ultrices. Nam a cursus lectus, a laoreet lectus. Vivamus pharetra sapien vel diam hendrerit, vitae consequat quam iaculis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam ac felis at velit venenatis molestie. Nunc risus lacus, fringilla eu libero sit amet, dictum interdum tortor. In nec viverra est. Cras imperdiet urna eget ullamcorper consectetur. In faucibus finibus quam. Nulla dictum dolor tristique, rutrum nisi ut, facilisis sem. Aliquam erat volutpat. Donec scelerisque nec justo sed lobortis. Donec posuere, mi vitae molestie finibus, felis lectus facilisis ligula, et dignissim magna diam at turpis. Integer ac ante pulvinar ipsum malesuada convallis eu a orci. Nunc nec accumsan felis. Sed quam purus, bibendum eget mattis non, sodales ut felis. Ut a erat et orci elementum vulputate in eget purus. Suspendisse et posuere lectus. Fusce tempor enim arcu, eu ultricies erat condimentum pulvinar. Nam luctus consequat lectus, eget elementum nunc varius sed. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed sit amet posuere velit, eu vehicula erat. Nulla faucibus at dolor in tincidunt. Nam quis neque ut dui congue laoreet. Etiam ex metus, laoreet lobortis magna non, vehicula dapibus tellus. Integer sit amet orci aliquam, venenatis risus sit amet, cursus metus. Aenean sit amet lectus id neque eleifend pellentesque sed vitae sapien. Vivamus lacus risus, volutpat et mauris quis, porttitor tempus nisl. In tincidunt, elit semper varius posuere, arcu nulla suscipit urna, sit amet posuere ipsum leo a est. Cras ipsum sapien, varius sed mauris a, aliquam consectetur nisi. Integer et ante sit amet tellus dictum sagittis et in lorem. Nulla vel diam elementum, maximus libero dictum, semper orci. Phasellus in facilisis tortor, in vulputate purus. Vivamus rhoncus sem tempus, pharetra turpis vitae, laoreet sem. Pellentesque egestas tellus velit. In laoreet tempor erat. Ut dui erat, pulvinar eu libero imperdiet, fringilla tincidunt est. Ut vitae lectus non velit mollis euismod. Fusce risus neque, sodales at libero in, sagittis posuere tortor. Sed eu congue arcu. Sed augue arcu, tristique in rhoncus ac, laoreet in ex. Vestibulum tristique ullamcorper scelerisque. Suspendisse potenti. Donec eleifend odio eget neque porta accumsan. Pellentesque nec enim risus. Proin vulputate ex tincidunt imperdiet feugiat. Fusce egestas felis dui, mollis fermentum risus consequat scelerisque. Nunc sit amet pretium lectus. Nullam gravida maximus porta. Donec lobortis tincidunt pulvinar. Suspendisse laoreet justo hendrerit, fringilla orci sed, molestie urna. Aenean vel mi a lorem facilisis efficitur. Vestibulum finibus sem et ante volutpat, ut tempus nulla fermentum. Integer justo diam, gravida non odio quis, bibendum blandit risus. Integer ut ipsum dui. Mauris imperdiet eget nisi vitae gravida. Maecenas viverra sem a orci cursus commodo. Suspendisse scelerisque placerat sapien ac fermentum. Nam facilisis interdum sapien at bibendum. Ut malesuada lacus sem. Aliquam neque felis, elementum a tortor in, mattis suscipit elit. Suspendisse molestie, nibh nec viverra lobortis, nunc velit vehicula neque, porttitor lacinia nunc purus vel sem. Phasellus rutrum eget orci in gravida. Nulla placerat in leo a vulputate. Proin vitae ante a est elementum rhoncus. Vivamus convallis arcu elit, sit amet accumsan enim pellentesque non. In blandit justo tellus. Fusce eget arcu laoreet urna tempus laoreet. Praesent ac sagittis ante. Vivamus eu leo at nisi eleifend feugiat a at sem. Nullam fermentum arcu eu lorem maximus, at mattis nisi ultricies. Phasellus faucibus massa nisl, non tempor nulla gravida in. Morbi rutrum ligula at sem scelerisque sollicitudin. Vestibulum egestas ultrices hendrerit. Aliquam consectetur purus justo, nec rutrum risus tristique quis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque ac porta dui. Maecenas efficitur nec magna accumsan maximus. Pellentesque viverra pharetra tempor. Praesent massa purus, porttitor vel scelerisque et, tincidunt a nunc. Donec vitae bibendum tellus. Mauris ante massa, maximus a tellus ullamcorper, mollis iaculis est. Sed interdum justo at diam luctus finibus. Morbi ornare consequat enim, ut lacinia mi ullamcorper at. Vestibulum volutpat tellus in neque ultrices aliquet. Pellentesque sollicitudin viverra pulvinar. Donec faucibus a felis at pulvinar. Sed pretium sem vitae erat auctor, ac sodales ligula laoreet. Praesent lacinia tortor vel vestibulum mollis. Donec bibendum id lorem porttitor faucibus. Maecenas a dui condimentum, sodales eros quis, finibus dolor. Vivamus non neque eros. Mauris laoreet euismod fringilla. Phasellus iaculis aliquet ipsum nec tempus. Vestibulum maximus nunc sed orci porttitor, at tincidunt erat accumsan. Ut tempus nisl in lacinia aliquet. Nulla nec justo non ipsum faucibus volutpat. Donec sit amet sem a risus pharetra venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque nulla justo, varius eu volutpat non, rhoncus consequat tortor. Nulla ultricies pretium luctus. Aliquam vitae dui ac nunc dictum sagittis vel vitae lectus. In ultricies ultrices tortor eu tincidunt. Mauris erat velit, semper eu rutrum id, tristique et turpis. Nunc elementum gravida lectus, eu dapibus purus. Pellentesque orci lacus, pharetra vel est quis, tincidunt eleifend est. Phasellus commodo est ex, eu dictum odio scelerisque a. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In posuere tellus purus, nec rutrum turpis rhoncus at. Morbi tempus nulla non dui consequat, nec accumsan neque scelerisque. Curabitur ante metus, varius et feugiat eu, rhoncus et leo. Duis vulputate elit eget dolor malesuada suscipit. Curabitur tristique finibus mollis. Nunc sagittis mattis volutpat. Morbi auctor nec tellus et dignissim. In iaculis magna eu justo finibus, vitae facilisis tellus rhoncus. Sed in euismod lacus. Proin erat eros, auctor quis libero a, pellentesque fringilla ante. Donec vestibulum odio consectetur dui malesuada porta. Mauris convallis auctor hendrerit. Nullam ut augue ut mi egestas volutpat. Praesent finibus velit sit amet volutpat congue. Integer faucibus ultrices erat, non cursus nunc commodo ac. Cras finibus enim lacus, et vulputate ipsum euismod eu. Donec in pellentesque nulla. Etiam semper quam in felis elementum, at bibendum elit condimentum. Morbi finibus lacus quis neque tincidunt porta. Pellentesque rutrum fringilla velit, convallis posuere dui aliquet vel. Vestibulum tristique ante et lacinia malesuada. Vivamus ac nulla eu purus mattis condimentum. Ut id nisi eu lectus efficitur vehicula. Duis ut turpis sit amet enim elementum dapibus ac ut mauris. Proin vestibulum feugiat consequat. Nunc vestibulum interdum magna, nec ultrices odio laoreet eget. Morbi nisi orci, pharetra nec eleifend vitae, tincidunt ut quam. Nunc lacinia vestibulum ultrices. Curabitur a sodales diam. Ut sed elit id urna molestie bibendum. Sed interdum, elit et pharetra semper, turpis nisi malesuada ex, vitae sollicitudin massa dui sit amet dui. Donec dapibus ornare diam ac commodo. In ornare at dolor vel consequat. Aenean eu justo ultricies, vestibulum nisi non, fermentum dolor. Etiam mauris lacus, euismod in dolor ut, accumsan varius magna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque ac aliquam mi. Vivamus vulputate faucibus ipsum, eget bibendum justo ultrices ac. Maecenas id rhoncus lectus, nec mattis nibh. Proin du...", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "8720f157-ca1c-432f-9c0b-2014ddc77094", @@ -631,6 +637,7 @@ "elapsed_ms": 1000, "request": "GET /2 HTTP/1.1\r\nHost: temba.io\r\nUser-Agent: goflow-testing\r\nContent-Type: application/json\r\nAccept-Encoding: gzip\r\n\r\n", "response": "HTTP/1.0 200 OK\r\nContent-Length: 20\r\n\r\n{\"greeting\":\"hello\"}", + "retries": 0, "status": "success", "status_code": 200, "step_uuid": "a4d15ed4-5b24-407f-b86e-4b881f09a186",