cms-PdmV / cmsPdmV

CERN CMS McM repository
4 stars 10 forks source link

Test environment and first test cases #1128

Closed ggonzr closed 7 months ago

ggonzr commented 7 months ago

This solves the elements 1, 2, and 3 related to: #1124

Summary (details on each commit message):

  1. Build and deploy the McM application based on the branch's code.
  2. Configure a minimum sample dataset to run the application.
  3. Include some helper modules for coding the test cases and include constraints on the minimum test cases required.
  4. Include a test suite to check the Campaign API.
  5. Update the GitHub Action workflow to execute the test suite.
ggonzr commented 7 months ago

What does the test data contain and how is it obtained? I think this should be documented somewhere.

The DB dump used on this test is stored in /eos and provided via CERNBox (I will share you and our users the public download URL internally). I created it using as a base the data from the development instance. It includes all the databases but with its content empty. The only exception for this is a database called settings. For this database, I left most of the values untouched but I had to censor all the ones related to user e-mails and internal nodes. If this schema (all the databases in general) is not included, the McM application will automatically crash (yeah, unfortunately, it is not possible to test the application without including the DB at the same time, removing this dependency should be a task for the future).

lmoureaux commented 7 months ago

The DB dump used on this test is stored in /eos and provided via CERNBox (I will share you and our users the public download URL internally). I created it using as a base the data from the development instance. It includes all the databases but with its content empty.

If it doesn't contain any sensitive data, why do we need to keep it private?

ggonzr commented 7 months ago

The DB dump used on this test is stored in /eos and provided via CERNBox (I will share you and our users the public download URL internally). I created it using as a base the data from the development instance. It includes all the databases but with its content empty.

If it doesn't contain any sensitive data, why do we need to keep it private?

Indeed, it doesn't have any sensitive data but I don't want to expose download links here in GitHub.