Project Plan - Automated Testing for Climate Emissions Ledger

Project Plan - Automated Testing for Climate Emissions Ledger

Abstract

Develop automated testing framework for climate applications including the Fabric and Ethereum applications.  Improve test coverage by writing additional tests.  Integrate additional emissions calculators including the ThoughtWorks cloud carbon footprint calculator, the WRI GHG emissions spreadsheet, or the Allbirds emissions spreadsheet and add automated tests for them.

Mentor and Mentee

Mentor

Mentor

Mentor

Mentee

Si Chen

US PST

sichen@opensourcestrategies.com

Robin Klemens

CEST

r.klemens@yahoo.de

Kamlesh Nagware

IST

kamlesh.nagware@gmail.com

Harsh Sharma

IST

harshhsharma23@gmail.com

Communication channel: Email on the climate-sig mailing list + Github Tasks

Project repository: https://github.com/hyperledger-labs/blockchain-carbon-accounting/tree/mentorship-automated-testing

Deliverables

1 Structure tests into unit, integration, and functional.  Get all existing tests to work.
2 Integrate tests into GitHub actions pipeline to run on every push to the master branch.
3 Develop additional tests and end-to-end tests.
4 Refactor code to calculate scope 3 emissions factors.
5 Migrate emissions factor data to OrbitDB instead of CouchDB

Milestones

Eval 1:

a All existing tests are working and organized into unit, integration, and functional
b Tests integrated into GitHub actions pipeline.

Eval 2:

c Linting and static code analysis integrated with GitHub actions
d HTML test reports generated for every CI run

Eval 3:

e. CI for Net Emissions Token Network and Datalock chaincode tests
f. Tests added for calculating emissions by year and region

Eval 4:

g. Modify data loader to accept scope 3 emissions factors flat file
h. Use OrbitDB for emissions calculations

Timeline

Week

Task/Plan

Status

Week

Task/Plan

Status

Sep 1 - Sep 5

Initial Project Plan.

Complete

Sep 6 - Sep 20

Introduction to project.  Download the code from the branch and get familiar with the code.  Learn the key functionalities of Hyperledger Fabric.  Structure the already existing tests in unit, integration, and functional.  Get the existing tests to work and check the emissions factors are retrieved for correct year.

Complete

Sep 27 - Oct 4

Integrate the existing tests into GitHub Actions Pipeline, which gets triggered by every PR and Push to the master branch.  

Complete

Oct 4 - Oct 15

Wrap up all tasks prior to Eval 1

Eval 1 on October 15

 

Oct 18 - Nov 1

Add linting and static code analysis checks into the GitHub Actions Pipeline

Complete

 

Nov 1 - Nov 15

Create test reports for every pull request

Complete

Nov 15 - Nov 29

Eval 2 on November 30

 

Nov 29 - Dec 13

Integrate existing tests for the Net Emissions Token Network and Datalock chaincode into the GitHub Actions Pipeline

Complete

Dec 13 - Dec 27

Add additional tests for emissions calculations by year and region, and for checking file integrity

 

Complete

Dec 27 - Jan 10

Remove old chaincode files and change folder structure

Complete

Jan 10 - Jan 24

Eval 3 on January 15

 

Jan 24 - Feb 7

Add local development script to package and test chaincode locally

Complete

Feb 7 - Feb 21

Modify data loader to parse scope 3 emissions file
Migrate databases from CouchDB to OrbitDB for storing emissions factors
Refactor chaincode to calculate emissions using OrbitDB

 

In Progress

Feb 21 - Feb 28

Final evaluation and presentation of project on February 28

 

Tasks

GitHub Issue List