cnr-ibf-pa / hbp-bsp-issues

Ticketing system for developers/testers and power users of the Brain Simulation Platform of the Human Brain Project
4 stars 0 forks source link

Add folder/file check on uploaded optimization .zip file in hhnb #432

Closed lbologna closed 4 years ago

lbologna commented 5 years ago

Use Case Update

Aspect Detail
Summary Perform a check on the files and folders contained in the optimization .zip file uploaded by the user in the hhnb workflow
Expert @lbologna
Deadline M18
Dependencies None

List of additional/changed features

This update will be quasi-transparent for the user, in that this check will be performed in the backend, once the file is uploaded. Both in an unsuccessful (a problem arises) and successfull (the .zip file is well formatted) case, a message box will notify the user.

Tasks

Acceptance Criteria

The user is notified after the .zip file is uploaded for both well formatted and badly formatted files.

lbologna commented 4 years ago

Hello, the points in the list reported below are now verified when a model .zip file is uploaded by the user. For testing purposes, I prepared an set of sample .zip files for which the verification should give negative results (+ one 'good' example). Here's the link to the google drive folder: https://drive.google.com/drive/folders/1gCA7Pi7NsR5Rok9mbaQO64m77FaoeeaC?usp=sharing

@alex4200 could you please check and let me know if something is not working properly? Here's the link to the "dev" app: https://collab.humanbrainproject.eu/#/collab/1256/nav/29703 Thank you.

=========================== 1) the model .zip file must contain a folder having its same name (e.g. 'test.zip' must contain a model folder named 'test')

2) the model (unzipped) folder must contain the following subfolders: "config", "checkpoints", "figures", "mechanisms", "model", "morphology", "tools" and files "opt_neuron.py" and "init.py""

3) folder 'config' must contain fles "features.json", "morph.json", "parameters.json", "protocols.json" and they all must contain a dictionary with one key-value pair. The key must be the same for all the .json files.

4) line 75 in file 'opt_neuron.py' must contain the same key of the .json files described in point 3)

5) folder 'mechanisms' must contain only .mod files and must not be empty

6) folder 'model' must contain files: "init.py", "analysis.py", "evaluator.py", "template.py"

7) folder 'tools' must contain files: "get_stats.py", "task_stats.py"

8) folder 'morphology' must contain only one file

9) the files contained in folder 'morphology' must have the same name as the key in file "morph.json" in the 'config' folder

alex4200 commented 4 years ago

@lbologna The test of the new check were fine in DEV. I suggest you update the application in production. Then I do a final test.

lbologna commented 4 years ago

@alex4200 production updated. Thanks.

alex4200 commented 4 years ago

Tested in prod, ticket closed