def test_get_channel_slug_with_migration(db: SopelDB): channel = db.make_identifier('#[channel]') db.set_channel_value(channel, 'testkey', 'cval') assert db.get_channel_slug(channel) == channel.lower() assert db.get_channel_value(channel, 'testkey') == 'cval' # insert a value with the wrong casemapping old_channel = Identifier._lower_swapped('#[channel]') assert old_channel == '#[channel]' assert channel.lower() == '#{channel}' with db.session() as session: channel_value = ChannelValues( channel=old_channel, key='oldkey', value='"value"' # result from json.dumps ) session.add(channel_value) session.commit() assert db.get_channel_slug(old_channel) == channel.lower(), ( 'Channel with previous casemapping must return the new version.') assert db.get_channel_value(old_channel, 'oldkey') == 'value', ( 'Key associated to an old version must be migrated to the new one')
def test_get_channel_slug(db: SopelDB): assert db.get_channel_slug('#channel') == '#channel' assert db.get_channel_slug('#CHANNEL') == '#channel' assert db.get_channel_slug('#[channel]') == '#{channel}', ( 'Default casemapping should be rfc-1459')