# ste-test-dal

Test Project for the Internal Platform Service DAL.

This repository contains automated API tests for the Internal Platform Service DAL.

# Overview

- The DAL is an abstraction on top of the mongoDB.pluto_main mongoDB.
- We have a lot of users for the DB and are not able to appropriately control the usage, upgrade the schemas and data
  and the type of the storage or separate the DB.
- Hence the need to move the usage of the DB from direct mongo access to through DAL service.

- DAL service will contain also some business layer logic encapsulated which is used among other services, e.g.: which
  channels/episodes are active.

- DAL will provide general methods to make it easier to get the data from the mongo DB from the client service which are
  using the DAL.

- DAL is a central point of usage of mongoDB.pluto_main which is provide visibility, flexibility on structural change
  sand optimizations.

# Documentation

DAL documentation can be found here:

https://paramount.atlassian.net/wiki/spaces/ISPTV/pages/263689535/DAL+-+Service+DAL+-+Internal+Platform

# Pre-requisites

- JDK 17
- Maven 3.6 (or higher)
- IntelliJ IDEA 18.3 (or higher)
- TestNG
- Configure your settings.xml to access mirror https://nexus.mtvi.com

# Run tests locally

Use TestNG and VM options `-ea -Dapp.url=service-dal-use1-1.nonprd.pluto.tv -DxmlFileName=testng.xml`.
All available environments can be found in projectconfig.properties.

# Run tests locally with a maven command:

1. Navigate to the integration-test directory of the project.
2. Run : `mvn test clean -Dapp.url=service-dal-use1-1.nonprd.pluto.tv -DxmlFileName=testng.xml`

# Useful links:

- Test Rail Overview - https://paramount.testrail.io/index.php?/projects/overview/360
- Git project - https://github.com/Pluto-tv/service-dal

# Contacts

- Oleksandr Melikhov - oleksandr.melikhov@pluto.tv
- Santiago González - santiago.gonzalez@pluto.tv
- Susmita Bal - susmita.bal@pluto.tv