def test_view_setattr_machinery(attr, subset_func, subset_func2):
    # Tests that setting attributes on a view doesn't mess anything up too bad
    adata = gen_adata((10, 10))
    view = adata[subset_func(adata.obs_names), subset_func2(adata.var_names)]

    actual = view.copy()
    setattr(view, attr, getattr(actual, attr))
    assert_equal(actual, view, exact=True)
def __init__(self):
        self.supports_check_mode = True
        self.argument_spec = dict(
            accept_eula=dict(
                type='bool',
                default='no',
                choices=BOOLEANS
            ),
            base_key=dict(
                required=False,
                no_log=True
            ),
            name=dict(
                required=True
            ),
            state=dict(
                required=False,
                default='present',
                choices=['absent', 'present']
            )
        )
        self.f5_product_name = 'iworkflow'