def test_add(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password) self.addCleanup(self.delete, username) imap = self.login_imap(username, password) self.validate_mailbox(username)
def setUp(self): super(DomainTestMixin, self).setUp() self.MASTER_ADDR = os.environ['ORCHESTRA_DNS_MASTER_ADDR'] self.SLAVE_ADDR = os.environ['ORCHESTRA_DNS_SLAVE_ADDR'] self.domain_name = 'orchestra%s.lan' % random_ascii(10) self.domain_records = ( (Record.MX, '10 mail.orchestra.lan.'), (Record.MX, '20 mail2.orchestra.lan.'), (Record.NS, 'ns1.%s.' % self.domain_name), (Record.NS, 'ns2.%s.' % self.domain_name), ) self.domain_update_records = ( (Record.MX, '30 mail3.orchestra.lan.'), (Record.MX, '40 mail4.orchestra.lan.'), (Record.NS, 'ns1.%s.' % self.domain_name), (Record.NS, 'ns2.%s.' % self.domain_name), ) self.subdomain1_name = 'ns1.%s' % self.domain_name self.subdomain1_records = ( (Record.A, '%s' % self.SLAVE_ADDR), ) self.subdomain2_name = 'ns2.%s' % self.domain_name self.subdomain2_records = ( (Record.A, '%s' % self.MASTER_ADDR), ) self.subdomain3_name = 'www.%s' % self.domain_name self.subdomain3_records = ( (Record.CNAME, 'external.server.org.'), ) self.second_domain_name = 'django%s.lan' % random_ascii(10)
def test_disable_account(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password) self.addCleanup(self.delete, username) self.validate_ftp(username, password) self.disable(username) self.validate_user(username) disable = reverse('admin:accounts_account_disable', args=(self.account.pk, )) url = self.live_server_url + disable self.selenium.get(url) confirmation = self.selenium.find_element_by_name('post') confirmation.submit() self.assertNotEqual(url, self.selenium.current_url) self.assertRaises(ftplib.error_perm, self.validate_ftp, username, password) self.selenium.get(url) self.assertNotEqual(url, self.selenium.current_url) # Reenable for test cleanup self.account.is_active = True self.account.save() self.admin_login()
def test_sftp(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password, shell='/bin/rssh') self.addCleanup(self.delete, username) self.validate_sftp(username, password) self.assertRaises(AssertionError, self.validate_ssh, username, password)
def test_create_account(self): url = self.live_server_url + reverse('admin:accounts_account_add') self.selenium.get(url) account_username = '******' % random_ascii(10) username = self.selenium.find_element_by_id('id_username') username.send_keys(account_username) account_password = '******' % random_ascii(5) password = self.selenium.find_element_by_id('id_password1') password.send_keys(account_password) password = self.selenium.find_element_by_id('id_password2') password.send_keys(account_password) full_name = random_ascii(10) full_name_field = self.selenium.find_element_by_id('id_full_name') full_name_field.send_keys(full_name) account_email = '*****@*****.**' email = self.selenium.find_element_by_id('id_email') email.send_keys(account_email) contact_short_name = random_ascii(10) short_name = self.selenium.find_element_by_id('id_contacts-0-short_name') short_name.send_keys(contact_short_name) email = self.selenium.find_element_by_id('id_contacts-0-email') email.send_keys(account_email) email.submit() self.assertNotEqual(url, self.selenium.current_url) self.addCleanup(self.delete_account, account_username) self.assertEqual(0, sshr(self.MASTER_SERVER, "id %s" % account_username).return_code)
def setUp(self): djsettings.DEBUG = True super(DomainTestMixin, self).setUp() self.domain_name = 'orchestra%s.lan' % random_ascii(10) self.domain_records = ( (Record.MX, '10 mail.orchestra.lan.'), (Record.MX, '20 mail2.orchestra.lan.'), (Record.NS, 'ns1.%s.' % self.domain_name), (Record.NS, 'ns2.%s.' % self.domain_name), ) self.domain_update_records = ( (Record.MX, '30 mail3.orchestra.lan.'), (Record.MX, '40 mail4.orchestra.lan.'), (Record.NS, 'ns1.%s.' % self.domain_name), (Record.NS, 'ns2.%s.' % self.domain_name), ) self.ns1_name = 'ns1.%s' % self.domain_name self.ns1_records = ( (Record.A, self.SLAVE_SERVER_ADDR), ) self.ns2_name = 'ns2.%s' % self.domain_name self.ns2_records = ( (Record.A, self.MASTER_SERVER_ADDR), ) self.www_name = 'www.%s' % self.domain_name self.www_records = ( (Record.CNAME, 'external.server.org.'), ) self.django_domain_name = 'django%s.lan' % random_ascii(10)
def test_add(self): name = '%s_list' % random_ascii(10) password = '******' % random_ascii(5) admin_email = '*****@*****.**' self.add(name, password, admin_email) self.validate_add(name) self.validate_login(name, password) self.addCleanup(self.delete, name)
def test_add(self): name = "%s_list" % random_ascii(10) password = "******" % random_ascii(5) admin_email = "*****@*****.**" self.add(name, password, admin_email) self.validate_add(name) self.validate_login(name, password) self.addCleanup(self.delete, name)
def test_delete(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password) self.validate_user(username) self.delete(username) self.validate_delete(username) self.assertRaises(Exception, self.delete, self.account.username)
def test_disable(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password) self.validate_mailbox(username) # self.addCleanup(self.delete, username) imap = self.login_imap(username, password) self.disable(username) self.assertRaises(imap.error, self.login_imap, username, password)
def test_ftp(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password, shell='/dev/null') self.addCleanup(self.delete, username) self.assertRaises(paramiko.AuthenticationException, self.validate_sftp, username, password) self.assertRaises(paramiko.AuthenticationException, self.validate_ssh, username, password)
def test_change_password(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password) self.addCleanup(self.delete, username) self.validate_ftp(username, password) new_password = '******' % random_ascii(5) self.change_password(username, new_password) self.validate_ftp(username, new_password)
def test_disable(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password, shell='/dev/null') self.addCleanup(self.delete, username) self.validate_ftp(username, password) self.disable(username) self.validate_user(username) self.assertRaises(ftplib.error_perm, self.validate_ftp, username, password)
def test_delete(self): dbname = '%s_database' % random_ascii(5) username = '******' % random_ascii(5) password = '******' % random_ascii(5) self.add(dbname, username, password) self.validate_create_table(dbname, username, password) self.delete(dbname) self.delete_user(username) self.validate_delete(dbname, username, password) self.validate_delete_user(dbname, username)
def test_change_password(self): name = '%s_list' % random_ascii(10) password = '******' % random_ascii(5) admin_email = '*****@*****.**' self.add(name, password, admin_email) self.addCleanup(self.delete, name) self.validate_login(name, password) new_password = '******' % random_ascii(5) self.change_password(name, new_password) self.validate_login(name, new_password)
def test_add_with_address(self): name = "%s_list" % random_ascii(10) password = "******" % random_ascii(5) admin_email = "*****@*****.**" address_name = "%s_name" % random_ascii(10) domain_name = "%sdomain.lan" % random_ascii(10) address_domain = Domain.objects.create(name=domain_name, account=self.account) self.add(name, password, admin_email, address_name=address_name, address_domain=address_domain) self.addCleanup(self.delete, name) # Mailman doesn't support changing the address, only the domain self.validate_add(name, address="%s@%s" % (address_name, address_domain))
def test_change_password(self): dbname = '%s_database' % random_ascii(5) username = '******' % random_ascii(5) password = '******' % random_ascii(5) self.add(dbname, username, password) self.addCleanup(self.delete, dbname) self.addCleanup(self.delete_user, username) self.validate_create_table(dbname, username, password) new_password = '******' % random_ascii(5) self.change_password(username, new_password) self.validate_login_error(dbname, username, password) self.validate_create_table(dbname, username, new_password)
def test_address(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password) self.addCleanup(self.delete, username) domain = '%s_domain.lan' % random_ascii(5) name = '%s_name' % random_ascii(5) domain = self.account.domains.create(name=domain) self.add_address(username, name, domain) token = random_ascii(100) self.send_email("%s@%s" % (name, domain), token) self.validate_email(username, token)
def test_quota(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add_quota_resource() quota = 100 self.add(username, password, quota=quota) self.addCleanup(self.delete, username) get_quota = "doveadm quota get -u %s 2>&1|grep STORAGE|awk {'print $5'}" % username stdout = sshrun(self.MASTER_SERVER, get_quota, display=False).stdout self.assertEqual(quota*1024, int(stdout)) imap = self.login_imap(username, password) imap_quota = int(imap.getquotaroot("INBOX")[1][1][0].split(' ')[-1].split(')')[0]) self.assertEqual(quota*1024, imap_quota)
def test_change_address_name(self): name = '%s_list' % random_ascii(10) password = '******' % random_ascii(5) admin_email = '*****@*****.**' address_name = '%s_name' % random_ascii(10) domain_name = '%sdomain.lan' % random_ascii(10) address_domain = Domain.objects.create(name=domain_name, account=self.account) self.add(name, password, admin_email, address_name=address_name, address_domain=address_domain) self.addCleanup(self.delete, name) # Mailman doesn't support changing the address, only the domain address_name = '%s_name' % random_ascii(10) self.update_address_name(name, address_name) self.validate_add(name, address="%s@%s" % (address_name, address_domain))
def test_delete(self): name = '%s_list' % random_ascii(10) password = '******' % random_ascii(5) admin_email = '*****@*****.**' address_name = '%s_name' % random_ascii(10) domain_name = '%sdomain.lan' % random_ascii(10) address_domain = Domain.objects.create(name=domain_name, account=self.account) self.add(name, password, admin_email, address_name=address_name, address_domain=address_domain) # Mailman doesn't support changing the address, only the domain self.validate_add(name, address="%s@%s" % (address_name, address_domain)) self.delete(name) self.assertRaises(AssertionError, self.validate_login, name, password) self.validate_delete(name)
def test_add(self): # TODO domains with "_" bad name! domain_name = "%sdomain.lan" % random_ascii(10) domain = Domain.objects.create(name=domain_name, account=self.account) domain.records.create(type=Record.A, value=self.MASTER_SERVER_ADDR) self.save_domain(domain) webapp = "%s_%s_webapp" % (random_ascii(10), self.type_value) self.add_webapp(webapp) self.addCleanup(self.delete_webapp, webapp) self.upload_webapp(webapp) website = "%s_website" % random_ascii(10) self.add_website(website, domain, webapp) self.addCleanup(self.delete_website, website) self.validate_add_website(website, domain)
def test_quota(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add_quota_resource() quota = 100 self.add(username, password, quota=quota) self.addCleanup(self.delete, username) get_quota = "doveadm quota get -u %s 2>&1|grep STORAGE|awk {'print $5'}" % username stdout = sshrun(self.MASTER_SERVER, get_quota, display=False).stdout self.assertEqual(quota * 1024, int(stdout)) imap = self.login_imap(username, password) imap_quota = int( imap.getquotaroot("INBOX")[1][1][0].split(' ')[-1].split(')')[0]) self.assertEqual(quota * 1024, imap_quota)
def test_add(self): # TODO domains with "_" bad name! domain_name = '%sdomain.lan' % random_ascii(10) domain = Domain.objects.create(name=domain_name, account=self.account) domain.records.create(type=Record.A, value=self.MASTER_SERVER_ADDR) self.save_domain(domain) webapp = '%s_%s_webapp' % (random_ascii(10), self.type_value) self.add_webapp(webapp) self.addCleanup(self.delete_webapp, webapp) self.upload_webapp(webapp) website = '%s_website' % random_ascii(10) self.add_website(website, domain, webapp) self.addCleanup(self.delete_website, website) self.validate_add_website(website, domain)
def test_delete(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password) imap = self.login_imap(username, password) self.validate_mailbox(username) mailbox = Mailbox.objects.get(name=username) home = mailbox.get_home() self.delete(username) self.assertRaises(Mailbox.DoesNotExist, Mailbox.objects.get, name=username) self.assertRaises(CommandError, self.validate_mailbox, username) self.assertRaises(imap.error, self.login_imap, username, password) self.assertRaises(CommandError, sshrun, self.MASTER_SERVER, 'ls %s' % home, display=False)
def test_send_email(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password) self.addCleanup(self.delete, username) msg = MIMEText("Hola bishuns") msg['To'] = '*****@*****.**' msg['From'] = '%s@%s' % (username, self.MASTER_SERVER) msg['Subject'] = "test" server = smtplib.SMTP(self.MASTER_SERVER, 25) server.login(username, password) try: server.sendmail(msg['From'], msg['To'], msg.as_string()) finally: server.quit()
def test_swap_user(self): dbname = '%s_database' % random_ascii(5) username = '******' % random_ascii(5) password = '******' % random_ascii(5) self.add(dbname, username, password) self.addCleanup(self.delete, dbname) self.addCleanup(self.delete_user, username) self.validate_create_table(dbname, username, password) username2 = '%s_dbuser' % random_ascii(5) password2 = '@!?%spppP001' % random_ascii(5) self.add_user(username2, password2) self.addCleanup(self.delete_user, username2) self.swap_user(username, username2, dbname) self.validate_login_error(dbname, username, password) self.validate_create_table(dbname, username2, password2)
def test_add_group(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password) self.addCleanup(self.delete, username) self.validate_user(username) username2 = '%s_systemuser' % random_ascii(10) password2 = '@!?%spppP001' % random_ascii(5) self.add(username2, password2) self.addCleanup(self.delete, username2) self.validate_user(username2) self.add_group(username, username2) user = SystemUser.objects.get(username=username) groups = list(user.groups.values_list('username', flat=True)) self.assertIn(username2, groups) self.validate_user(username)
def create_domain(self, account=None): if not account: account = self.create_account() domain_name = '%s.es' % random_ascii(10) domain_service, __ = MiscService.objects.get_or_create(name='domain .es', description='Domain .ES') return account.miscellaneous.create(service=domain_service, description=domain_name)
def test_add_with_address(self): name = '%s_list' % random_ascii(10) password = '******' % random_ascii(5) admin_email = '*****@*****.**' address_name = '%s_name' % random_ascii(10) domain_name = '%sdomain.lan' % random_ascii(10) address_domain = Domain.objects.create(name=domain_name, account=self.account) self.add(name, password, admin_email, address_name=address_name, address_domain=address_domain) self.addCleanup(self.delete, name) # Mailman doesn't support changing the address, only the domain self.validate_add(name, address="%s@%s" % (address_name, address_domain))
def create_domain(self, account=None): if not account: account = self.create_account() domain_name = '%s.es' % random_ascii(10) domain_service, __ = MiscService.objects.get_or_create( name='domain .es', description='Domain .ES') return account.miscellaneous.create(service=domain_service, description=domain_name)
def validate_create_table(self, name, username, password): db = MySQLdb.connect(host=self.MASTER_SERVER, port=3306, user=username, passwd=password, db=name) cur = db.cursor() cur.execute('CREATE TABLE table_%s ( id INT ) ;' % random_ascii(10))
class PHPFPMWebAppMixin(StaticWebAppMixin): backend = backends.php.PHPController type_value = 'php5.5' token = random_ascii(100) page = ( 'index.php', '<?php print("Hello World! %s");\n?>\n' % token, 'Hello World! %s' % token, )
def create_job(self, amount, account=None): if not account: account = self.create_account() description = 'Random Job %s' % random_ascii(10) service, __ = MiscService.objects.get_or_create(name='job', has_amount=True) return account.miscellaneous.create(service=service, description=description, amount=amount)
class PHPFcidWebAppMixin(StaticWebAppMixin): backend = backends.phpfcgid.PHPFcgidBackend type_value = 'php5.2' token = random_ascii(100) page = ( 'index.php', '<?php print("Hello World! %s");\n?>\n' % token, 'Hello World! %s' % token, )
class StaticWebAppMixin(object): backend = backends.static.StaticController type_value = 'static' token = random_ascii(100) page = ( 'index.html', '<html>Hello World! %s </html>\n' % token, '<html>Hello World! %s </html>\n' % token, )
def test_custom_filtering(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) folder = random_ascii(5) filtering = textwrap.dedent(""" require "fileinto"; if true { fileinto "%s"; stop; }""" % folder) self.add(username, password, filtering=filtering) self.addCleanup(self.delete, username) imap = self.login_imap(username, password) imap.create(folder) self.validate_mailbox(username) token = random_ascii(100) self.send_email("%s@%s" % (username, settings.MAILBOXES_VIRTUAL_MAILBOX_DEFAULT_DOMAIN), token) home = Mailbox.objects.get(name=username).get_home() sshrun(self.MASTER_SERVER, "grep '%s' %s/Maildir/.%s/new/*" % (token, home, folder), display=False)
def test_mix_webapps(self): domain_name = '%sdomain.lan' % random_ascii(10) domain = Domain.objects.create(name=domain_name, account=self.account) domain.records.create(type=Record.A, value=self.MASTER_SERVER_ADDR) self.save_domain(domain) webapp = '%s_%s_webapp' % (random_ascii(10), self.type_value) self.add_webapp(webapp) self.addCleanup(self.delete_webapp, webapp) self.upload_webapp(webapp) website = '%s_website' % random_ascii(10) self.add_website(website, domain, webapp) self.addCleanup(self.delete_website, website) self.validate_add_website(website, domain) self.type_value = PHPFcidWebAppMixin.type_value self.backend = PHPFcidWebAppMixin.backend self.page = PHPFcidWebAppMixin.page self.add_route() webapp = '%s_%s_webapp' % (random_ascii(10), self.type_value) self.add_webapp(webapp) self.addCleanup(self.delete_webapp, webapp) self.upload_webapp(webapp) path = '/%s' % webapp self.add_content(website, webapp, path) url = 'http://%s%s/%s' % (domain.name, path, self.page[0]) self.assertEqual(self.page[2], requests.get(url).content) self.type_value = PHPFPMWebAppMixin.type_value self.backend = PHPFPMWebAppMixin.backend self.page = PHPFPMWebAppMixin.page self.add_route() webapp = '%s_%s_webapp' % (random_ascii(10), self.type_value) self.add_webapp(webapp) self.addCleanup(self.delete_webapp, webapp) self.upload_webapp(webapp) path = '/%s' % webapp self.add_content(website, webapp, path) url = 'http://%s%s/%s' % (domain.name, path, self.page[0]) self.assertEqual(self.page[2], requests.get(url).content)
def test_mix_webapps(self): domain_name = "%sdomain.lan" % random_ascii(10) domain = Domain.objects.create(name=domain_name, account=self.account) domain.records.create(type=Record.A, value=self.MASTER_SERVER_ADDR) self.save_domain(domain) webapp = "%s_%s_webapp" % (random_ascii(10), self.type_value) self.add_webapp(webapp) self.addCleanup(self.delete_webapp, webapp) self.upload_webapp(webapp) website = "%s_website" % random_ascii(10) self.add_website(website, domain, webapp) self.addCleanup(self.delete_website, website) self.validate_add_website(website, domain) self.type_value = PHPFcidWebAppMixin.type_value self.backend = PHPFcidWebAppMixin.backend self.page = PHPFcidWebAppMixin.page self.add_route() webapp = "%s_%s_webapp" % (random_ascii(10), self.type_value) self.add_webapp(webapp) self.addCleanup(self.delete_webapp, webapp) self.upload_webapp(webapp) path = "/%s" % webapp self.add_content(website, webapp, path) url = "http://%s%s/%s" % (domain.name, path, self.page[0]) self.assertEqual(self.page[2], requests.get(url).content) self.type_value = PHPFPMWebAppMixin.type_value self.backend = PHPFPMWebAppMixin.backend self.page = PHPFPMWebAppMixin.page self.add_route() webapp = "%s_%s_webapp" % (random_ascii(10), self.type_value) self.add_webapp(webapp) self.addCleanup(self.delete_webapp, webapp) self.upload_webapp(webapp) path = "/%s" % webapp self.add_content(website, webapp, path) url = "http://%s%s/%s" % (domain.name, path, self.page[0]) self.assertEqual(self.page[2], requests.get(url).content)
def setUp(self): djsettings.DEBUG = True super(DomainTestMixin, self).setUp() self.domain_name = 'orchestra%s.lan' % random_ascii(10) self.domain_records = ( (Record.MX, '10 mail.orchestra.lan.'), (Record.MX, '20 mail2.orchestra.lan.'), (Record.NS, 'ns1.%s.' % self.domain_name), (Record.NS, 'ns2.%s.' % self.domain_name), ) self.domain_update_records = ( (Record.MX, '30 mail3.orchestra.lan.'), (Record.MX, '40 mail4.orchestra.lan.'), (Record.NS, 'ns1.%s.' % self.domain_name), (Record.NS, 'ns2.%s.' % self.domain_name), ) self.ns1_name = 'ns1.%s' % self.domain_name self.ns1_records = ((Record.A, self.SLAVE_SERVER_ADDR), ) self.ns2_name = 'ns2.%s' % self.domain_name self.ns2_records = ((Record.A, self.MASTER_SERVER_ADDR), ) self.www_name = 'www.%s' % self.domain_name self.www_records = ((Record.CNAME, 'external.server.org.'), ) self.django_domain_name = 'django%s.lan' % random_ascii(10)
def test_create_account(self): url = self.live_server_url + reverse('admin:accounts_account_add') self.selenium.get(url) account_username = '******' % random_ascii(10) username = self.selenium.find_element_by_id('id_username') username.send_keys(account_username) account_password = '******' % random_ascii(5) password = self.selenium.find_element_by_id('id_password1') password.send_keys(account_password) password = self.selenium.find_element_by_id('id_password2') password.send_keys(account_password) full_name = random_ascii(10) full_name_field = self.selenium.find_element_by_id('id_full_name') full_name_field.send_keys(full_name) account_email = '*****@*****.**' email = self.selenium.find_element_by_id('id_email') email.send_keys(account_email) contact_short_name = random_ascii(10) short_name = self.selenium.find_element_by_id( 'id_contacts-0-short_name') short_name.send_keys(contact_short_name) email = self.selenium.find_element_by_id('id_contacts-0-email') email.send_keys(account_email) email.submit() self.assertNotEqual(url, self.selenium.current_url) self.addCleanup(self.delete_account, account_username) self.assertEqual( 0, sshr(self.MASTER_SERVER, "id %s" % account_username).exit_code)
def test_custom_filtering(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) folder = random_ascii(5) filtering = textwrap.dedent(""" require "fileinto"; if true { fileinto "%s"; stop; }""" % folder) self.add(username, password, filtering=filtering) self.addCleanup(self.delete, username) imap = self.login_imap(username, password) imap.create(folder) self.validate_mailbox(username) token = random_ascii(100) self.send_email( "%s@%s" % (username, settings.MAILBOXES_VIRTUAL_MAILBOX_DEFAULT_DOMAIN), token) home = Mailbox.objects.get(name=username).get_home() sshrun(self.MASTER_SERVER, "grep '%s' %s/Maildir/.%s/new/*" % (token, home, folder), display=False)
def test_disable_account(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password) self.addCleanup(self.delete, username) self.validate_ftp(username, password) self.disable(username) self.validate_user(username) disable = reverse('admin:accounts_account_disable', args=(self.account.pk,)) url = self.live_server_url + disable self.selenium.get(url) confirmation = self.selenium.find_element_by_name('post') confirmation.submit() self.assertNotEqual(url, self.selenium.current_url) self.assertRaises(ftplib.error_perm, self.validate_ftp, username, password) self.selenium.get(url) self.assertNotEqual(url, self.selenium.current_url) # Reenable for test cleanup self.account.is_active = True self.account.save() self.admin_login()
def test_add(self): name = '%s_%s_webapp' % (random_ascii(10), self.type_value) self.add_webapp(name) self.addCleanup(self.delete_webapp, name) self.upload_webapp(name)
def test_ssh(self): username = '******' % random_ascii(10) password = '******' % random_ascii(5) self.add(username, password, shell='/bin/bash') self.addCleanup(self.delete, username) self.validate_ssh(username, password)
def create_mailbox(self, account=None): if not account: account = self.create_account() mailbox_name = '*****@*****.**' % random_ascii(10) return Mailbox.objects.create(name=mailbox_name, account=account)