Metadata-Version: 2.1
Name: bps-restpy
Version: 1.0.48
Summary: BreakingPoint REST API Python Wraper
Home-page: https://github.com/OpenIxia/bps_restpy
Author: Keysight ISG BreakingPoint Team
Author-email: constantin.cretu@keysight.com
License: MIT
Description: ## The BreakingPoint RESTv2 API Python Wrapper 
        [![pypi](https://img.shields.io/pypi/v/bps-restpy.svg)](https://pypi.org/project/bps-restpy)
        [![python](https://img.shields.io/pypi/pyversions/bps-restpy.svg)](https://pypi.python.org/pypi/bps-restpy)
        [![license](https://img.shields.io/badge/license-MIT-green.svg)](https://en.wikipedia.org/wiki/MIT_License)
        [![downloads](https://pepy.tech/badge/bps-restpy)](https://pepy.tech/project/bps-restpy)
        
        ## BreakingPoint detail
        Network testing with  [BreakingPointÂ®](https://www.ixiacom.com/products/network-security-testing-breakingpoint). By simulating real-world legitimate traffic, distributed denial of service (DDoS), exploits, malware, and fuzzing, BreakingPoint validates an organizationâ€™s security infrastructure, reduces the risk of network degradation by almost 80%, and increases attack readiness by nearly 70%. And with our new TrafficREWIND solution, you'll get even more realistic and high-fidelity validation by adding production network insight into BreakingPoint test traffic configuration
        More details:
        
        ## Install the package
        ```
        pip install --upgrade bps-restpy
        ```
        
        ## Start scripting
        ```python
        """This script demonstrates how to get started with bps_restpy scripting.
        
        # Title:  Python Script Sample To Run a Canned Test.
        # Actions:
        #   1. Login to BPS box
        #   2. Reserve ports
        #   3. Load a test from the box and start the run
        #   4. Wait for the test to finish
        #   5. Get test result
        #   6. Get and print the Synopsis page from report
        #   7. Unreserve ports
        #   8. Logout
        
        
        #================
        
        ########################################
        import time, sys, os
        # Import corresponding BPS RESTv2 python2.7/ 3 library from outside the folder with samples.
        sys.path.insert(1, os.path.dirname(os.getcwd()))
        
        from bps_restpy.bps import BPS, pp
        
        ########################################
        
        
        ########################################
        # Demo script global variables
        ########################################
        # Demo script global variables
        canned_test_name = 'AppSim'
        #bps system info
        bps_system  = '<BPS_BOX_IP/HOSTNAME>'
        bpsuser     = 'bps user'
        bpspass     = 'bps pass'
        
        
        slot_number = 2
        port_list   = [0, 1]
        
        ########################################
        
        
        ########################################
        # Login to BPS box
        bps = BPS(bps_system, bpsuser, bpspass)
        bps.login()
        
        
        ########################################
        print("Load a canned test: ")
        bps.testmodel.load(canned_test_name)
        
        ########################################
        print("Reserve Ports")
        for p in port_list:
            bps.topology.reserve([{'slot': slot_number, 'port': p, 'group': 2}])
        
        
        ########################################
        print("Run test and Get Stats:")
        test_id_json = bps.testmodel.run(modelname=canned_test_name, group=2)
        testid = str( test_id_json["runid"] )
        run_id = 'TEST-' + testid
        print("Test Run Id: %s"%run_id)
        
        #get the ids for all tests running on the chassis
        runningTests_Ids = [test['id'] for  test in bps.topology.runningTest.get()] 
        #wait while the test is still running
        while run_id in runningTests_Ids:
             run_state =  bps.topology.runningTest[run_id].get()
             #print progress if test started
             try: print ('progress: %s%% , runtime %ss' % (run_state['progress'], run_state['runtime'] ))
             except: print ("Starting...")
             time.sleep(2)
             #update the current running tests
             runningTests_Ids = [test['id'] for  test in bps.topology.runningTest.get()] 
        
        print("~The test finished the execution.")
        results = bps.reports.search(searchString=canned_test_name, limit=10, sort="endTime", sortorder="descending")
        result  = results[0]
        print ("%s execution duration %s ended with status: %s " % (result['name'], result['duration'], result['result']) )
        
        #getting 3.4 Section: Synopsys Summary of Results from the Report
        tabledata = bps.reports.getReportTable(runid=testid, sectionId="3.4")
        pp(tabledata)
        
        print ("Unreserving the ports")
        for p in port_list:
            bps.topology.unreserve([{'slot': slot_number, 'port': p, 'group': 2}])
        
        bps.logout()
        ```
        
        ## Documentation
        DocumentationÂ is available using the following methods:
        * [Online web based documentation and samples](https://github.com/OpenIxia/BreakingPoint)
        * On your BreakingPoint System RestApi found near the BreakingPoint App  
        * Documentation available in the online doc browser is also inlined in each class, property and method and can be viewed using the python help command
          ```python
          from bps_restpy.testplatform.testplatform import TestPlatform
          
          #login to your Breaking Point System
          help(BPS)
          bps = BPS('your_bps_IP_or_FQDN', 'admin', 'admin')
          
          help(bps.testmodel.importModel)
          
          ```
        
        ## Additional Samples
        Visit the [OpenIxiaÂ breakingpoint-restpyÂ sample site maintained by solution architects](https://github.com/OpenIxia/BreakingPoint) forÂ inÂ depthÂ end-to-endÂ samplesÂ thatÂ demonstrateÂ theÂ following:
        * buildingÂ aÂ configuration
          * fromÂ scratch
          * fromÂ anÂ existingÂ BreakingPointÂ configuration
        * runningÂ theÂ configuration
          * connectingÂ portsÂ toÂ hardware
          * startingÂ protocols
          * startingÂ traffic
        * gettingÂ statistics
          * portÂ stats
          * trafficÂ stats
        
        
        
Keywords: bps breakingpoint security network test tool ixia keysight automation
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Requires-Python: >=2.7, <4
Description-Content-Type: text/markdown
