Exemplo n.º 1
0
 def connect(self, login):
     if not self._app_driver:
         api = ApiType.tcl  #python
         loger = self._parent._logger
         spirentDir = 'C:\Program Files (x86)\Spirent Communications\Spirent TestCenter ' + login
         self._app_driver = init_stc(api, loger, spirentDir)  # type :StcApp
         self._app_driver.connect(self._parent._server_host)
Exemplo n.º 2
0
def stc(logger: logging.Logger, api: ApiType, server_properties: dict) -> Iterable[StcApp]:
    """Yields connected STC object."""
    install_dir = server_properties["install_dir"]
    reset_server, rest_port = server_properties["server"].split(":")
    stc = init_stc(api, logger, install_dir, reset_server, rest_port)
    lab_server = server_properties.get("lab_server")
    stc.connect(lab_server)
    yield stc
    stc.disconnect()
Exemplo n.º 3
0
 def setup(self):
     logger = logging.getLogger('log')
     logger.setLevel('DEBUG')
     logger.addHandler(logging.StreamHandler(sys.stdout))
     self.stc = init_stc(api,
                         logger,
                         install_dir=install_dir,
                         rest_server=rest_server,
                         rest_port=rest_port)
     self.stc.connect(lab_server)
Exemplo n.º 4
0
    def setup(self):

        super(TestStcBase, self).setup()

        logging.basicConfig(level=self.config.get('Logging', 'level'))
        logging.getLogger().addHandler(logging.FileHandler(self.config.get('Logging', 'file_name')))
        super(TestStcBase, self).setup()
        self.stc = init_stc(self.api, self.logger, self.config.get('STC', 'install_dir'), self.server_ip,
                            self.server_port)
        log_level = self.config.get('STC', 'log_level')
        self.stc.system.get_child('automationoptions').set_attributes(LogLevel=log_level)
        self.stc.connect(self.ls)
    def initialize(self, context, logger):

        service = STC_Controller_Shell_2G.create_from_context(context)
        super().initialize(context, logger, service)

        controller = self.service.address
        port = self.service.controller_tcp_port if self.service.controller_tcp_port else "8888"
        self.stc = init_stc(ApiType.rest,
                            self.logger,
                            rest_server=controller,
                            rest_port=int(port))
        self.stc.connect()
Exemplo n.º 6
0
 def setUp(self):
     super(StcTestBase, self).setUp()
     self.stc = init_stc(ApiType[self.config.get('STC', 'api')],
                         self.logger, self.config.get('STC', 'install_dir'),
                         self.config.get('STC', 'rest_server'),
                         self.config.get('STC', 'rest_port'))
     log_level = self.config.get('STC', 'log_level')
     self.stc.system.get_child('automationoptions').set_attributes(
         LogLevel=log_level)
     lab_server = None if self.config.get(
         'STC', 'lab_server') == 'None' else self.config.get(
             'STC', 'lab_server')
     self.stc.connect(lab_server)
Exemplo n.º 7
0
    def initialize(self, context, logger):
        """
        :type context: cloudshell.shell.core.driver_context.InitCommandContext
        """

        self.logger = logger

        client_install_path = context.resource.attributes[
            'Client Install Path']
        controller = context.resource.attributes['Controller Address']
        lab_server = controller if controller else None
        self.stc = init_stc(ApiType.tcl, self.logger, client_install_path,
                            lab_server)
        self.stc.connect(lab_server)
Exemplo n.º 8
0
    def initialize(self, context, logger):

        self.logger = logger
        logging.basicConfig(level=logging.DEBUG)
        logging.getLogger().addHandler(
            logging.FileHandler(self.logger.handlers[0].baseFilename))

        controller = context.resource.attributes['Controller Address']
        port = context.resource.attributes['Controller TCP Port']
        port = int(port) if port else 8888
        self.stc = init_stc(ApiType.rest,
                            self.logger,
                            rest_server=controller,
                            rest_port=port)
        self.stc.connect()
Exemplo n.º 9
0
    def setUp(self):

        # To support non pytest runners.
        try:
            self.api = ApiType[pytest.config.getoption('--api')]  # @UndefinedVariable
        except Exception as _:
            self.api = ApiType[TgnTest.config.get('Server', 'api')]

        logging.basicConfig(level=self.config.get('Logging', 'level'))
        logging.getLogger().addHandler(logging.FileHandler(self.config.get('Logging', 'file_name')))
        super(StcTestBase, self).setUp()
        self.stc = init_stc(self.api, self.logger, self.config.get('STC', 'install_dir'),
                            self.config.get('Server', 'rest_server'), self.config.get('Server', 'rest_port'))
        log_level = self.config.get('STC', 'log_level')
        self.stc.system.get_child('automationoptions').set_attributes(LogLevel=log_level)
        ls = None if self.config.get('Server', 'lab_server') == 'None' else self.config.get('Server', 'lab_server')
        self.stc.connect(ls)
Exemplo n.º 10
0
    def load_inventory(self,
                       context: AutoLoadCommandContext) -> AutoLoadDetails:
        """Return device structure with all standard attributes."""
        controller = self.resource.controller_address
        self.logger.debug(f"Controller - {controller}")
        port = self.resource.controller_tcp_port
        port = int(port) if port else 80
        self.logger.debug(f"Port - {port}")
        self.stc = init_stc(ApiType.rest,
                            self.logger,
                            rest_server=controller,
                            rest_port=port)
        self.stc.connect()

        chassis = self.stc.hw.get_chassis(context.resource.address)
        chassis.get_inventory()
        self._load_chassis(chassis)
        return self.resource.create_autoload_details()
Exemplo n.º 11
0
            for port_name, port in port_group.ports.items():
                print(f"\t\t\t{port_name}")
                print(f"\t\t\t{port.attributes}")
    for power_supply_name in chassis.pss:
        print(f"\t{power_supply_name}")

    print("\nThin Inventory")
    print("=" * len("Thin Inventory"))
    for module_name, module in chassis.get_thin_inventory().items():
        print(module_name)
        for port_name in module.ports:
            print(port_name)


if __name__ == "__main__":
    stc = init_stc(api,
                   logger,
                   install_dir=INSTALL_DIR,
                   rest_server=REST_SERVER,
                   rest_port=REST_PORT)
    stc.connect(LAB_SERVER)
    stc.load_config(stc_config_file.as_posix())
    stc.api.apply()
    access_object()
    get_set_attribute()
    get_inventory()
    reserve_ports()
    manage_devices()
    manage_traffic()
    stc.disconnect(terminate=False)