mirror of
https://github.com/progval/irctest.git
synced 2025-04-07 15:59:49 +00:00
Use Black code style
This commit is contained in:
@ -58,66 +58,84 @@ server:
|
||||
recvq_len: 20
|
||||
"""
|
||||
|
||||
|
||||
def make_list(l):
|
||||
return '\n'.join(map(' - {}'.format, l))
|
||||
return "\n".join(map(" - {}".format, l))
|
||||
|
||||
|
||||
class MammonController(BaseServerController, DirectoryBasedController):
|
||||
software_name = 'Mammon'
|
||||
software_name = "Mammon"
|
||||
supported_sasl_mechanisms = {
|
||||
'PLAIN', 'ECDSA-NIST256P-CHALLENGE',
|
||||
}
|
||||
"PLAIN",
|
||||
"ECDSA-NIST256P-CHALLENGE",
|
||||
}
|
||||
supported_capabilities = set() # Not exhaustive
|
||||
|
||||
def create_config(self):
|
||||
super().create_config()
|
||||
with self.open_file('server.conf'):
|
||||
with self.open_file("server.conf"):
|
||||
pass
|
||||
|
||||
def kill_proc(self):
|
||||
# Mammon does not seem to handle SIGTERM very well
|
||||
self.proc.kill()
|
||||
|
||||
def run(self, hostname, port, password=None, ssl=False,
|
||||
restricted_metadata_keys=(),
|
||||
valid_metadata_keys=(), invalid_metadata_keys=()):
|
||||
def run(
|
||||
self,
|
||||
hostname,
|
||||
port,
|
||||
password=None,
|
||||
ssl=False,
|
||||
restricted_metadata_keys=(),
|
||||
valid_metadata_keys=(),
|
||||
invalid_metadata_keys=(),
|
||||
):
|
||||
if password is not None:
|
||||
raise NotImplementedByController('PASS command')
|
||||
raise NotImplementedByController("PASS command")
|
||||
if ssl:
|
||||
raise NotImplementedByController('SSL')
|
||||
raise NotImplementedByController("SSL")
|
||||
assert self.proc is None
|
||||
self.port = port
|
||||
self.create_config()
|
||||
with self.open_file('server.yml') as fd:
|
||||
fd.write(TEMPLATE_CONFIG.format(
|
||||
directory=self.directory,
|
||||
hostname=hostname,
|
||||
port=port,
|
||||
authorized_keys=make_list(valid_metadata_keys),
|
||||
restricted_keys=make_list(restricted_metadata_keys),
|
||||
))
|
||||
#with self.open_file('server.yml', 'r') as fd:
|
||||
with self.open_file("server.yml") as fd:
|
||||
fd.write(
|
||||
TEMPLATE_CONFIG.format(
|
||||
directory=self.directory,
|
||||
hostname=hostname,
|
||||
port=port,
|
||||
authorized_keys=make_list(valid_metadata_keys),
|
||||
restricted_keys=make_list(restricted_metadata_keys),
|
||||
)
|
||||
)
|
||||
# with self.open_file('server.yml', 'r') as fd:
|
||||
# print(fd.read())
|
||||
self.proc = subprocess.Popen(['mammond', '--nofork', #'--debug',
|
||||
'--config', os.path.join(self.directory, 'server.yml')])
|
||||
self.proc = subprocess.Popen(
|
||||
[
|
||||
"mammond",
|
||||
"--nofork", #'--debug',
|
||||
"--config",
|
||||
os.path.join(self.directory, "server.yml"),
|
||||
]
|
||||
)
|
||||
|
||||
def registerUser(self, case, username, password=None):
|
||||
# XXX: Move this somewhere else when
|
||||
# https://github.com/ircv3/ircv3-specifications/pull/152 becomes
|
||||
# part of the specification
|
||||
client = case.addClient(show_io=False)
|
||||
case.sendLine(client, 'CAP LS 302')
|
||||
case.sendLine(client, 'NICK registration_user')
|
||||
case.sendLine(client, 'USER r e g :user')
|
||||
case.sendLine(client, 'CAP END')
|
||||
while case.getRegistrationMessage(client).command != '001':
|
||||
case.sendLine(client, "CAP LS 302")
|
||||
case.sendLine(client, "NICK registration_user")
|
||||
case.sendLine(client, "USER r e g :user")
|
||||
case.sendLine(client, "CAP END")
|
||||
while case.getRegistrationMessage(client).command != "001":
|
||||
pass
|
||||
list(case.getMessages(client))
|
||||
case.sendLine(client, 'REG CREATE {} passphrase {}'.format(
|
||||
username, password))
|
||||
case.sendLine(client, "REG CREATE {} passphrase {}".format(username, password))
|
||||
msg = case.getMessage(client)
|
||||
assert msg.command == '920', msg
|
||||
assert msg.command == "920", msg
|
||||
list(case.getMessages(client))
|
||||
case.removeClient(client)
|
||||
|
||||
|
||||
def get_irctest_controller_class():
|
||||
return MammonController
|
||||
|
Reference in New Issue
Block a user