Skip to content

Commit

Permalink
Merge pull request #1676 from mohanachandran-s/develop
Browse files Browse the repository at this point in the history
MOSIP-37793 - Update the Readme file
  • Loading branch information
mohanachandran-s authored Nov 26, 2024
2 parents 58e7a35 + 3c8e1fb commit ce0a0af
Show file tree
Hide file tree
Showing 2 changed files with 118 additions and 33 deletions.
58 changes: 27 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,43 @@
# MOSIP Functional Tests

## Overview
The **`mosip-functional-tests`** repository contains the reusable **`apitest-commons`** library, which simplifies API testing with pre-built utilities and helpers. The **`apitest-commons`** can be used as a dependency in POM files for MOSIP testrigs of all the modules and can consume the reusable codes.

The API Test Rig Commons is a shared code base that is used for the execution of module-wise automation API tests. This uses Java REST Assured and TestNG frameworks to automate testing for different modules like Pre-registration, Masterdata, Partner Management, PMS, ID Repository, IDA, Resident, E-Signet, and Mimoto.
---

## Pre-requisites
## Repository Structure

Ensure the following software is installed on the machine from where the automation tests will be executed:
This repository consists of:
1. **`apitest-commons`**:
- A reusable library for API testing.
- Released independently to [Maven Central](https://search.maven.org/) under the artifact ID `apitest-commons`.
- Includes its own [README](apitest-commons/README.md) for detailed instructions on setup and usage.

- Java 21
- Maven 3.9.6 or higher
- Lombok (Refer to [Lombok Project](https://projectlombok.org/))
---

### For Windows
## Prerequisites

- Git Bash 2.18.0 or higher
- `settings.xml` needs to be present in the `.m2` folder.
To use this repository, ensure you have:
- **Java 21** ([download here](https://jdk.java.net/)).
- **Maven 3.9.6** or higher ([installation guide](https://maven.apache.org/install.html)).
- Access to necessary MOSIP services or mocked test environments.

### For Linux
---

- `settings.xml` file needs to be present in two places:
- Regular Maven conf folder
- Copy the same `settings.xml` under `/usr/local/maven/conf`
## Apitest Commons

## Access Test Automation Code
### Setting Up and Building the Project
- Refer to the ReadMe file [README](apitest-commons/README.md)

### From Browser
### Using it as dependency in the Project
- Add the following dependency in the POM of required project
```sh
<dependency>
<groupId>io.mosip.testrig.apirig.apitest.commons</groupId>
<artifactId>apitest-commons</artifactId>
<version>1.3.0</version>
</dependency>

1. Clone or download the repository as a zip file from [GitHub](https://github.com/mosip/mosip-functional-tests).
2. Unzip the contents.
3. Continue with the steps below from a terminal (Linux) or command prompt (Windows).

### From Git Bash

1. Copy the git link: `https://github.com/mosip/mosip-functional-tests`
2. On your local system, open Git Bash at any location.
3. Run the following command:
```sh
git clone https://github.com/mosip/mosip-functional-tests

## Build Test Automation Code
1. cd ../apitest-commons
2. `mvn clean install -Dgpg.skip=true -Dmaven.gitcommitid.skip=true`
---

## License
This project is licensed under the terms of [Mozilla Public License 2.0](https://github.com/mosip/mosip-platform/blob/master/LICENSE)
93 changes: 91 additions & 2 deletions apitest-commons/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,92 @@
# Automation test
# API Test Commons

All automation test code.
## Overview

The API Test Commons is a shared codebase used for executing module-wise automation API tests. It utilizes Java REST Assured and TestNG frameworks to automate testing for various modules, including:
- Pre-registration
- Masterdata
- Partner Management
- PMS
- ID Repository
- IDA
- Resident
- ESignet
- ESignet-signup
- Mimoto
- Inji-Certify

---

## Pre-requisites

Ensure the following software is installed on the machine from where the automation tests will be executed:

- **Java 21** ([download here](https://jdk.java.net/)).
- **Maven 3.9.6** or higher ([installation guide](https://maven.apache.org/install.html)).
- **Lombok** (Refer to [Lombok Project](https://projectlombok.org/))

---

### For Windows

- Git Bash 2.18.0 or higher
- `settings.xml` needs to be present in the `.m2` folder.

### For Linux

- `settings.xml` file needs to be present in two places:
- Regular Maven conf folder
- Copy the same `settings.xml` under `/usr/local/maven/conf`

---

## Access Test Automation Code

### From Browser

1. Clone or download the repository as a zip file from [GitHub](https://github.com/mosip/mosip-functional-tests).
2. Unzip the contents.
3. Continue with the steps below from a terminal (Linux) or command prompt (Windows).

### From Git Bash

1. Copy the git link: `https://github.com/mosip/mosip-functional-tests`
2. Open Git Bash at your desired location on your local systemn.
3. Run the following command to clone the repository:
```sh
git clone https://github.com/mosip/mosip-functional-tests

---

## Update the property file
1. Navigate to the kernel.properties file located at:
```sh
mosip-functional-tests\apitest-commons\src\main\resources\config\kernel.properties
2. Open the file in your preferred editor
3. Update the client secret values and other required credentials as per your environment
---
## Build Test Automation Code
1. From the already opened Git Bash, navigate to the apitest-commons directory:
```sh
cd mosip-functional-tests/apitest-commons/
2. Run the following Maven command:
```sh
mvn clean install -Dgpg.skip=true -Dmaven.gitcommitid.skip=true
---
## Using Apitest Commons as a dependency in the Project
- Add the following dependency in the POM of required project
```sh
<dependency>
<groupId>io.mosip.testrig.apirig.apitest.commons</groupId>
<artifactId>apitest-commons</artifactId>
<version>1.3.0</version>
</dependency>

---

## License
This project is licensed under the terms of [Mozilla Public License 2.0](https://github.com/mosip/mosip-platform/blob/master/LICENSE)

0 comments on commit ce0a0af

Please sign in to comment.