Git Product home page Git Product logo

yashomdighe / npnt-provisional-testing-tool Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ispirt/npnt-provisional-testing-tool

0.0 0.0 0.0 695 KB

A simple and easy tool to perform a basic check of NPNT/ Digital Sky compliance. The App is a checklist to verify basic NPNT work and is limited to NPNT verification, PA, PIN check and Flight log signature Verification.

Python 66.47% HTML 0.55% JavaScript 32.98%

npnt-provisional-testing-tool's Introduction

Digital Sky Provisional Testing App

Python: 3.6

A simple and easy tool to perform a basic check of NPNT/ Digital Sky compliance. The App is a checklist to verify basic NPNT work and is limited to NPNT verification, PA, PIN check and Flight log signature Verification.

Scope of Testing

The test is designed to be a double blind experiment to verify NPNT compliance. The app generates permission artefacts for a specific location (subject to DGCA testing place approval). The application generates various permission artefacts for assessment in a random order. Both the applicant and the testing authority are unaware of which permission artefacts are intended to pass or fail.

This double blind test ensures that the following are checked:

  • Incorrect Geofence check
  • Incorrect time limits check
  • Bad Pilot PIN check
  • Spurious permission artefact check
  • Valid Permission artefact check

Validation

These five test scenarios are the ones which will be tested by the applicant. After the observations of the RPAS behavior on all the scenarios are recorded, the applicant proceeds to check the flight log generation. The Flight log is generated on breaching the geofence set by a valid permission artefact. The Digital signature of the Flight log is then verified against the public key of the drone.

For Developers

The app is written in python 3.6. To run the app, download the repo or clone the repository using

git clone https://github.com/iSPIRT/NPNT-Provisional-testing-tool.git

install the requirements

pip install -r requirements.txt

Run the app

python npnt_testing_app.py

Examples -

Verify a pass case

sign the unsigned_Flight_Log.json in the tests directory using the sample keypair provided. In this case - sample_key_private.pem

from helpers import sign_log
sign_log("tests/unsigned_Flight_Log.json" , "tests/sample_key_private.pem")

This will generate a signed log in the same directory. You can verify the signature using

from helpers import verify_flight_log_signature
result = verify_flight_log_signature("tests/unsigned_Flight_Log-signed.json", "tests/sample_key_public.pem")

simple as that!

npnt-provisional-testing-tool's People

Contributors

mnihalm avatar nihalmm avatar abrbhat avatar sidhantgoel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.