Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MOSIP-37793 - Update the Readme file #1676

Merged
merged 10 commits into from
Nov 26, 2024
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)