def METHOD_NAME(self):
    bootstrap = Bootstrap(ztps_default_config=True)
    plugin = random_string()
    url = "http://{}/{}".format(bootstrap.server, plugin)
    bootstrap.ztps.set_definition_response(
        actions=[
            {"action": "startup_config_action"},
            {"action": "test_action", "attributes": {"url": url}},
        ]
    )
    bootstrap.ztps.set_action_response("startup_config_action", startup_config_action())
    plugin_dir = "/tmp"
    persistent_dir = "/tmp/persistent"
    action = get_action("install_cli_plugin")
    action = action.replace("/usr/lib/python2.7/site-packages/CliPlugin", plugin_dir)
    action = action.replace("/mnt/flash/.ztp-plugins", persistent_dir)
    bootstrap.ztps.set_action_response("test_action", action)
    contents = random_string()
    bootstrap.ztps.set_file_response(plugin, contents)
    bootstrap.start_test()
    try:
        self.assertTrue(os.path.isfile(bootstrap.rc_eos))
        log = file_log(bootstrap.rc_eos)
        self.assertTrue("#!/bin/bash" in log)
        self.assertTrue("sudo cp {}/{} {}".format(persistent_dir, plugin, plugin_dir) in log)
        self.assertTrue(contents in file_log("{}/{}".format(persistent_dir, plugin)))
        self.assertTrue(bootstrap.success())
    except AssertionError as assertion:
        print("Output: {}".format(bootstrap.output))
        print("Error: {}".format(bootstrap.error))
        raise_exception(assertion)
    finally:
        shutil.rmtree(persistent_dir)
        bootstrap.end_test()