def test_user_defined_process_metadata(): udp = UserDefinedProcessMetadata(id="enhance", process_graph={"foo": {"process_id": "foo"}}) assert udp.prepare_for_json() == { "id": "enhance", "process_graph": {"foo": {"process_id": "foo"}}, "parameters": None, "returns": None, "summary": None, "description": None, "links": None, "public": False }
def test_get(self, udp_db, zk): data = ('{"specification": {"id": "evi", "process_graph": %s}}' % PG_2PLUS3_JSON).encode("utf-8") zk.get.return_value = (data, self.ZnodeStat(version=123)) res = udp_db.get(user_id="john", process_id="evi") assert res == UserDefinedProcessMetadata(process_graph=PG_2PLUS3, id="evi")
def get(self, user_id: str, process_id: str) -> Union[UserDefinedProcessMetadata, None]: with self._zk_client() as zk: udp_path = "{r}/{u}/{p}".format(r=self._root, u=user_id, p=process_id) try: data, _ = zk.get(udp_path) return UserDefinedProcessMetadata.from_dict( self._deserialize(data)['specification']) except NoNodeError: return None
def test_delete(self, udp_db, zk): udp_db.save(user_id="john", process_id="evi", spec={ "id": "evi", "process_graph": PG_2PLUS3 }) data = zk.create.call_args[0][1] zk.get.return_value = (data, self.ZnodeStat(version=123)) res = udp_db.get(user_id="john", process_id="evi") assert res == UserDefinedProcessMetadata(process_graph=PG_2PLUS3, id="evi") udp_db.delete(user_id="john", process_id="evi") zk.delete.assert_called_with("/openeo/udps/john/evi")
def test_user_defined_process_metadata_from_dict_extra(): udp = UserDefinedProcessMetadata.from_dict({ "id": "enhance", "process_graph": {"foo": {"process_id": "foo"}}, "parameters": [], "returns": {"schema": {"type": "number"}}, "summary": "Enhance it!", "description": "Enhance the image with the foo process." }) assert udp.id == "enhance" assert udp.process_graph == {"foo": {"process_id": "foo"}} assert udp.parameters == [] assert udp.returns == {"schema": {"type": "number"}} assert udp.summary == "Enhance it!" assert udp.description == "Enhance the image with the foo process."
def save(self, user_id: str, process_id: str, spec: dict) -> None: self._processes[ user_id, process_id] = UserDefinedProcessMetadata.from_dict(spec)
def test_user_defined_process_metadata_from_dict_no_pg(): with pytest.raises(KeyError): _ = UserDefinedProcessMetadata.from_dict({"id": "enhance"})
def test_user_defined_process_metadata_from_dict_no_id(): with pytest.raises(KeyError): _ = UserDefinedProcessMetadata.from_dict({"process_graph": {"foo": {"process_id": "foo"}}})
def test_user_defined_process_metadata_from_dict_minimal(): udp = UserDefinedProcessMetadata.from_dict({"id": "enhance", "process_graph": {"foo": {"process_id": "foo"}}}) assert udp.id == "enhance" assert udp.process_graph == {"foo": {"process_id": "foo"}} assert udp.parameters is None
def save(self, user_id: str, process_id: str, spec: dict) -> None: user_udps = self._store.get(user_id, {}) new_udp = UserDefinedProcessMetadata.from_dict(spec) user_udps[new_udp.id] = new_udp self._store[user_id] = user_udps