Exemplo n.º 1
0
def test_execute_plan_to_create_user_with_downloaded_yaml():
    """ Create a new user from downloaded YAML file """
    delete_test_user_and_group()
    session = Session()
    s3_client = session.client('s3')
    test_user_1 = open(
        os.path.join(os.path.dirname(__file__), 'test_user_1.yml')).read()
    s3_client.create_bucket(Bucket='test')
    s3_client.put_object(Bucket='test', Key='test.yml', Body=test_user_1)
    response = s3_client.get_object(Bucket='test', Key='test.yml')
    contents = response['Body'].read()
    yaml_content = yaml.load(contents)
    current_users = Users.from_passwd()
    provided_users = Users.from_dict(yaml_content)
    plan = create_plan(existing_users=current_users,
                       proposed_users=provided_users,
                       manage_home=False,
                       protected_users=[
                           'travis', 'couchdb', 'ubuntu', 'nginx', 'hadfielj',
                           'vagrant', CURRENT_USER
                       ])
    execute_plan(plan=plan)
    updated_users = Users.from_passwd()
    updated_user = updated_users.describe_users(users_filter=dict(
        name='dummy'))
    assert len(updated_user) == 1
    assert updated_user[0].name == 'dummy'
    assert updated_user[0].gecos == '\"dummy (user) test\"'
    assert not updated_user[0].public_keys
    assert updated_user[0].sudoers_entry == 'ALL=(ALL:ALL) ALL'
    delete_test_user_and_group()
Exemplo n.º 2
0
def test_users_json_export(tmpdir):
    """ Test the exporting of a Users sequence to yaml. """
    export_file = tmpdir.mkdir("export").join("export.json")
    users = Users.from_dict(SAMPLE_DICT)
    assert users.export(file_path=export_file.strpath, export_format='json')
    exported_users = Users.from_json(export_file.strpath)
    for index, _ in enumerate(users):
        assert users[index].name == exported_users[index].name
        assert users[index].passwd == exported_users[index].passwd
        assert users[index].uid == exported_users[index].uid
        assert users[index].gid == exported_users[index].gid
        assert users[index].gecos == exported_users[index].gecos
        assert users[index].home_dir == exported_users[index].home_dir
        assert users[index].shell == exported_users[index].shell
        for pk_index, _ in enumerate(users[index].public_keys):
            assert users[index].public_keys[pk_index].raw == exported_users[index].public_keys[pk_index].raw
            assert users[index].public_keys[pk_index].b64encoded == exported_users[index].public_keys[
                pk_index].b64encoded
Exemplo n.º 3
0
def test_users_json_export(tmpdir):
    """ Test the exporting of a Users sequence to yaml. """
    export_file = tmpdir.mkdir("export").join("export.json")
    users = Users.from_dict(SAMPLE_DICT)
    assert users.export(file_path=export_file.strpath, export_format='json')
    exported_users = Users.from_json(export_file.strpath)
    for index, _ in enumerate(users):
        assert users[index].name == exported_users[index].name
        assert users[index].passwd == exported_users[index].passwd
        assert users[index].uid == exported_users[index].uid
        assert users[index].gid == exported_users[index].gid
        assert users[index].gecos == exported_users[index].gecos
        assert users[index].home_dir == exported_users[index].home_dir
        assert users[index].shell == exported_users[index].shell
        for pk_index, _ in enumerate(users[index].public_keys):
            assert users[index].public_keys[pk_index].raw == exported_users[
                index].public_keys[pk_index].raw
            assert users[index].public_keys[
                pk_index].b64encoded == exported_users[index].public_keys[
                    pk_index].b64encoded
Exemplo n.º 4
0
def test_get_users_from_dict():
    """ Test creation of a Users collection based on a predefined dict. """
    users = Users.from_dict(input_dict=SAMPLE_DICT)
    assert isinstance(users, Users)
    assert isinstance(users[0], User)
    assert isinstance(users[0].uid, int)
Exemplo n.º 5
0
def test_get_users_from_dict():
    """ Test creation of a Users collection based on a predefined dict. """
    users = Users.from_dict(input_dict=SAMPLE_DICT)
    assert isinstance(users, Users)
    assert isinstance(users[0], User)
    assert isinstance(users[0].uid, int)