def test_is_user_created():
    # Авторизовываемся по SSH:
    ssh_authorization()

    # Создаем пользователя:
    client.exec_command('sudo adduser ' + conf['user']['name'])
    client.exec_command(conf['user']['password'])
    client.exec_command(conf['user']['retype_password'])
    client.exec_command(conf['user']['full_name'])
    client.exec_command(conf['user']['room_number'])
    client.exec_command(conf['user']['work_phone'])
    client.exec_command(conf['user']['home_phone'])
    client.exec_command(conf['user']['other'])

    # Подтверждаем, что данные введены корректно:
    client.exec_command(conf['user']['is_information_correct'])

    # Создаем каталог ftp:
    client.exec_command('sudo mkdir /home/' + conf['user']['name'] + '/ftp')

    # Устанавливаем права на него:
    client.exec_command('sudo chown nobody:nogroup /home/' +
                        conf['user']['name'] + '/ftp')

    # Отнимием право на запись в этом каталоге:
    client.exec_command('sudo chmod a-w /home/' + conf['user']['name'] +
                        '/ftp')

    # Cоздаем каталог для хранения файлов:
    client.exec_command('sudo mkdir /home' + conf['user']['name'] +
                        '/ftp/files')

    # Передаем пользователю права собственности на него:
    client.exec_command('sudo chown ' + conf['user']['name'] + ':' +
                        conf['user']['name'] + '/home/' +
                        conf['user']['name'] + '/ftp/files')

    # Проверяем, что пользователь есть в списке FTP пользователей:
    stdin, stdout, stderr = client.exec_command('cat /etc/vsftpd.userlist')
    is_user_created = stdout.read() + stderr.read()

    if conf['user']['name'] in is_user_created.decode():
        print('User is successfully created')
    elif conf['user']['name'] not in is_user_created.decode():
        assert False, 'User is not successfully created'
    else:
        assert False, 'Something wrong'

    # Завершаем подключение по SSH:
    ssh_client_finish()
Пример #2
0
def test_restart_service():

    # Авторизовываемся по SSH:
    ssh_authorization()

    # Выполняем restart сервиса dbus
    stdin, stdout, stderr = client.exec_command(
        'sudo -S /etc/init.d/dbus restart')
    data_restart_service = stdout.read() + stderr.read()

    # Проверяем был ли сервис dbus перезапущен
    if "Starting" and "dbus" in data_restart_service.decode():
        print('Service was successfully restarted')
    elif "Starting" and "dbus" not in data_restart_service.decode():
        assert False, 'Service was not successfully restarted'
    else:
        assert False, 'Something wrong'

    # Завершаем подключение по SSH:
    ssh_client_finish()
def test_is_user_deleted():

    # Авторизовываемся по SSH:
    ssh_authorization()

    # Проверяем, что пользователь есть в списке FTP пользователей
    stdin, stdout, stderr = client.exec_command('cat /etc/vsftpd.userlist')
    is_user_created = stdout.read() + stderr.read()

    # Удаляем пользователя
    client.exec_command('sudo userdel ' + conf['user']['name'])

    if conf['user']['add'] not in is_user_created.decode():
        print('User is successfully deleted')
    elif conf['user']['add'] not in is_user_created.decode():
        assert False, 'User is not successfully deleted'
    else:
        assert False, 'Something wrong'

    # Завершаем подключение по SSH:
    ssh_client_finish()
def test_is_vsftpd_installed():

    # Авторизовываемся по SSH:
    ssh_authorization()

    # Проверяем, что пакет vsftpd установлен
    stdin, stdout, stderr = client.exec_command('dpkg -s vsftpd')
    is_vsftpd_installed = stdout.read() + stderr.read()

    if "Status" and "installed" in is_vsftpd_installed.decode():
        print('The vsftpd package has been installed')
    elif "Status" and "installed" not in is_vsftpd_installed.decode():
        stdin, stdout, stderr = client.exec_command('apt-get install vsftpd')
        is_vsftpd_installed_now = stdout.read() + stderr.read()
        if "vsftpd" and "newly installed" in is_vsftpd_installed_now():
            print('The vsftpd package is just installed now')
        else:
            assert False, 'The vsftpd package has not been installed now'
    else:
        assert False, 'Something wrong'

    # Завершаем подключение по SSH:
    ssh_client_finish()
Пример #5
0
def test_reboot_system():

    # Авторизовываемся по SSH:
    ssh_authorization()

    # Проверяем, когда была последняя перезагрузка системы
    stdin, stdout, stderr = client.exec_command('last reboot')
    data_before_reboot = stdout.read() + stderr.read()
    print(data_before_reboot.decode())

    # Перезагружаем систему
    client.exec_command('sudo -S reboot -f')

    # Завершаем подключение по SSH:
    ssh_client_finish()

    # Ожидаем перезагрузку системы
    time.sleep(20)

    # Авторизовываемся по SSH:
    ssh_authorization()

    # Проверяем, когда была последняя перезагрузка системы
    stdin, stdout, stderr = client.exec_command('last reboot')
    data_after_reboot = stdout.read() + stderr.read()
    print(data_after_reboot.decode())

    # Проверяем была ли действительна перезагружена система
    if data_before_reboot != data_after_reboot:
        print('System was successfully rebooted')
    elif data_before_reboot == data_after_reboot:
        assert False, 'System was not successfully rebooted'
    else:
        assert False, 'Something wrong'

    # Завершаем подключение по SSH:
    ssh_client_finish()