Testing scripts for the GatherChain solution.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
GatherChain is the solution created for my Master Thesis: Tracing Responsibility in Evolution of Model's Life Cycle in Collaborative Projects in Education in the Informatics' Department of NOVA School of Science and Technology made with professor Vasco Amaral's guidance. In the paper, it is proposed a blockchain-based solution for version control of model-driven engineering artefacts. The goal is to facilitate collaboration in a multi-user area,like the education field, and track changes in a trusted and secure manner. This solution is based on using the Hyperledger Fabric Network to govern and regulate file version control functions among students and teachers.
The GatherChain project repositories are:
- GatherChain ARM Template: https://github.com/Jalmeida1994/GatherChain-ARM-Template
- GatherChain Desktop Client: https://github.com/Jalmeida1994/GatherChain-DesktopClient
- GatherChain Web Server: https://github.com/Jalmeida1994/GatherChain-Web-Server
- GatherChain Blockchain Server: https://github.com/Jalmeida1994/GatherChain-BlockChain-Server
- GatherChain Admin Commands: https://github.com/Jalmeida1994/GatherChain-AdminCommands
This repository just hosts the stress and usability tests of the GatherChain solution.
In this section it'll be shown how to get started with the Stress Tests.
-
Clone the repo
git clone https://github.com/Jalmeida1994/GatherChain-Testing.git
-
Change the
weburl.env
file with the URL of the WebApp instantiated during the GatherChain ARM Template phase.export WEB_URL=https://NameOfTheApp.azurewebsites.net
The domain
azurewebsites
is only used if the GatherChain Template was deployed in Azure and if no custom domain was configured in the webapp. -
Initialize the blockchain network if not already running with
init.sh
./commands/init.sh ${adminPassword}
In testing is leveraged the time
function. To know more check the following link.
-
To test the
test1.sh
that consists in 3 users registrations, 1 group creation and some commit pushes, in a sequencial ordertime ./commands/test1.sh
-
To test the
test2.sh
that consists in 6 users registrations, 2 group creation and more commit pushes, in a sequencial ordertime ./commands/test2.sh
-
To test the
test3.sh
that consists in 6 users registrations, 2 group creation and even more commit pushes, in a parallel ordertime ./commands/test3.sh
-
To test the
test4.sh
that consists in 3 users registrations, 1 group creation and a variable number of commit pushes (randomly distributed by the 3 users) received as an argument by the function, in a sequencial ordertime ./commands/test4.sh ${numberOfCommits}
To clear all solution (blockchain network and cache) use clear.sh
./commands/clear.sh
João Almeida - @João Almeida - jcfd.almeida@campus.fct.unl.pt
Project Link: https://github.com/Jalmeida1994/GatherChain-Testing