DIGIT Core
PlatformDomainsAcademyDesign SystemFeedback
2.9-LTS
2.9-LTS
  • 🖥️Platform
    • Overview
    • Why DIGIT?
    • Principles
    • Architecture
      • Service Architecture
      • Technology Architecture
        • Open Source Tools
      • Infrastructure Architecture
      • Deployment Architecture
    • API Specifications
      • Access Control
      • Boundary
      • Document Uploader
      • Encryption
      • File Store
      • ID Generation
      • Indexer
      • Localisation
      • Master Data Management
      • OTP
      • Payment Gateway
      • PDF Generation
      • URL Shortner
      • WhatsApp Chatbot
      • Workflow
    • Core Services
      • Access Control Services
      • Audit Service
        • Signed Audit Performance Testing Results
      • API Gateway
        • Configuring Gateway Rate Limiting
      • Boundary Service
        • Migrate Old Boundary Data - Steps
      • Email Notification Service
      • Encryption Service
        • Encryption Client Library
        • User Data Security Architecture
        • Guidelines for supporting User Privacy in a module
      • FileStore Service
      • ID Generation Service
      • Indexer Service
        • Indexer Configuration
      • Internal Gateway
      • Location
      • Localization Service
        • Configuring Localization
          • Setup Base Product Localisation
          • Configure SMS and Email
      • MDMS V2 (Master Data Management Service)
        • Adopt New MDMS - Steps
        • MDMS (Master Data Management Service)
          • Setting up Master Data
            • MDMS Overview
            • MDMS Rewritten
            • Configuring Tenants
            • Configuring Master Data
            • Adding New Master
            • State Level Vs City Level Master
        • MDMS Migration
      • OTP Service
      • Payment Gateway Service
      • PDF Generation Service
      • Persister Service
        • Persister Configuration
      • Service Request
      • SMS Notification Service
        • Setting Up SMS Gateway
          • Using The Generic GET & POST SMS Gateway Interface
      • User
        • User Session Management
      • User OTP Service
      • URL Shortening Service
      • Workflow
        • Setting Up Workflows
        • Configuring Workflows For An Entity
        • Workflow Auto Escalation
        • Migration To Workflow 2.0
      • Libraries
        • Tracer Library
        • Encryption Client
      • Accelerators
        • Inbox Service
    • DIGIT: How-Tos
      • SMS Template Approval Process
      • Notification Enhancement Based On Different Channel
    • Releases
      • DIGIT 2.9 LTS
        • Test Automation
        • Release Checklist
        • Service Build Updates
          • Hotfix
        • Test Cases
        • Automated DIGIT Deployment
        • Upgrade Guide: Transitioning DIGIT Modules to Spring Boot Version 3.2.2
        • Postgres Upgrade: Service Code Changes
        • Updating RDS Version in AWS
        • LTS DIGIT Migration - v2.8 To v2.9
        • Changelog
        • Backup PostgreSQL Database In AWS - Steps
    • Source Code
  • 📓Guides
    • Installation Guide
      • Infrastructure Setup
        • AWS
          • 1. Pre-requisites
          • 2. Setup AWS Account
          • 3. Provision Infrastructure
          • FAQ
        • Azure
          • 1. Azure Pre-requisites
          • 2. Understanding AKS
          • 3. Infra-as-code (Terraform)
        • SDC
          • 1. SDC Pre-requisites
          • 2. Infra-as-code (Kubespray)
          • CI/CD Setup On SDC
        • CI/CD Set Up
          • CI/CD Build Job Pipeline Setup
      • DIGIT Deployment
        • Full Deployment
          • Deploy DIGIT
            • Prepare Deployment Configuration
        • Full Deployment (Beta)
          • Creating New HelmChart
          • Prepare Helm Release Chart
      • Quick Setup (AWS)
    • Data Setup Guide
      • Bootstrap DIGIT
      • Productionize DIGIT
      • User Module
      • Localisation Module
      • Location Module
      • MDMS - V2
    • Design Guide
      • Model Requirements
      • Design Services
      • Design User Interface
      • Checklists
    • Developer Guide
      • Pre-requisites Training Resources
      • Backend Developer Guide
        • Section 0: Prep
          • Development Pre-requisites
          • Design Inputs
            • High Level Design
            • Low Level Design
          • Development Environment Setup
        • Section 1: Create Project
          • Generate Project Using API Specs
          • Create Database
          • Configure Application Properties
          • Import Core Models
          • Implement Repository Layer
          • Create Validation & Enrichment Layers
          • Implement Service Layer
          • Build The Web Layer
        • Section 2: Integrate Persister & Kafka
          • Add Kafka Configuration
          • Implement Kafka Producer & Consumer
          • Add Persister Configuration
          • Enable Signed Audit
        • Section 3: Integrate Microservices
          • Integrate IDGen Service
          • Integrate User Service
          • Add MDMS Configuration
          • Integrate MDMS Service
          • Add Workflow Configuration
          • Integrate Workflow Service
          • Integrate URL Shortener Service
        • Section 4: Integrate Billing & Payment
          • Custom Calculator Service
          • Integrate Calculator Service
          • Payment Back Update
        • Section 5: Other Advanced Integrations
          • Add Indexer Configuration
          • Certificate Generation
        • Section 6: Run Final Application
        • Section 7: Build & Deploy Instructions
        • FAQs
      • UI Developer Guide
        • DIGIT-UI
          • UI Components Standardisation
            • DIGIT UI Core React Components
            • DIGIT UI Core Flutter Components
              • Input Field
              • Radio
              • Toggle
              • Button
              • Dropdown
              • Checkbox
              • Toast
              • Info Card
            • DIGIT UI Components v0.2.0
              • Foundation
                • Typography
                • Colour Pallete
                • Spacer
              • Atom
                • Accordion
                • Button
                • Checkbox
        • DIGIT UI Development Pre-requisites
        • UI Configuration (DevOps)
        • Local Development Setup
        • Run Application
        • Build & Deploy
        • Pre-defined Screens In DIGIT-UI
          • Create Screen (FormComposer)
          • Inbox/Search Screen
          • Workflow Component
        • Create a New UI Module/Package
          • Project Structure
          • Install Dependency
          • Module.js
          • Import Required Components
          • Common Hooks
        • Employee Module Setup
          • Write Employee Module Code
          • Create Form - Create Screen
        • Citizen Module Setup
          • Sample screenshots
          • Citizen Landing Screen
          • Write Citizen Module Code
        • Customisation
          • Integrate External Web Application/UI With DIGIT UI
          • Utility - Pre-Process MDMS Configuration
          • CSS Customisation
          • Kibana Dashboard Integration With DSS Module
          • Login Page
        • Setup Monitoring Tools
        • Android Web View & How To Generate APK
        • FAQs
          • Troubleshoot Using Browser Network Tab
          • Debug Android App Using Chrome Browser
      • Flutter (Mobile App) UI Developer Guide
        • Introduction to Flutter
          • Flutter - Key Features
          • Flutter Architecture & Approach
          • Flutter Pre-Requisites
        • Setup Development Environment
          • Flutter Installation & Setup Guide
          • Setup Device Emulators/Simulators
          • Run Application
        • Build User Interfaces
          • Create Form Screen
        • Build Deploy & Publish
          • Build & Deploy Flutter Web Application
          • Generate Android APKs & App Bundles
          • Publishing App Bundle To Play Store
        • State Management With Provider & Bloc
          • Provider State Management
          • BloC State Management
        • Best Practices & Tips
        • Troubleshooting
    • Operations Guide
      • DIGIT - Infra Overview
      • Kubernetes
        • RBAC Management
        • Database Dump - Playground
      • Setup Jenkins - Docker way
      • GitOps
        • Git Client installation
        • GitHub organization creation
        • Adding new SSH key to it
        • GitHub repo creation
        • GitHub Team creation
        • Enabling Branch protection:
        • CODEOWNER Reviewers
        • Adding Users to the Git
        • Setting up an OAuth with GitHub
        • Fork (Fork the mdms,config repo with a tenant-specific branch)
      • Working with Kubernetes
        • Installation of Kubectl
      • Containerizing application using Docker
        • Creation of Dockerhub account
      • Infra Provisioning Using Terraform
        • Installation of Terraform
      • Customise Existing Terraform Templates
      • Cert-Manager
        • Obtaining SSL certificates with the help of cluster-issuer
      • Moving Docker Images
      • Pre and post deployment checklist
      • Multi-tenancy Setup
      • Availability
        • Infrastructure
        • Backbone services
          • Database
          • Kafka
          • Kafka Connect
          • Elastic search
            • Elastic Search Rolling Upgrade
            • ElasticSearch Direct Upgrade
        • Core services
        • DIGIT apps
        • DSS dashboard
      • Observability
        • ES-Curator - Clear Old Logs/indices
        • Monitoring
        • Environment Changes
        • Tracing
        • Jaeger Tracing Setup
        • Logging
        • eGov Monitoring & Alerting Setup
        • eGov Logging Setup
      • Performance
        • What to monitor?
          • Infrastructure
          • Backbone services
          • Core services
        • Identifying bottlenecks
        • Solutions
      • Handling errors
      • Security
      • Reliability and disaster recovery
      • Privacy
      • Skillsets/hiring
      • Incident management processes
      • Kafka Troubleshooting Guide
        • How to clean up Kafka logs
        • How to change or reset consumer offset in Kafka?
      • SRE Rituals
      • FAQs
        • I am unable to login to the citizen or employee portal. The UI shows a spinner.
        • My DSS dashboard is not reflecting accurate numbers? What can I do?
      • Deployment using helm
        • Helm Installation
        • Helm chart creation
        • Helm chart customization
      • How to Dump Elasticsearch Indexes
      • Deploy Nginx-Ingress-Controller
      • Deployment Job Pipeline Setup
      • OAuth2-Proxy Setup
      • Jira Ticket Creation
    • Implementation Guide
    • Security & Privacy Guide
      • Security & Privacy Guidelines For Product Developers
      • Security & Privacy Guidelines For Solution Implementing Agencies
      • Security & Privacy Guidelines For Program Owners
  • 🚀Accelerators
    • UI Frameworks
      • Service Build Updates
    • Integrations
      • Payment
      • Notification
      • Transaction
      • Verification
      • View
      • Calculation
    • Concepts
      • Deployment - Key Concepts
        • Security Practices
        • Readiness & Liveness
        • Resource Requests & Limits
        • Deploying DIGIT Services
        • Deployment Architecture
        • Routing Traffic
        • Backbone Deployment
    • API Playground
    • Sandbox
    • Checklists
      • API Checklist
      • Security Checklist
        • Security Guidelines Handbook
        • Security Flow - Exemplar
      • Performance Checklist
      • Deployment Checklist
    • Contribute
    • Discussion Board
    • Academy
    • Events
