import org.junit.Test;
 import org.onap.logging.ref.slf4j.ONAPLogConstants;
 import org.onap.so.adapters.catalogdb.CatalogDbAdapterBaseTest;
+import org.onap.so.db.catalog.beans.ServiceRecipe;
 import org.skyscreamer.jsonassert.JSONAssert;
 import org.skyscreamer.jsonassert.JSONCompareMode;
 import org.springframework.boot.test.web.client.TestRestTemplate;
 
     private static final String ECOMP_MSO_CATALOG_V2_VF_MODULES = "ecomp/mso/catalog/v2/vfModules";
 
+    private static final String SERVICE_RECIPE = "serviceRecipe";
+
     private static final String ECOMP_MSO_CATALOG_V2_SERVICE_ALLOTTED_RESOURCES =
             "ecomp/mso/catalog/v2/serviceAllottedResources";
 
             }
     }
 
+    @Test
+    public void testCreateServiceRecipe() throws JSONException {
+        ServiceRecipe recipe = new ServiceRecipe();
+        recipe.setAction("action");
+        recipe.setDescription("description");
+        recipe.setOrchestrationUri("http://test");
+        recipe.setRecipeTimeout(120);
+        recipe.setServiceModelUUID(serviceUUID);
+        HttpEntity<ServiceRecipe> entity = new HttpEntity<ServiceRecipe>(recipe, headers);
+        headers.set("Accept", MediaType.APPLICATION_JSON);
+
+        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort(SERVICE_RECIPE));
+
+        ResponseEntity<String> response =
+                restTemplate.exchange(builder.toUriString(), HttpMethod.POST, entity, String.class);
+
+        assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatusCode().value());
+    }
+
     private String createURLWithPort(String uri) {
         return "http://localhost:" + port + uri;
     }
 
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
-import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 
     @Id
     @Column(name = "id")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Integer id;
 
     @BusinessKey
         super();
     }
 
+    @Override
     public Integer getId() {
         return id;
     }
         this.serviceModelUUID = serviceModelUUID;
     }
 
+    @Override
     public String getAction() {
         return action;
     }
         this.action = action;
     }
 
+    @Override
     public String getDescription() {
         return description;
     }
         this.description = description;
     }
 
+    @Override
     public String getOrchestrationUri() {
         return orchestrationUri;
     }
         this.orchestrationUri = orchestrationUri;
     }
 
+    @Override
     public String getParamXsd() {
         return paramXsd;
     }
         this.paramXsd = paramXsd;
     }
 
+    @Override
     public Integer getRecipeTimeout() {
         return recipeTimeout;
     }
 
 import java.io.Serializable;
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
 import org.apache.commons.lang3.builder.EqualsBuilder;
 
     @Id
     @Column(name = "id")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Integer id;
 
     @BusinessKey
                 .toHashCode();
     }
 
+    @Override
     public Integer getId() {
         return id;
     }
         this.id = id;
     }
 
+    @Override
     public String getAction() {
         return action;
     }
         this.action = action;
     }
 
+    @Override
     public String getDescription() {
         return description;
     }
         this.vnfType = vnfType;
     }
 
+    @Override
     public String getParamXsd() {
         return paramXsd;
     }
 
 import java.util.Date;
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.PrePersist;
 import javax.persistence.Table;
 
     @Id
     @Column(name = "id")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Integer id;
 
     @BusinessKey
         this.nfRole = nfRole;
     }
 
+    @Override
     public String getParamXsd() {
         return paramXsd;
     }
         this.vfModuleId = vfModuleId;
     }
 
+    @Override
     public Integer getId() {
         return id;
     }
         this.id = id;
     }
 
+    @Override
     public String getAction() {
         return action;
     }
         this.action = action;
     }
 
+    @Override
     public String getDescription() {
         return description;
     }
         this.description = description;
     }
 
+    @Override
     public String getOrchestrationUri() {
         return orchestrationUri;
     }
         this.orchestrationUri = orchestrationUri;
     }
 
+    @Override
     public Integer getRecipeTimeout() {
         return recipeTimeout;
     }