<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MOCK on DecipherMiddleware</title><link>https://blog.deciphermiddleware.in/tags/mock/</link><description>Recent content in MOCK on DecipherMiddleware</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sun, 04 Oct 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.deciphermiddleware.in/tags/mock/index.xml" rel="self" type="application/rss+xml"/><item><title>Mock a REST Service using SOAPUI with JSON response</title><link>https://blog.deciphermiddleware.in/posts/mock-rest-service-using-soapui-with/</link><pubDate>Sun, 04 Oct 2020 00:00:00 +0000</pubDate><guid>https://blog.deciphermiddleware.in/posts/mock-rest-service-using-soapui-with/</guid><description>&lt;p&gt;Sometimes, backend service is not ready to receive requests and we may want to mock the service. In such cases we have sample request and response but integration cannot be tested unless we actually hit the service. Mocking the services is a good option to continue and progress.&lt;/p&gt;
&lt;p&gt;In this tutorial, we will use &lt;strong&gt;SOAP UI&lt;/strong&gt; to mock a &lt;strong&gt;REST&lt;/strong&gt; service with &lt;strong&gt;POST&lt;/strong&gt; method and &lt;strong&gt;JSON&lt;/strong&gt; response(static in nature). This is the basic tutorial to configure static response with no request validation. We can use the SOAP UI to test the created mock service also before, we try to hit from any Integration service.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sample URL(for actual service):&lt;/strong&gt; &lt;strong&gt;http://localhost:8080/api/test&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Sample JSON Response:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;John&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;age&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;car&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;regitered&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="steps"&gt;Steps: &lt;a href="#steps" class="anchor"&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;1. Open &lt;strong&gt;SOAP UI&lt;/strong&gt; and click on &lt;strong&gt;REST&lt;/strong&gt; to create a New REST Project.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/5b2588ea0c.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/5b2588ea0c.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2. Provide the url for the api you want to create a mock service.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/b74fdde6e8.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/b74fdde6e8.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3. Once the project is created, right click on host name(http://locatlhost:8080) under &lt;strong&gt;REST Project 1&lt;/strong&gt; and then click on &lt;strong&gt;Generate REST Mock Service.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/a72aea8a3e.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/a72aea8a3e.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;4. Specify the name for mock service and click on &lt;strong&gt;OK&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/d81ff9fe7a.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/d81ff9fe7a.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;5. A window will open showing that mock service **GET _&lt;em&gt;/api/test&lt;/em&gt; _**has been started at port &lt;strong&gt;8089&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/310e8529d1.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/310e8529d1.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;6. Click on stop button to stop the mock service. Click on &lt;strong&gt;/api/test&lt;/strong&gt; under &lt;strong&gt;REST MockService 1&lt;/strong&gt;. Change method from &lt;strong&gt;GET&lt;/strong&gt; to &lt;strong&gt;POST&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/d71a6d042c.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/d71a6d042c.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;7. Mock response is specified as &lt;strong&gt;Response1&lt;/strong&gt; which was automatically created. Double click &lt;strong&gt;Response 1&lt;/strong&gt; from this window or navigator window.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/a35ea2fa7f.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/a35ea2fa7f.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;8. Keep HTTP Status Code to be &lt;strong&gt;200 - OK&lt;/strong&gt; , if your back end application sends the status code &lt;strong&gt;200&lt;/strong&gt; else change to the code which backend application sends. Update the sample response under content window editor. Specify media type to &lt;strong&gt;application/json&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/f64c5fc0ac.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/f64c5fc0ac.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;9. Start the mock service. You will see the mock service &lt;strong&gt;POST &lt;strong&gt;/api/test&lt;/strong&gt;&lt;/strong&gt; is started at port &lt;strong&gt;8089&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/0255b87c6f.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/0255b87c6f.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;10. To test this service, open the request under &lt;strong&gt;REST Project 1&lt;/strong&gt;. Update the &lt;strong&gt;hostname:port&lt;/strong&gt; with the value for mock service. Here in this case will be &lt;strong&gt;&lt;strong&gt;http://localhost:8089&lt;/strong&gt;&lt;/strong&gt;. Click on run.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/4554e62268.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/4554e62268.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You will see the response is received. And also we can see in logs that request triggered and is successful.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/e6ba0ef6ce.png"&gt;&lt;/a&gt;&lt;a href="https://blog.deciphermiddleware.in/images/blogger/e6ba0ef6ce.png"&gt;&lt;img src="https://blog.deciphermiddleware.in/images/blogger/e6ba0ef6ce.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Note:&lt;/strong&gt; In SOAP UI, we can also configure dynamic response using groovy script.&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>