irctest.server_tests.metadata_3

IRCv3 Metadata 2 (not to be confused with the deprecated IRCv3 Metadata)

MetadataTestCase

ergo
sable
testClearChannel

METADATA CLEAR by the channel op removes all channel metadata.

.s
testGetListSyncInviteOnlyChannel
Users not in an invite-only channel cannot read its metadata with

GET, LIST, or SYNC.

.d
testGetOneUnsetValid

<http://ircv3.net/specs/core/metadata-3.2.html#metadata-get>

.s
testGetOtherUser.s
testGetTwoUnsetValid
“Multiple keys may be given. The response will be either RPL_KEYVALUE,

ERR_KEYINVALID or ERR_NOMATCHINGKEY for every key in order.” -- <http://ircv3.net/specs/core/metadata-3.2.html#metadata-get>

.s
testListChannel

METADATA LIST on a channel returns all set keys, and reflects unsets.

.d
testListInvalidTarget
“In case of invalid target RPL_METADATAEND MUST NOT be sent.”

-- <http://ircv3.net/specs/core/metadata-3.2.html#metadata-list>

.d
testListNoSet
“This subcommand MUST list all currently-set metadata keys along

with their values. The response will be zero or more RPL_KEYVALUE events, following by RPL_METADATAEND event.” -- <http://ircv3.net/specs/core/metadata-3.2.html#metadata-list>

.d
testSetClearOtherUser

Unprivileged users cannot modify another user's metadata with SET or CLEAR,

.s
testSetGetChannel.s
testSetGetChannelNotOp.s
testSetGetHeartInValue
“Values are unrestricted, except that they MUST be UTF-8.”

-- <http://ircv3.net/specs/core/metadata-3.2.html#metadata-restrictions>

.s
testSetGetUserAgain

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSetGetUser[*-*]

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSetGetUser[*-foo]

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSetGetUser[foo-*]

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSetGetUser[foo-foo]

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSetGetValidBeforeConnect

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSetInvalidUtf8
“Values are unrestricted, except that they MUST be UTF-8.”

-- <http://ircv3.net/specs/core/metadata-3.2.html#metadata-restrictions>

.s
testSetTooManyBytes
Assumes all servers reject values over 480 bytes. This isn't required by the

spec, but makes them risk overflowing when printing the value, so they probably won't allow that.

.s
testSetTooManyChars
Assumes all servers reject values over 480 bytes. This isn't required by the

spec, but makes them risk overflowing when printing the value, so they probably won't allow that.

.s
testSetUnsetChannel

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSetUnsetUser

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSubChannel

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSubChannelSetBeforeJoin

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSubUser

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testSubUserSetBeforeJoin

<http://ircv3.net/specs/core/metadata-3.2.html>

.s
testWhoisKeyValue.s