Ejemplo n.º 1
0
Archivo: test_db.py Proyecto: dgw/sopel
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')
Ejemplo n.º 2
0
Archivo: test_db.py Proyecto: dgw/sopel
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')