def test_keyword_save_item(valid_adapter): lib = Items(default_adapter=valid_adapter) item = lib.load_work_item("test-ws", "second-item") MockAdapter.validate(item, "username", "another") item.data["username"] = "******" lib.save_work_item() MockAdapter.validate(item, "username", "changed")
def test_no_active_item(self, ): library = Items(default_adapter=MockAdapter) assert library.current is None with pytest.raises(AssertionError) as err: library.save_work_item() assert str(err.value) == "No active work item"
def test_list_variables(valid_adapter): lib = Items(default_adapter=valid_adapter) lib.load_work_item("workspace-id", "workitem-id-second") names = lib.list_work_item_variables() assert len(names) == 2 assert "username" in names assert "address" in names
def eval_python(expr): try: lib = Items() lib.load_work_item_from_environment() root = lib.get_work_item_variables() root["env"] = dict(environ.items()) return eval(expr, {"__builtins__": None}, root) except: return expr
def test_load_env(valid_adapter): lib = Items(default_adapter=valid_adapter) # Called by Robot Framework listener lib._start_suite(None, None) # Work item loaded using env variables env = lib.current assert env is not None assert env.data["username"] == "testguy"
def test_keyword_save_work_item(valid_adapter): lib = Items(default_adapter=valid_adapter) item = lib.load_work_item("workspace-id", "workitem-id-second") MockAdapter.validate(item, "variables", VARIABLES_SECOND) modified = {"username": "******", "address": "*****@*****.**"} item.data["variables"] = modified lib.save_work_item() MockAdapter.validate(item, "variables", modified)
def test_delete_variables_multiple(valid_adapter): lib = Items(default_adapter=valid_adapter) lib.load_work_item("workspace-id", "workitem-id-second") assert "username" in lib.list_work_item_variables() assert len(lib.current["variables"]) == 2 lib.delete_work_item_variables("username") assert "username" not in lib.list_work_item_variables() assert len(lib.current["variables"]) == 1
def test_delete_variables_multiple(valid_adapter): lib = Items(default_adapter=valid_adapter) lib.load_work_item("workspace-id", "workitem-id-second") names = lib.list_work_item_variables() assert "username" in names assert "address" in names assert len(names) == 2 lib.delete_work_item_variables("username", "address") names = lib.list_work_item_variables() assert "username" not in names assert "username" not in names assert len(names) == 0
def test_load_env_disable(self, adapter): library = Items(default_adapter=adapter, load_env=False) # Called by Robot Framework listener library._start_suite(None, None) assert library.current is None
def test_no_env(self, monkeypatch): monkeypatch.delenv("RC_WORKSPACE_ID", raising=False) monkeypatch.delenv("RC_WORKITEM_ID", raising=False) library = Items(default_adapter=MockAdapter) assert library.current is None
def library(self, adapter): yield Items(default_adapter=adapter)
def test_delete_variables(valid_adapter): lib = Items(default_adapter=valid_adapter) lib.load_work_item("workspace-id", "workitem-id-second") assert "username" in lib.list_work_item_variables() lib.delete_work_item_variables("username") assert "username" not in lib.list_work_item_variables() lib.delete_work_item_variables("doesntexist") with pytest.raises(KeyError): lib.delete_work_item_variables("doesntexist", force=False)
def test_keyword_load_item(valid_adapter): lib = Items(default_adapter=valid_adapter) item = lib.load_work_item("test-ws", "second-item") assert item.data["username"] == "another" assert item == lib.current
def test_load_env_disable(valid_adapter): lib = Items(load_env=False, default_adapter=valid_adapter) # Called by Robot Framework listener lib._start_suite(None, None) assert lib.current is None
from pathlib import Path import shutil import sys from RPA.Archive import Archive from RPA.Browser import Browser from RPA.FileSystem import FileSystem from RPA.PDF import PDF from RPA.Robocloud.Secrets import Secrets from RPA.Robocloud.Items import Items archive = Archive() browser = Browser() pdf = PDF() secretmanager = Secrets() workitems = Items() files = FileSystem() output_dir = Path(".") / "output" image_dir = output_dir / "images" pdf_dir = output_dir / "pdfs" def main(): """Robot workflow actions.""" all_steps_done = False try: clear_previous_run() # this can be skipped open_page() log_in() loop_persons()
def test_keyword_load_work_item(valid_adapter): lib = Items(default_adapter=valid_adapter) item = lib.load_work_item("workspace-id", "workitem-id-second") assert item.data["variables"] == VARIABLES_SECOND assert item == lib.current
def test_delete_variables_unknown(valid_adapter): lib = Items(default_adapter=valid_adapter) lib.load_work_item("workspace-id", "workitem-id-second") assert len(lib.list_work_item_variables()) == 2 lib.delete_work_item_variables("unknown-variable") assert len(lib.list_work_item_variables()) == 2 with pytest.raises(KeyError): lib.delete_work_item_variables("unknown-variable", force=False) assert len(lib.list_work_item_variables()) == 2