Powered by GitBook

All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.

On this page
  • Overview
  • Pre-requisites
  • Steps
  • Additional Notes
  • Test Automation - Localization Service
  • Test Automation - Egov-OTP Services
  • Test Automation - MDMS Service
  • Test Automation - URL Shortening Service
  • Test Automation - egov-location Service
  • Test Automation - access-control Service
  • Test Automation - Filestore Service
  • Test Automation - egov- Idgen Service
  • Test Automation - Workflow Service
  • Test Automation - Encryption Service

Was this helpful?

  1. Platform
  2. Releases
  3. DIGIT 2.9 LTS

Test Automation

PreviousDIGIT 2.9 LTSNextRelease Checklist

Last updated 1 year ago

Was this helpful?

Overview

A comprehensive guide on running automated test scripts for various core services.

Pre-requisites

Before initiating automating DIGIT- LTS core services, ensure the Postman tool is installed.

Create an environment in Postman with a global variable BaseUrl and set its value per your environment configuration. For example - we have set https://digit-lts.digit.org as the base URL.

Import all the services you want to automate in the same environment.

Note:- It is mandatory to run the automated script for user services, As User collection includes requests to create users, a crucial step as access to all resources requires a user.

Steps

Follow the steps below to run the egov-User service automation scripts.

1. Import user collection: Copy the User collection link from the provided document link: and import the collection in Postman.

