sopel

irctest.client_tests.cap.CapTestCase

sopel
testEmptyCapLs

Empty result to CAP LS. Client should send CAP END.

.
testSendCap

Send CAP LS 302 and read the result.

.

irctest.client_tests.sasl.Irc302SaslTestCase

sopel
testPlainNotAvailable
Test the client does not try to authenticate using a mechanism the

server does not advertise. Actually, this is optional.

.

irctest.client_tests.sasl.SaslTestCase

sopel
testEcdsa

Test ECDSA authentication.

s
testPlain

Test PLAIN authentication with correct username/password.

.
testPlainLargeMultiple[\xe9\xe8]
Test the client splits large AUTHENTICATE messages whose payload

is a multiple of 400. <http://ircv3.net/specs/extensions/sasl-3.1.html#the-authenticate-command>

.
testPlainLargeMultiple[quux]
Test the client splits large AUTHENTICATE messages whose payload

is a multiple of 400. <http://ircv3.net/specs/extensions/sasl-3.1.html#the-authenticate-command>

.
testPlainLarge[\xe9\xe8\xe0]
Test the client splits large AUTHENTICATE messages whose payload

is not a multiple of 400. <http://ircv3.net/specs/extensions/sasl-3.1.html#the-authenticate-command>

.
testPlainLarge[barbaz]
Test the client splits large AUTHENTICATE messages whose payload

is not a multiple of 400. <http://ircv3.net/specs/extensions/sasl-3.1.html#the-authenticate-command>

.
testPlainNotAvailable
sasl=EXTERNAL is advertized, whereas the client is configured

to use PLAIN.

A client implementing sasl-3.2 can give up authentication immediately. A client not implementing it will try authenticating, and will get a 904.

.
testScram

Test SCRAM-SHA-256 authentication.

s
testScramBadPassword

Test SCRAM-SHA-256 authentication with a bad password.

s
testScramMaliciousServer[AAAA]
Test SCRAM-SHA-256 authentication to a server which pretends to know

the password

s
testScramMaliciousServer[]
Test SCRAM-SHA-256 authentication to a server which pretends to know

the password

s
testScramMaliciousServer[dj1ubU1mM1FIV2NKUWk5cE1ndHFLU0tQclZueUk2c3FOTzZJN3BFLzBveUdjPQ==]
Test SCRAM-SHA-256 authentication to a server which pretends to know

the password

s

irctest.client_tests.tls.StsTestCase

sopel
testStsInvalidCertificates
testSts[False]s
testSts[True]s

irctest.client_tests.tls.TlsTestCase

sopel
testTrustedCertificates
testUntrustedCertificates

irctest.self_tests.cases.IrcTestCaseTestCase

