def delete_switch_port(switch_port, processor): log_room_event( "Deleted switch-port {} on {}.".format(switch_port.name, switch_port.switch.host.name), processor, switch_port.switch.host.room) session.delete(switch_port)
def create_room(building, level, number, processor, address, inhabitable=True, vo_suchname: str | None = None): if Room.q.filter_by(number=number, level=level, building=building).first() is not None: raise RoomAlreadyExistsException if vo_suchname and Room.q.filter_by( swdd_vo_suchname=vo_suchname).first() is not None: raise RoomAlreadyExistsException room = Room(number=number, level=level, inhabitable=inhabitable, building=building, address=address, swdd_vo_suchname=vo_suchname) log_room_event("Room created.", processor, room) return room
def patch_switch_port_to_patch_port(switch_port, patch_port, processor): if patch_port.switch_port: raise PatchPortAlreadyPatchedException() log_room_event(f"Added patch from {switch_port.switch.host.name}/{switch_port.name} to {patch_port.name}.", processor, switch_port.switch.host.room) patch_port.switch_port = switch_port
def patch_switch_port_to_patch_port(switch_port, patch_port, processor): if patch_port.switch_port: raise PatchPortAlreadyPatchedException() log_room_event("Added patch from {}/{} to {}.".format(switch_port.switch.host.name, switch_port.name, patch_port.name), processor, switch_port.switch.host.room) patch_port.switch_port = switch_port
def create_switch(name, management_ip, room, processor): switch = Switch(management_ip=management_ip, host=Host(room=room, owner=User.q.get(0), name=name)) session.add(switch) log_room_event("Created switch '{}' with management IP {}.".format(switch.host.name, switch.management_ip), processor, switch.host.room) return switch
def remove_patch_to_patch_port(patch_port, processor): if not patch_port.switch_port: raise Exception("Patch-port is not patched to a switch-port.") switch_port = patch_port.switch_port log_room_event("Removed patch from {}/{} to {}.".format(switch_port.switch.host.name, switch_port.name, patch_port.name), processor, switch_port.switch.host.room) patch_port.switch_port = None
def create_switch_port(switch, name, default_vlans, processor): switch_port = SwitchPort(name=name, switch=switch, default_vlans=default_vlans) session.add(switch_port) default_vlans_str = ', '.join(str(vlan.vid) for vlan in switch_port.default_vlans) message = deferred_gettext("Created switch-port {} on {} with default VLANs {}.")\ .format(switch_port.name, switch_port.switch.host.name, default_vlans_str) log_room_event(message.to_json(), processor, switch_port.switch.host.room) return switch_port
def remove_patch_to_patch_port(patch_port, processor): if not patch_port.switch_port: raise Exception("Patch-port is not patched to a switch-port.") switch_port = patch_port.switch_port log_room_event(f"Removed patch from {switch_port.switch.host.name}/{switch_port.name} to {patch_port.name}.", processor, switch_port.switch.host.room) patch_port.switch_port = None
def create_switch(name, management_ip, room, processor): switch = Switch(management_ip=management_ip, host=Host(room=room, owner=User.get(0), name=name)) session.add(switch) message = deferred_gettext("Created switch '{}' with management IP {}.")\ .format(switch.host.name, switch.management_ip) log_room_event(message.to_json(), processor, switch.host.room) return switch
def create_patch_port(name, room, switch_room, processor): # This check can be removed as soon as the unique constraint exists if PatchPort.q.filter_by(name=name, switch_room=switch_room).first(): raise PatchPortAlreadyExistsException() patch_port = PatchPort(name=name, room=room, switch_room=switch_room) session.add(patch_port) log_room_event("Created patch-port {} to {}.".format(patch_port.name, room.short_name), processor, switch_room) return patch_port
def create_switch_port(switch, name, default_vlans, processor): switch_port = SwitchPort(name=name, switch=switch, default_vlans=default_vlans) session.add(switch_port) log_room_event("Created switch-port {} on {} with default VLANs {}." .format(switch_port.name, switch_port.switch.host.name, ', '.join(str(vlan.vid) for vlan in switch_port.default_vlans)), processor, switch_port.switch.host.room) return switch_port
def create_room(building, level, number, processor, inhabitable=True): if Room.q.filter_by(number=number, level=level, building=building).first() is not None: raise RoomAlreadyExistsException() room = Room(number=number, level=level, inhabitable=inhabitable, building=building) log_room_event("Room created.", processor, room) return room
def edit_room(room, number, inhabitable, vo_suchname: str, address: Address, processor: User): if room.number != number: if Room.q.filter_by(number=number, level=room.level, building=room.building).filter( Room.id != room.id).first() is not None: raise RoomAlreadyExistsException() log_room_event(f"Renamed room from {room.number} to {number}.", processor, room) room.number = number if room.inhabitable != inhabitable: log_room_event(f"Changed inhabitable status to {str(inhabitable)}.", processor, room) room.inhabitable = inhabitable if room.swdd_vo_suchname != vo_suchname: log_room_event( deferred_gettext("Changed VO id from {} to {}.").format( room.swdd_vo_suchname, vo_suchname).to_json(), processor, room) room.swdd_vo_suchname = vo_suchname if room.address != address: room.address = address log_room_event( deferred_gettext("Changed address to {}").format( str(address)).to_json(), processor, room) for user in room.users_sharing_address: user.address = room.address return room
def edit_switch_port(switch_port, name, default_vlans, processor): if switch_port.name != name: message = deferred_gettext("Changed name of switch-port {} to {}.")\ .format(switch_port.name, name) log_room_event(message.to_json(), processor, switch_port.switch.host.room) switch_port.name = name if switch_port.default_vlans != default_vlans: switch_port.default_vlans = default_vlans new_default_vlans_str = ', '.join(str(vlan.vid) for vlan in switch_port.default_vlans) message = deferred_gettext("Changed default VLANs of switch-port {} to {}.")\ .format(switch_port.name, new_default_vlans_str) log_room_event(message.to_json(), processor, switch_port.switch.host.room)
def edit_switch_port(switch_port, name, default_vlans, processor): if switch_port.name != name: log_room_event("Changed name of switch-port {} to {}." .format(switch_port.name,name), processor, switch_port.switch.host.room) switch_port.name = name if switch_port.default_vlans != default_vlans: switch_port.default_vlans = default_vlans log_room_event( "Changed default VLANs of switch-port {} to {}.".format( switch_port.name, ', '.join(str(vlan.vid) for vlan in switch_port.default_vlans)), processor, switch_port.switch.host.room)
def edit_patch_port(patch_port, name, room, processor): if patch_port.name != name: # This check can be removed as soon as the unique constraint exists if PatchPort.q.filter_by(name=name, switch_room=patch_port.switch_room).first(): raise PatchPortAlreadyExistsException() log_room_event("Changed name of patch-port {} to {}.".format(patch_port.name, name), processor, patch_port.switch_room) patch_port.name = name if patch_port.room != room: log_room_event("Changed room of patch-port {} from {} to {}." .format(patch_port.name, patch_port.room.short_name, room.short_name), processor, patch_port.switch_room) patch_port.room = room
def edit_patch_port(patch_port, name, room, processor): if patch_port.name != name: # This check can be removed as soon as the unique constraint exists if PatchPort.q.filter_by(name=name, switch_room=patch_port.switch_room).first(): raise PatchPortAlreadyExistsException() message = deferred_gettext("Changed name of patch-port {patch_port_name} to {name}.")\ .format(patch_port_name=patch_port.name, name=name) log_room_event(message.to_json(), processor, patch_port.switch_room) patch_port.name = name if patch_port.room != room: message = deferred_gettext("Changed room of patch-port {pp}" " from {old_room} to {new_room}.")\ .format(pp=patch_port.name, old_room=patch_port.room.short_name, new_room=room.short_name) log_room_event(message.to_json(), processor, patch_port.switch_room) patch_port.room = room
def edit_room(room, number, inhabitable, processor): if room.number != number: if Room.q.filter_by(number=number, level=room.level, building=room.building).filter( Room.id != room.id).first() is not None: raise RoomAlreadyExistsException() log_room_event( "Renamed room from {} to {}.".format(room.number, number), processor, room) room.number = number if room.inhabitable != inhabitable: log_room_event( "Changed inhabitable status to {}.".format(str(inhabitable)), processor, room) room.inhabitable = inhabitable return room
def test_create_room_log_entry(self): room_log_entry = log_room_event(message=self.message, author=self.user, room=self.room) assert RoomLogEntry.get(room_log_entry.id) is not None db_room_log_entry = RoomLogEntry.get(room_log_entry.id) self.assert_log_entry(db_room_log_entry, self.user, session.utcnow(), self.message) assert db_room_log_entry.room == self.room assert LogEntry.get(db_room_log_entry.id) is not None session.session.delete(db_room_log_entry) session.session.commit() assert LogEntry.get(db_room_log_entry.id) is None
def test_create_room_log_entry(self): room_log_entry = log_room_event(message=self.message, author=self.user, room=self.room) self.assertIsNotNone(RoomLogEntry.q.get(room_log_entry.id)) db_room_log_entry = RoomLogEntry.q.get(room_log_entry.id) self.assert_log_entry(db_room_log_entry, self.user, session.utcnow(), self.message) self.assertEqual(db_room_log_entry.room, self.room) self.assertIsNotNone(LogEntry.q.get(db_room_log_entry.id)) session.session.delete(db_room_log_entry) session.session.commit() self.assertIsNone(LogEntry.q.get(db_room_log_entry.id))
def edit_switch(switch, name, management_ip, room, processor): if switch.host.name != name: log_room_event("Changed name of '{}' to '{}'.".format(switch.host.name, name), processor, switch.host.room) switch.host.name = name if switch.host.room != room: log_room_event("Moved switch '{}' from {} to {}.".format(switch.host.name, switch.host.room, room), processor, switch.host.room) switch.host.room = room if switch.management_ip != IPAddress(management_ip): log_room_event("Changed management IP of switch '{}' from {} to {}." .format(switch.host.name, switch.management_ip, management_ip), processor, switch.host.room) switch.management_ip = management_ip
def test_0010_create_room_log_entry(self): room = Room.q.filter_by(number=RoomData.dummy_room1.number, level=RoomData.dummy_room1.level).one() room_log_entry = log_room_event(message=self.message, author=self.user, room=room) self.assertIsNotNone(RoomLogEntry.q.get(room_log_entry.id)) db_room_log_entry = RoomLogEntry.q.get(room_log_entry.id) self.assertEqual(db_room_log_entry.message, self.message) self.assertAlmostEqual(db_room_log_entry.created_at, session.utcnow(), delta=timedelta(seconds=5)) self.assertEqual(db_room_log_entry.author, self.user) self.assertEqual(db_room_log_entry.room, room) self.assertIsNotNone(LogEntry.q.get(db_room_log_entry.id)) session.session.delete(db_room_log_entry) session.session.commit() self.assertIsNone(LogEntry.q.get(db_room_log_entry.id))
def edit_switch(switch, name, management_ip, room, processor): if switch.host.name != name: message = deferred_gettext("Changed switch name from '{old}' to '{new}'.")\ .format(old=switch.host.name, new=name) log_room_event(message.to_json(), processor, switch.host.room) switch.host.name = name if switch.host.room != room: message = deferred_gettext("Moved switch '{}' from {} to {}.")\ .format(switch.host.name, switch.host.room, room) log_room_event(message.to_json(), processor, switch.host.room) switch.host.room = room if switch.management_ip != IPAddress(management_ip): message = deferred_gettext("Changed management IP of switch '{}' from {} to {}.")\ .format(switch.host.name, switch.management_ip, management_ip) log_room_event(message.to_json(), processor, switch.host.room) switch.management_ip = management_ip
def delete_switch_port(switch_port, processor): message = deferred_gettext("Deleted switch-port {port} on {host}.")\ .format(port=switch_port.name, host=switch_port.switch.host.name) log_room_event(message.to_json(), processor, switch_port.switch.host.room) session.delete(switch_port)
def delete_switch(switch, processor): log_room_event(f"Deleted switch {switch.host.name}.", processor, switch.host.room) session.delete(switch) session.delete(switch.host)
def delete_patch_port(patch_port, processor): message = deferred_gettext("Deleted patch-port {}.").format(patch_port.name) log_room_event(message.to_json(), processor, patch_port.switch_room) session.delete(patch_port)
def delete_patch_port(patch_port, processor): log_room_event("Deleted patch-port {}.".format(patch_port.name), processor, patch_port.switch_room) session.delete(patch_port)
def delete_switch(switch, processor): log_room_event("Deleted switch {}.".format(switch.host.name), processor, switch.host.room) session.delete(switch) session.delete(switch.host)