2. Port forward to DIGIT-LTS environment: Replace [userPod] with the relevant user pod name.

kubectl port-forward [userPod] 8081:8080 -n egov

Port-forward to the DIGIT-LTS environment to create the first user using the command above.

3. Run the user collection: Click on the link to download the CSV file. Make sure to download the file in CSV format before proceeding with the User collection.

In the CSV file, each cell in the first row UserFIRST, UserName2, and UserName3 represents a unique user and each cell in the second row represents a name given to a specific user.

For example: The first cell in the first row that is UserFIRST represents the first user and USERDemoM1 represents the name given to user UserFIRST.

UserFIRST
UserName2
UserName3

USERDemoM1

EGOvDemoM2

EGOvDemoM3

Open the User collection in Postman and click on the Run button.

Select CSV file - Select the downloaded CSV file by clicking on the Select File button.

Click on the Run User button to execute the collection.

Due to the uniqueness constraint on usernames, you cannot create duplicate users with the same username.

IMPORTANT: To avoid errors when executing the User collection multiple times in the same environment, remember to modify the username in the CSV file for each execution.\

Additional Notes

  • The provided steps automate the creation of users in the DIGIT-LTS environment, which is essential for accessing all resources.

  • Review and modify the CSV file as needed to include accurate user data.

  • For further assistance or troubleshooting, refer to the Postman documentation or contact the relevant support channels.

  • By following these steps, you can effectively automate the core services of DIGIT-LTS, starting with the User service, using Postman.

