Skip to content
Julio Zevallos edited this page Oct 18, 2019 · 10 revisions

Overview

Introducing qAPI: Translating database queries into API calls

Querying the database directly from tests, regardless of the framework being used, is not a good approach (from a security and maintainability standpoint), and sometimes not fully supported. T-mobile's qAPI eases the process of designing tests that need connections to databases, by moving these connections from the test to an API service. With these, testers can keep their test designs clean and modular. qAPI provides flexibility and expandability on database-type support, as not all frameworks and test-designed applications provided support for certain types of databases.

Design without qAPI

image1

Design with qAPi

image2

Benefits of using qAPI

  • Increased Security: qAPI only needs database query and credentials to create an API by letting dynamic values be passed to queries through the body of a POST API call and automatically creating JSON response from database query output. Testers don’t need to write a line of code to enable an API
  • Reduced effort: Maintaining all database connection and credentials information centrally outside test scripts with optional integration to T-Vault
  • Reusability and sharing: Maintaining all the queries on a user specified repository, where teams can save and update their queries on a key-value basis
  • Sanitizing user input: qAPI transforms the query from the config files into a prepared statement, passing in the dynamic parameters to it, which sanitizes any value the user passes in through the body of the request and prevents any API calls from going rogue.
  • Growing database support: qAPI currently supports Oracle, SQL Server, and Cassandra databases. Other databases integration can be enabled in the future by community

Setup

Subpages