Example #1
0
def test_require_user_with_ssh_public_keys():

    from fabtools.user import authorized_keys
    from fabtools.require import user

    try:
        tests_dir = os.path.dirname(os.path.dirname(__file__))
        public_key_filename = os.path.join(tests_dir, 'id_test.pub')

        with open(public_key_filename) as public_key_file:
            public_key = public_key_file.read().strip()

        user('req4', home='/tmp/req4', ssh_public_keys=public_key_filename)

        keys = authorized_keys('req4')
        assert keys == [public_key]

        # let's try add same keys second time
        user('req4', home='/tmp/req4', ssh_public_keys=public_key_filename)

        keys = authorized_keys('req4')
        assert keys == [public_key]

    finally:
        run_as_root('userdel -r req4')
Example #2
0
def test_require_user_with_ssh_public_keys():

    from fabtools.user import authorized_keys
    from fabtools.require import user

    try:
        tests_dir = os.path.dirname(os.path.dirname(__file__))
        public_key_filename = os.path.join(tests_dir, 'id_test.pub')

        with open(public_key_filename) as public_key_file:
            public_key = public_key_file.read().strip()

        user('req4', home='/tmp/req4', ssh_public_keys=public_key_filename)

        keys = authorized_keys('req4')
        assert keys == [public_key]

        # let's try add same keys second time
        user('req4', home='/tmp/req4', ssh_public_keys=public_key_filename)

        keys = authorized_keys('req4')
        assert keys == [public_key]

    finally:
        run_as_root('userdel -r req4', warn_only=True)
Example #3
0
def test_require_user_with_ssh_public_keys():

    from fabtools.user import authorized_keys
    from fabtools.require import user

    try:
        tests_dir = os.path.dirname(os.path.dirname(__file__))
        public_key_filename = os.path.join(tests_dir, 'id_test.pub')
        public_key_filename2 = os.path.join(tests_dir, 'id_test2.pub')
        multiple_public_key_filename = \
            os.path.join(tests_dir, 'test_authorized_keys')

        with open(public_key_filename) as public_key_file:
            public_key = public_key_file.read().strip()

        with open(public_key_filename2) as public_key_file:
            public_key2 = public_key_file.read().strip()

        user('req4', home='/tmp/req4', ssh_public_keys=public_key_filename)

        keys = authorized_keys('req4')
        assert keys == [public_key]

        # let's try add same keys second time
        user('req4', home='/tmp/req4', ssh_public_keys=public_key_filename)

        keys = authorized_keys('req4')

        # Now add a file with multiple public keys
        user('req5',
             home='/tmp/req5',
             ssh_public_keys=multiple_public_key_filename)

        keys = authorized_keys('req5')
        assert keys == [public_key, public_key2], keys

        # Now adding them individually or again shouldn't affect anything
        user('req5',
             home='/tmp/req5',
             ssh_public_keys=[
                 public_key_filename2, public_key_filename,
                 multiple_public_key_filename
             ])

        keys = authorized_keys('req5')
        assert keys == [public_key, public_key2], keys

    finally:
        run_as_root('userdel -r req4', warn_only=True)
Example #4
0
def test_require_user_with_ssh_public_keys():

    from fabtools.user import authorized_keys
    from fabtools.require import user

    try:
        tests_dir = os.path.dirname(os.path.dirname(__file__))
        public_key_filename = os.path.join(tests_dir, "id_test.pub")
        public_key_filename2 = os.path.join(tests_dir, "id_test2.pub")
        multiple_public_key_filename = os.path.join(tests_dir, "test_authorized_keys")

        with open(public_key_filename) as public_key_file:
            public_key = public_key_file.read().strip()

        with open(public_key_filename2) as public_key_file:
            public_key2 = public_key_file.read().strip()

        user("req4", home="/tmp/req4", ssh_public_keys=public_key_filename)

        keys = authorized_keys("req4")
        assert keys == [public_key]

        # let's try add same keys second time
        user("req4", home="/tmp/req4", ssh_public_keys=public_key_filename)

        keys = authorized_keys("req4")

        # Now add a file with multiple public keys
        user("req5", home="/tmp/req5", ssh_public_keys=multiple_public_key_filename)

        keys = authorized_keys("req5")
        assert keys == [public_key, public_key2], keys

        # Now adding them individually or again shouldn't affect anything
        user(
            "req5",
            home="/tmp/req5",
            ssh_public_keys=[public_key_filename2, public_key_filename, multiple_public_key_filename],
        )

        keys = authorized_keys("req5")
        assert keys == [public_key, public_key2], keys

    finally:
        run_as_root("userdel -r req4", warn_only=True)
Example #5
0
def require_ssh_public_keys():
    """
    Check addition of SSH public key
    """

    from fabtools.user import authorized_keys
    from fabtools import require

    tests_dir = os.path.dirname(os.path.dirname(__file__))
    public_key_filename = os.path.join(tests_dir, 'id_test.pub')

    with open(public_key_filename) as public_key_file:
        public_key = public_key_file.read().strip()

    require.user('req4', home='/tmp/req4', ssh_public_keys=public_key_filename)

    keys = authorized_keys('req4')
    assert keys == [public_key], keys

    # let's try add same keys second time
    require.user('req4', home='/tmp/req4', ssh_public_keys=public_key_filename)

    keys = authorized_keys('req4')
    assert keys == [public_key], keys