Exemplo n.º 1
0
def register(controller_type, filename):
    """Register a controller in the local registry."""
    if controller_type not in CONTROLLER_TYPES:
        print(f"controller_type must be one of {CONTROLLER_TYPES}")
        sys.exit(1)
    if not os.path.exists(filename):
        print(f"{filename} does not exist")
        sys.exit(1)

    registry = Registry()
    for name in load_data(filename):
        data = {"name": name, "filename": filename}
        registry.register_controller(controller_type, data)
        print(f"Registered {controller_type} {name}")
Exemplo n.º 2
0
def test_registry__register_controllers(registry_fixture):
    registry = Registry(registry_filename=TEST_FILENAME)
    clear_controllers(registry)
    controller = DEFAULT_REGISTRY["Controllers"][CTYPE][0]
    registry.register_controller(CTYPE, controller)
    controllers = registry.list_controllers(CTYPE)
    assert len(controllers) == 1

    # Test that the the changes are reflected with a new instance.
    registry2 = Registry(registry_filename=TEST_FILENAME)
    controllers1 = registry.list_controllers(CTYPE)
    controllers2 = registry2.list_controllers(CTYPE)
    for data1, data2 in zip(controllers1, controllers2):
        for field in DEFAULT_REGISTRY["Controllers"][CTYPE][0]:
            assert data1[field] == data2[field]
Exemplo n.º 3
0
def test_registry__register_controllers(registry_fixture):
    registry = Registry(registry_filename=TEST_FILENAME)
    registry.reset_defaults()
    new_controller = copy.deepcopy(DEFAULT_REGISTRY["Controllers"][CTYPE][0])
    new_name = new_controller["name"] + "_new"
    new_controller["name"] = new_name
    registry.register_controller(CTYPE, new_controller)

    # Test that the the changes are reflected with a new instance.
    registry2 = Registry(registry_filename=TEST_FILENAME)
    controllers1 = registry.list_controllers(CTYPE)
    controllers2 = registry2.list_controllers(CTYPE)
    for data1, data2 in zip(controllers1, controllers2):
        for field in DEFAULT_REGISTRY["Controllers"][CTYPE][0]:
            assert data1[field] == data2[field]

    registry2.unregister_controller(CTYPE, new_name)
    assert not registry2.is_controller_registered(CTYPE, new_name)