Skip to content

Jalmeida1994/GatherChain-Testing

Repository files navigation

Contributors Forks Stargazers Issues LinkedIn


Logo

GatherChain Tests

Testing scripts for the GatherChain solution.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contact
  5. Acknowledgements

About The Project

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:

This repository just hosts the stress and usability tests of the GatherChain solution.

Built With

Getting Started

In this section it'll be shown how to get started with the Stress Tests.

Prerequisites

Installation

  1. Clone the repo

    git clone https://github.com/Jalmeida1994/GatherChain-Testing.git
    
  2. 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.

  3. Initialize the blockchain network if not already running with init.sh

    ./commands/init.sh ${adminPassword}
    

Usage

Testing

In testing is leveraged the time function. To know more check the following link.

  1. To test the test1.sh that consists in 3 users registrations, 1 group creation and some commit pushes, in a sequencial order

    time ./commands/test1.sh
    
  2. To test the test2.sh that consists in 6 users registrations, 2 group creation and more commit pushes, in a sequencial order

    time ./commands/test2.sh
    
  3. To test the test3.sh that consists in 6 users registrations, 2 group creation and even more commit pushes, in a parallel order

    time ./commands/test3.sh
    
  4. 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 order

    time ./commands/test4.sh ${numberOfCommits}
    

Cleanup

To clear all solution (blockchain network and cache) use clear.sh

./commands/clear.sh

Contact

João Almeida - @João Almeida - jcfd.almeida@campus.fct.unl.pt

Project Link: https://github.com/Jalmeida1994/GatherChain-Testing

Acknowledgements

About

Testing scripts for the GatherChain solution.

Topics

Resources

Stars

Watchers

Forks

Languages