Esempio n. 1
0
def test_parse_find_output_reads_random_password_as_single_value():
    result = ipa_utils.parse_find_output(ipa_output)

    first = result[0]
    assert first['Random password'] == [
        'jeZ3Liu,wySy'
    ]
Esempio n. 2
0
def test_parse_find_output_handles_values_containing_colons():
    result = ipa_utils.parse_find_output(ipa_output)

    first = result[0]
    assert first['SSH public key fingerprint'] == [
        '83:96:F0:C6:30:65:03:07:D6:50:0E:9C:35:7F:9D:24 aws_ireland (ssh-rsa)'
    ]
Esempio n. 3
0
def test_parse_find_output_parses_dict_for_each_item():
    result = ipa_utils.parse_find_output(ipa_output)

    assert len(result) == 2

    first = result[0]
    assert first['Full name'] == ['Administrator']
    assert first['Login shell'] == ['/bin/bash']

    second = result[1]
    assert second['Full name'] == ['Alces Flight']
Esempio n. 4
0
def _handle_new_temporary_password(login, options, result):
    # Details of user will be output in similar format to find output.
    item_dicts = ipa_utils.parse_find_output(result)
    user_dict = item_dicts[0]  # First and only item.

    if 'Random password' not in user_dict:
        # A new temporary password has not been generated; nothing to handle.
        return

    temporary_password = user_dict['Random password'][0]

    if utils.currently_importing():
        utils.set_imported_user_password(login, temporary_password)
    else:
        message = 'Generated temporary password for user {}: {}'.format(
            login, text.bold(temporary_password)
        )
        click.echo(message)
Esempio n. 5
0
def test_parse_find_output_parses_multiline_values():
    result = ipa_utils.parse_find_output(ipa_output)

    first = result[0]
    assert first['SSH public key'] == ['ssh-rsa yourkeygoeshere aws_ireland']
Esempio n. 6
0
def test_parse_find_output_parses_lines_with_multiple_values():
    result = ipa_utils.parse_find_output(ipa_output)

    first = result[0]
    assert first['Member of groups'] == ['admins', 'trust admins']