Test Automation - Localization Service

  1. Run localization Collection in Postman: Open the localization collection in Postman by clicking on localization collection. Click on the Run button to execute the collection.

  2. Select CSV File: When prompted, click on the Select File button to select the downloaded CSV file.

  3. Run Collection: After selecting the CSV file, click on the Run Collection button to execute the collection.

In the CSV file, code1 represents the specific code for creating the message in the locale1.

The message "Punjab water park" is created in the locale/region/mohalla. A unique code "Alpha pgr 1" is associated with the created message.

code1
locale1

Alpha pgr 1

Punjab water park

Note: Ensure that if running the Localization collection multiple times within the same environment, you change the locale and code within the CSV file each time.

The locale column in the CSV file represents the place/area to create the message (mandatory).

The code column represents the unique code associated with the message.

The above steps automate the localization services using Postman.

Test Automation - Egov-OTP Services

1. Import Egov OTP Collection into Postman:

  • Open Postman and import the collection.

2. To Run Egov OTP Collection in Postman:

  • Click on the Egov OTP collection in Postman to open the collection.

  • Click on the Run button to execute the collection.

  • Click on the Run Collection button to execute the collection.

Test Automation - MDMS Service

1. Import MDMS Collection into Postman:

  • Open Postman and import the collection.

2. To run the MDMS Collection in Postman:

  • Open the MDMS collection in Postman by clicking on MDMS collection.

  • Click on the Run button to execute the collection.

  • Click on the Run Collection button to execute the collection.

Test Automation - URL Shortening Service

1. Import Url shortening Collection into Postman:

  • Open Postman and import the collection.

2. To run the URL - shortening collection in Postman:

  • Open the URL shortening collection in Postman by clicking on the URL shortening collection.

  • Click on the Run button to execute the collection.

  • Click on the Run Collection button to execute the collection.\

Test Automation - egov-location Service

1. Import Location Collection into Postman:

  • Open Postman and import the collection.

2. To run Location Collection in Postman:

  • Open the Location collection in Postman by clicking on Location collection.

  • Click on the Run button to execute the collection.

  • Click on the Run Collection button to execute the collection.

