Page tree
Skip to end of metadata
Go to start of metadata

vutil provides a REST API to access database which can be used in validating the database state. With the help of this REST API, you may perform CRUD operations on various databases. As of now, following databases are supported:

  1. MySQL
  2. Postgres
  3. MongoDB
  4. MSSQL
  5. Oracle

We are also working on integration with other databases as well.  Please stay tuned.

Now, with the help of this API, one can perform the database validation after a test case is executed.

API Endpoint:

API Endpoint for DB Validation API is 

POST {{vutilBaseURL}}/execute/dbquery/{{connection}}

Here 

  1. {{vutilBaseURL}} is the variable, and the value is base URL of vutil server.
  2. {{connection}} is the path variable, and the value is the connection name of the database which is configured in config.json file.

And this API accepts a single body parameter "query" which can be either in STRING format or in JSON Object depending on the database vendor.

Steps:

Step by step guide to perform database validation:

Step 1: Configure connection details in vutil

First you need to configure database connection details in config.json file. If you have not created a config.json file, then create one by copying the config.sample.json into config.json file and provide the connection details as per the samples provided.

Step 2: Execute your API test case and validate its response. e.g. for this guide, we are creating a contact with our sample contact API as follows:

Step 3: Now, to validate the database state, we need to write a separate test case in vREST. With the help of DB API provided by vutil, we can write the test case for db validation as follows:

  1. First create a test case with DB Validation API as follows:
  2. Now, provide the connection name as follows:
  3. Now, provide the request body for the DB Validation API:
  4. Provide assertions as you provide for other test cases
  5. And expected body as per your need.

 That's it. In this way, you may validate the DB state.

  • No labels