{"action":"created","issue":{"url":"https://api.github.com/repos/SpectoLabs/hoverfly/issues/699","repository_url":"https://api.github.com/repos/SpectoLabs/hoverfly","labels_url":"https://api.github.com/repos/SpectoLabs/hoverfly/issues/699/labels{/name}","comments_url":"https://api.github.com/repos/SpectoLabs/hoverfly/issues/699/comments","events_url":"https://api.github.com/repos/SpectoLabs/hoverfly/issues/699/events","html_url":"https://github.com/SpectoLabs/hoverfly/issues/699","id":298650713,"number":699,"title":"New Diff mode for comparing response from real service with simulation config","user":{"login":"MatousJobanek","id":1510709,"avatar_url":"https://avatars3.githubusercontent.com/u/1510709?v=4","gravatar_id":"","url":"https://api.github.com/users/MatousJobanek","html_url":"https://github.com/MatousJobanek","followers_url":"https://api.github.com/users/MatousJobanek/followers","following_url":"https://api.github.com/users/MatousJobanek/following{/other_user}","gists_url":"https://api.github.com/users/MatousJobanek/gists{/gist_id}","starred_url":"https://api.github.com/users/MatousJobanek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MatousJobanek/subscriptions","organizations_url":"https://api.github.com/users/MatousJobanek/orgs","repos_url":"https://api.github.com/users/MatousJobanek/repos","events_url":"https://api.github.com/users/MatousJobanek/events{/privacy}","received_events_url":"https://api.github.com/users/MatousJobanek/received_events","type":"User","site_admin":false},"labels":[{"id":438981518,"url":"https://api.github.com/repos/SpectoLabs/hoverfly/labels/feature%20request","name":"feature request","color":"c5def5","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-02-20T16:05:02Z","updated_at":"2018-03-15T20:52:20Z","closed_at":null,"author_association":"NONE","body":"It would be good to have a mode for calling external service and comparing response with currently stored simulation to detect differences between our version and what is the current service response. \r\n\r\nHoverfly would call the real service and would load matching simulation config. When the service responds then it would compare the response with the simulation (if it is present) and create diff report. Hoverfly then would return the real response to the client and store the diff report. From the test, it should be possible to get all diff reports stored from the last time with all differences.\r\n\r\nThe communication flow would look like:\r\n```\r\n test                client       hoverfly              service\r\ninvoke client ----->  |              |                     |\r\n  |              send request ---->  |                     |\r\n  |                   |          resend request   ---->    |\r\n  |                   |          and find simulation     process\r\n  |                   |              |           <-----  response\r\n  |                   |          receive response          |\r\n  |                   |          and compare               |\r\n  |                   |   <---resend real response---      |\r\nget comparison results  ---------->  |                     |\r\n  |   <-------------------------   return diff             |\r\nfail or passs                        |                     |\r\n```\r\nWDYT? Is it something that would make sense in the sense of the Hovefly project?\r\n\r\nI have already started working on it and I have some implementation for both hoverfly and hoverfly-java projects. I'll send my implementation proposal as a PR probably tomorrow."},"comment":{"url":"https://api.github.com/repos/SpectoLabs/hoverfly/issues/comments/373518996","html_url":"https://github.com/SpectoLabs/hoverfly/issues/699#issuecomment-373518996","issue_url":"https://api.github.com/repos/SpectoLabs/hoverfly/issues/699","id":373518996,"user":{"login":"mogronalol","id":7673008,"avatar_url":"https://avatars0.githubusercontent.com/u/7673008?v=4","gravatar_id":"","url":"https://api.github.com/users/mogronalol","html_url":"https://github.com/mogronalol","followers_url":"https://api.github.com/users/mogronalol/followers","following_url":"https://api.github.com/users/mogronalol/following{/other_user}","gists_url":"https://api.github.com/users/mogronalol/gists{/gist_id}","starred_url":"https://api.github.com/users/mogronalol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mogronalol/subscriptions","organizations_url":"https://api.github.com/users/mogronalol/orgs","repos_url":"https://api.github.com/users/mogronalol/repos","events_url":"https://api.github.com/users/mogronalol/events{/privacy}","received_events_url":"https://api.github.com/users/mogronalol/received_events","type":"User","site_admin":false},"created_at":"2018-03-15T20:52:20Z","updated_at":"2018-03-15T20:52:20Z","author_association":"CONTRIBUTOR","body":"Just noticed this, and it is indeed a great idea!"}}
{"actor":{"display_login":"mogronalol"}}