def test_RunlistViewAction(self): storage = mock() action = runlist.View(storage, **{'name': 'RunlistName'}) when(storage).read(any(str), any(str)).thenReturn(Chain([lambda: 'Ok'])) action.execute().get() verify(storage).read('runlists', 'RunlistName')
def runlist_read(name, response): try: pf = yield runlist.View(storage, name).execute() response.write(pf) except Exception as err: log.error(str(err)) response.error(ITEM_IS_ABSENT, "Runlist %s is missing" % name) finally: response.close()
def view(self): return runlist.View(self.storage, self.name).execute()
def test_runlist(self): name = "dummy_runlist %d" % time.time() copyname = "copy_%s" % name renamedname = "move_%s" % name app_name = "test_app" profile_name = "test_profile" dummy_runlist = {app_name: profile_name} io.run_sync(runlist.Upload(self.storage, name, dummy_runlist).execute, timeout=2) io.run_sync(runlist.Copy(self.storage, name, copyname).execute, timeout=2) io.run_sync(runlist.Rename(self.storage, copyname, renamedname).execute, timeout=2) listing = io.run_sync(runlist.List(self.storage).execute, timeout=2) assert isinstance(listing, (list, tuple)), listing assert name in listing assert copyname not in listing assert renamedname in listing res = io.run_sync(runlist.View(self.storage, name).execute, timeout=2) assert isinstance(res, dict), res assert res == dummy_runlist, res io.run_sync(runlist.Remove(self.storage, name).execute, timeout=2) try: io.run_sync(runlist.View(self.storage, name).execute, timeout=2) except ServiceError: pass io.run_sync(runlist.Create(self.storage, name).execute, timeout=2) res = io.run_sync(runlist.View(self.storage, name).execute, timeout=2) assert res == {}, res res = io.run_sync(runlist.AddApplication(self.storage, name, app_name, profile_name, force=False).execute, timeout=2) assert isinstance(res, dict), res assert "added" in res, res assert app_name == res["added"]["app"] and profile_name == res[ "added"]["profile"], res res = io.run_sync(runlist.AddApplication(self.storage, "ZZ" + name, app_name, profile_name, force=True).execute, timeout=2) assert isinstance(res, dict), res assert "added" in res, res assert app_name == res["added"]["app"] and profile_name == res[ "added"]["profile"], res missing_name = "ZZZZ" + app_name res = io.run_sync(runlist.RemoveApplication(self.storage, name, missing_name).execute, timeout=2) assert res[ 'status'] == "the application named %s is not in runlist" % missing_name res = io.run_sync(runlist.RemoveApplication(self.storage, name, app_name).execute, timeout=2) assert isinstance(res, dict), res