def METHOD_NAME(factory):
    project_name = "go_remote_proj"
    stack_name = stack_namer(project_name)
    stack = factory(
        stack_name=stack_name,
        url=test_repo,
        branch="refs/heads/master",
        project_path="goproj",
        opts=RemoteWorkspaceOptions(
            pre_run_commands=[
                f"pulumi config set bar abc --stack {stack_name}",
                f"pulumi config set --secret buzz secret --stack {stack_name}",
            ],
            skip_install_dependencies=True,
        ),
    )
    # pulumi up
    up_res = stack.up()
    assert len(up_res.outputs) == 3
    assert up_res.outputs["exp_static"].value == "foo"
    assert not up_res.outputs["exp_static"].secret
    assert up_res.outputs["exp_cfg"].value == "abc"
    assert not up_res.outputs["exp_cfg"].secret
    assert up_res.outputs["exp_secret"].value == "secret"
    assert up_res.outputs["exp_secret"].secret
    assert up_res.summary.kind == "update"
    assert up_res.summary.result == "succeeded"
    # pulumi preview
    preview_result = stack.preview()
    assert preview_result.change_summary.get(OpType.SAME) == 1
    # pulumi refresh
    refresh_res = stack.refresh()
    assert refresh_res.summary.kind == "refresh"
    assert refresh_res.summary.result == "succeeded"
    # pulumi destroy
    destroy_res = stack.destroy()
    assert destroy_res.summary.kind == "destroy"
    assert destroy_res.summary.result == "succeeded"
    LocalWorkspace().remove_stack(stack_name)