예제 #1
0
def main():
    args = create_parser().parse_args()

    if args.export:
        inventory.dump(args.path)
    else:
        users_info = inventory.load(args.path)
        users.sync(users_info)
예제 #2
0
파일: cli.py 프로젝트: mattiasgiese/learn
def main():
    from hr import users, inventory

    args = create_parser().parse_args()
    if args.export:
        inventory.dump(args.inventory)
    else:
        user_list = inventory.load(args.inventory)
        users.sync(user_list)
예제 #3
0
def main():
    from hr import inventory, users

    args = create_parser().parse_args()

    if args.export:
        inventory.dump(args.path)
    else:
        load_data = inventory.load(args.path)
        users.sync(load_data)
예제 #4
0
def main():
    from hr import inventory, users

    args = create_parser().parse_args()

    if args.export:
        print(f"Creating system state inventory file to {args.inventory}")
        inventory.export(args.inventory)
    else:
        print(f"Syncing system to desired state using: {args.inventory}")
        users_data = inventory.load(args.inventory)
        users.sync(users_data)
예제 #5
0
파일: cli.py 프로젝트: MacOG/hr
def main():
    from hr import inventory, users

    args = create_parser().parse_args()
    if os.getuid() == 0:
        if args.export:
            inventory.dump(args.filename)
        else:
            users_info = inventory.load(args.filename)
            users.sync(users_info)
    else:
        if args.export == True:
            print(
                f"Must be run as root! Try using:\n `sudo hr --export {args.filename}"
            )
            return sys.exit(1)
        else:
            print(
                f"Must be run as root! Try using:\n `sudo hr {args.filename}")
def test_inventory_load():
    """
    inventory.load(..) will read a given file in json and
    store it as a list
    """
    inv_file = tempfile.NamedTemporaryFile(delete=False)
    inv_file.write(b"""
    [
    {
    "name":"kevin",
    "groups":["wheel","dev"],
    "password":"******"
    },
    {
    "name": "lisa",
    "groups": ["wheel"],
    "password": "******"
    },
    {
    "name": "jim",
    "groups": [],
    "password": "******"
     }
     ]
     """)
    inv_file.close()
    users_list = inventory.load(inv_file.name)
    assert users_list[0] == {
        'name': 'kevin',
        'groups': ['wheel', 'dev'],
        'password': '******'
    }
    assert users_list[1] == {
        'name': 'lisa',
        'groups': ['wheel'],
        'password': '******'
    }
    assert users_list[2] == {
        'name': 'jim',
        'groups': [],
        'password': '******'
    }
예제 #7
0
def test_inventory_load():
    """
    `inventory.load` takes a path to a file and parses it as JSON
    """
    inv_file = tempfile.NamedTemporaryFile(delete=False)
    text = """
    [
      {
        "name": "kevin",
        "groups": ["wheel", "dev"],
        "password": "******"
      },
      {
        "name": "lisa",
        "groups": ["wheel"],
        "password": "******"
      },
      {
        "name": "jim",
        "groups": [],
        "password": "******"
      }
    ]
    """
    inv_file.write(text.encode())
    inv_file.close()
    users_list = inventory.load(inv_file.name)
    assert users_list[0] == {
        'name': 'kevin',
        'groups': ['wheel', 'dev'],
        'password': '******'
    }
    assert users_list[1] == {
        'name': 'lisa',
        'groups': ['wheel'],
        'password': '******'
    }
    assert users_list[2] == {
        'name': 'jim',
        'groups': [],
        'password': '******'
    }
예제 #8
0
def test_inventory_load():
    """
    `inventory.load` takes a path to a file and parses it as JSON
    """
    inv_file = tempfile.NamedTemporaryFile(delete=False)
    inv_file.write(b"""
    [
        {
            "name": "kevin",
            "groups": ["wheel", "dev"],
            "password": "******"
        },
        {
            "name": "lisa",
            "groups": ["wheel"],
            "password": "******"
        },
        {
            "name": "jim",
            "groups": [],
            "password": "******"
        }
    ]
    """)
    inv_file.close()
    users_list = inventory.load(inv_file.name)
    assert users_list[0] == {
        "name": "kevin",
        "groups": ["wheel", "dev"],
        "password": "******"
    }
    assert users_list[1] == {
        "name": "lisa",
        "groups": ["wheel"],
        "password": "******"
    }
    assert users_list[2] == {
        "name": "jim",
        "groups": [],
        "password": "******"
    }
예제 #9
0
def test_load_inventory(): 
    """
    `inventory.load` takes a path to a file and parses it as JSON.
    """
    inv_file = tempfile.NamedTemporaryFile(delete=False)
    inv_file.write(b"""
    [
        {
            "name": "kevin",
            "groups": ["wheel","dev"], 
            "password": "******"
        },
        {
            "name": "lisa",
            "groups": ["wheel"],
            "password": "******"
        },
        {
            "name": "jim",
            "groups": [],
            "password": "******"
        }
    ]
    """) 
    inv_file.close()
    users_list = inventory.load(inv_file.name)
    assert users_list[0] == {
        "name": "kevin",
        "groups": ["wheel","dev"], 
        "password": "******"
    }
    assert users_list[1] == {
        "name": "lisa",
        "groups": ["wheel"],
        "password": "******"
    }
    assert users_list[2] == {
        "name": "jim",
        "groups": [],
        "password": "******"
    }
예제 #10
0
def test_inventory_load():
    '''
    `inventory.load` takes file path
    and parses it as json
    '''
    inventory_file = tempfile.NamedTemporaryFile(delete=False)
    inventory_file.write(b'''
    [
        {
            "name": "kevin",
            "groups": ["sudo", "adm"],
            "password": "******"
        }
    ]
    ''')
    inventory_file.close()
    users_list = inventory.load(inventory_file.name)
    assert users_list[0] == {
        "name": "kevin",
        "groups": ["sudo", "adm"],
        "password": "******"
    }