sopel
test_message_matching_negative[{'command': '004', 'params': ['nick', '...', OptStrRe(r'[a-zA-Z]+')]}-004 nick ... 123].
test_message_matching_negative[{'command': '004', 'params': ['nick', '...', OptStrRe(r'[a-zA-Z]+')]}-004 nick ... :].
test_message_matching_negative[{'command': '005', 'params': ['nick', 'FOO=1', *ANYLIST]}-005 nick BAR=2].
test_message_matching_negative[{'command': '005', 'params': ['nick', 'FOO=1', *ANYLIST]}-005 nick].
test_message_matching_negative[{'command': '005', 'params': ['nick', ListRemainder(ANYSTR, min_length=1)]}-005 nick].
test_message_matching_negative[{'command': '005', 'params': ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)]}-005 nick foo=1].
test_message_matching_negative[{'command': '005', 'params': ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)]}-005 nick].
test_message_matching_negative[{'command': 'PING', 'params': ['abc']}-PONG def].
test_message_matching_negative[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan hello2].
test_message_matching_negative[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan2 hello].
test_message_matching_negative[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-PRIVMSG #chan :hi].
test_message_matching_negative[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-PRIVMSG #chan2 hello].
test_message_matching_negative[{'nick': 'foo', 'command': 'PRIVMSG'}-:foo2!baz@qux PRIVMSG #chan hello].
test_message_matching_negative[{'nick': 'foo', 'command': 'PRIVMSG'}-@tag1=bar :foo2!baz@qux PRIVMSG #chan :hello].
test_message_matching_negative[{'nick': 'foo', 'command': 'PRIVMSG'}-PRIVMSG #chan :hi].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=value1 PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan hello2].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan2 hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2=baz PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=value1 PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=value1 PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=value1 PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMG #chan :hello].
test_message_matching_negative[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan hello2].
test_message_matching_negative[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan2 hello].
test_message_matching_negative_message[expected command to match PING, got PONG].
test_message_matching_negative_message[expected command to match PRIVMSG, got PRIVMG0].
test_message_matching_negative_message[expected command to match PRIVMSG, got PRIVMG1].
test_message_matching_negative_message[expected command to match PRIVMSG, got PRIVMG2].
test_message_matching_negative_message[expected nick to be foo, got None instead].
test_message_matching_negative_message[expected nick to be foo, got foo2 instead0].
test_message_matching_negative_message[expected nick to be foo, got foo2 instead1].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan', 'hello2']0].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan', 'hello2']1].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan', 'hello2']2].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan2', 'hello']0].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan2', 'hello']1].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan2', 'hello']2].
test_message_matching_negative_message[expected params to match ['#chan', StrRe(r'hello.*')], got ['#chan', 'hi']].
test_message_matching_negative_message[expected params to match ['#chan', StrRe(r'hello.*')], got ['#chan2', 'hello']].
test_message_matching_negative_message[expected params to match ['nick', '...', OptStrRe(r'[a-zA-Z]+')], got ['nick', '...', '']].
test_message_matching_negative_message[expected params to match ['nick', '...', OptStrRe(r'[a-zA-Z]+')], got ['nick', '...', '123']].
test_message_matching_negative_message[expected params to match ['nick', 'FOO=1', *ANYLIST], got ['nick', 'BAR=2']].
test_message_matching_negative_message[expected params to match ['nick', 'FOO=1', *ANYLIST], got ['nick']].
test_message_matching_negative_message[expected params to match ['nick', ListRemainder(ANYSTR, min_length=1)], got ['nick']].
test_message_matching_negative_message[expected params to match ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)], got ['nick', 'foo=1']].
test_message_matching_negative_message[expected params to match ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)], got ['nick']].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, got {'tag1': 'value1'}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, got {}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, got {'tag1': 'bar', 'tag2': ''}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, got {'tag1': 'bar', 'tag2': 'baz'}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, got {'tag1': 'value1'}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar'}, got {'tag1': 'bar', 'tag2': ''}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar'}, got {'tag1': 'value1'}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar'}, got {}0].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar'}, got {}1].
test_message_matching_negative_message[expected tags to match {'tag1': ANYSTR}, got {'tag1': 'bar', 'tag2': ''}].
test_message_matching_negative_message[expected tags to match {'tag1': ANYSTR}, got {}0].
test_message_matching_negative_message[expected tags to match {'tag1': ANYSTR}, got {}1].
test_message_matching_negative_message[expected tags to match {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, got {'tag1': 'value1'}].
test_message_matching_negative_message[expected tags to match {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, got {}].
test_message_matching_positive[{'command': '004', 'params': ['nick', '...', OptStrRe(r'[a-zA-Z]+')]}-004 nick ... abc].
test_message_matching_positive[{'command': '004', 'params': ['nick', '...', OptStrRe(r'[a-zA-Z]+')]}-004 nick ...].
test_message_matching_positive[{'command': '005', 'params': ['nick', 'FOO=1', *ANYLIST]}-005 nick FOO=1 BAR=2].
test_message_matching_positive[{'command': '005', 'params': ['nick', 'FOO=1', *ANYLIST]}-005 nick FOO=1].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(ANYSTR, min_length=1)]}-005 nick BAR=2].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(ANYSTR, min_length=1)]}-005 nick FOO=1 BAR=2].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(ANYSTR, min_length=1)]}-005 nick FOO=1].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)]}-005 nick BAR=2].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)]}-005 nick FOO=1 BAR=2].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)]}-005 nick FOO=1].
test_message_matching_positive[{'command': 'PING', 'params': ['abc']}-PING abc].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-PRIVMSG #chan hello2].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-PRIVMSG #chan hello].
test_message_matching_positive[{'nick': 'foo', 'command': 'PRIVMSG'}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_positive[{'nick': 'foo', 'command': 'PRIVMSG'}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag3= PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-@tag1=value1 PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=;tag2=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello0].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello1].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag2=bar PRIVMSG #chan :hello].