def test_get_time__str(self): """Test get_time method passing a string as parameter.""" date = get_time("2000-01-01T00:30:00") self.assertEqual(date.year, 2000) self.assertEqual(date.month, 1) self.assertEqual(date.day, 1) self.assertEqual(date.hour, 0) self.assertEqual(date.minute, 30) self.assertEqual(date.second, 0)
def test_get_time__dict(self): """Test get_time method passing a dict as parameter.""" date = get_time({ "year": 2000, "month": 1, "day": 1, "hour": 00, "minute": 30, "second": 00 }) self.assertEqual(date.year, 2000) self.assertEqual(date.month, 1) self.assertEqual(date.day, 1) self.assertEqual(date.hour, 0) self.assertEqual(date.minute, 30) self.assertEqual(date.second, 0)
def __init__(self, dpid, connection=None, features=None): """Contructor of switches have the below parameters. Args: dpid (|DPID|): datapath_id of the switch connection (:class:`~.Connection`): Connection used by switch. features (|features_reply|): FeaturesReply instance. """ self.dpid = dpid self.connection = connection self.features = features self.firstseen = now() self.lastseen = get_time("0001-01-01T00:00:00") self.sent_xid = None self.waiting_for_reply = False self.request_timestamp = 0 #: Dict associating mac addresses to switch ports. #: the key of this dict is a mac_address, and the value is a set #: containing the ports of this switch in which that mac can be #: found. self.mac2port = {} #: This flood_table will keep track of flood packets to avoid over #: flooding on the network. Its key is a hash composed by #: (eth_type, mac_src, mac_dst) and the value is the timestamp of #: the last flood. self.flood_table = {} self.interfaces = {} self.flows = [] self.description = {} self._interface_lock = Lock() if connection: connection.switch = self super().__init__()
def __init__(self, controller, **kwargs): """Create an EVC instance with the provided parameters. Args: id(str): EVC identifier. Whether it's None an ID will be genereted. Only the first 14 bytes passed will be used. name: represents an EVC name.(Required) uni_a (UNI): Endpoint A for User Network Interface.(Required) uni_z (UNI): Endpoint Z for User Network Interface.(Required) start_date(datetime|str): Date when the EVC was registred. Default is now(). end_date(datetime|str): Final date that the EVC will be fineshed. Default is None. bandwidth(int): Bandwidth used by EVC instance. Default is 0. primary_links(list): Primary links used by evc. Default is [] backup_links(list): Backups links used by evc. Default is [] current_path(list): Circuit being used at the moment if this is an active circuit. Default is []. primary_path(list): primary circuit offered to user IF one or more links were provided. Default is []. backup_path(list): backup circuit offered to the user IF one or more links were provided. Default is []. dynamic_backup_path(bool): Enable computer backup path dynamically. Dafault is False. creation_time(datetime|str): datetime when the circuit should be activated. default is now(). enabled(Boolean): attribute to indicate the administrative state; default is False. active(Boolean): attribute to indicate the operational state; default is False. archived(Boolean): indicate the EVC has been deleted and is archived; default is False. owner(str): The EVC owner. Default is None. priority(int): Service level provided in the request. Default is 0. Raises: ValueError: raised when object attributes are invalid. """ self._validate(**kwargs) super().__init__() # required attributes self._id = kwargs.get('id', uuid4().hex)[:14] self.uni_a = kwargs.get('uni_a') self.uni_z = kwargs.get('uni_z') self.name = kwargs.get('name') # optional attributes self.start_date = get_time(kwargs.get('start_date')) or now() self.end_date = get_time(kwargs.get('end_date')) or None self.queue_id = kwargs.get('queue_id', None) self.bandwidth = kwargs.get('bandwidth', 0) self.primary_links = Path(kwargs.get('primary_links', [])) self.backup_links = Path(kwargs.get('backup_links', [])) self.current_path = Path(kwargs.get('current_path', [])) self.primary_path = Path(kwargs.get('primary_path', [])) self.backup_path = Path(kwargs.get('backup_path', [])) self.dynamic_backup_path = kwargs.get('dynamic_backup_path', False) self.creation_time = get_time(kwargs.get('creation_time')) or now() self.owner = kwargs.get('owner', None) self.priority = kwargs.get('priority', 0) self.circuit_scheduler = kwargs.get('circuit_scheduler', []) self.current_links_cache = set() self.primary_links_cache = set() self.backup_links_cache = set() self.lock = Lock() self.archived = kwargs.get('archived', False) self._storehouse = StoreHouse(controller) if kwargs.get('active', False): self.activate() else: self.deactivate() if kwargs.get('enabled', False): self.enable() else: self.disable() # datetime of user request for a EVC (or datetime when object was # created) self.request_time = kwargs.get('request_time', now()) # dict with the user original request (input) self._requested = kwargs
def test_get_time__none(self): """Test get_time method by not passing a parameter.""" date = get_time() self.assertIsNone(date)