Test Automation - access-control Service

1. Import Access control Collection into Postman:

  • Open Postman and import the collection.

2. To run the Access Control collection in Postman:

  • Open the Access Control collection in Postman by clicking on Access Control collection.

  • Click on the Run button to execute the collection.

  • Click on the Run Collection button to execute the collection.

Test Automation - Filestore Service

1. Import Filestore Collection into Postman:

  • Open Postman and import the collection.

2. To run Filestore Collection in Postman:

  • Open the Filestore collection in Postman by clicking on the Filestore collection.

  • Click on the Run button to execute the collection.

  • Click on the Run Collection button to execute the collection.

Test Automation - egov- Idgen Service

1. Import the ID gen Collection into Postman:

  • Open Postman and import the collection.

2. To Run Id gen Collection in Postman:

  • Open the Id gen collection in Postman by clicking on Id gen collection.

  • Click on the "Run" button to execute the collection.

  • Click on the "Run Collection" button to execute the collection.

Test Automation - Workflow Service

1. Importing WorkFlow Collection:

2. Running the WorkFlow Collection:

  • Open the WorkFlow collection in Postman and click on the Run button.

  • Select the downloaded CSV file by clicking on the Select File button.

  • Click on the Run Workflow button to execute the collection.

Additionally, you must update the columns BusinessIdFirst and BusinessIdTwo in your application for a successful transition.

IMPORTANT: If you execute the WorkFlow collection multiple times in the same environment, it's essential to rename the services listed under the columns BUSINESSSERVICE, BUSINESSSERVICETHIRD, and BUSINESSSERVICEFOURTH in the CSV file for each execution to avoid conflicts.

Additional Notes: You can also modify other columns but not mandatory.

Note: if you are getting error in the transition folder of workflow collection, then change CSV file data and run individual folder (don't run whole Workflow collection) to avoid error.

Test Automation - Encryption Service

1. Importing Encryption Collection:

2. Port Forwarding to Digit-LTS Environment:

  • Port-forward to the Digit-LTS environment to decrypt the Encrypted data. Use the following command:

  • kubectl port-forward [Encryption] 8081:8080-n egov

  • Replace [Encryption] with the relevant Encryption pod name.

3. Running the Encryption Collection:

In CSV file , cell in first row "UserForEncy" represents unique user and cell in second row "EncUser1" represent name given to specific user.

UserForEncy

EncUser1

  • Open the User collection in Postman and click on the Run button.

  • Select the downloaded CSV file by clicking on the Select File button.

  • Click on the Run EncyptionApi button to execute the collection.

IMPORTANT: When executing the Encryption collection more than once in the same environment, it is essential to modify the username in the CSV file for every run. This ensures the newly created user has the necessary permissions to encrypt and decrypt data.

Import Localization Collection into Postman: and copy the localization collection link (available in column B of the sheet). Open the Postman and import the collection.

Prepare CSV File: to download the CSV file. Make sure the CSV file is in the correct format.

to open the document and copy the Egov OTP collection link

to open the document and copy the MDMS collection link.

to open the document and copy the URL shortening collection link.

to open the document and copy the location collection link.

to open the document and copy the Access Control collection link.

to open the document and copy the Filestore collection link.

to open the document and copy the ID-gen collection link.

Before executing the Id gen collection, download the CSV file from in CSV format.

to open the document, copy the Workflow collection link and import the Workflow collection into Postman.

to download the CSV file before executing the WorkFlow collection.

to open the document, copy the Encryption collection link and import the collection into Postman.

to download the CSV file before executing the Encryption collection.

🖥️
Collection Document
Download CSV
Click here
Click here
Click here
Click here
Click here
Click here
Click here
Click here
Click here
https://docs.google.com/spreadsheets/d/1bB3R5faJFfRC0cGZbtPBhv1bmKm_MsH1upnuC3s2hso/edit?usp=sharing
Click here
Click here
Click here
Click here