imbajin commented on code in PR #823:
URL:
https://github.com/apache/hugegraph-toolchain/pull/823#discussion_r4301127338
##########
hugegraph-hubble/hubble-dist/assembly/travis/configure_gremlin_fixture.py:
##########
@@ -47,9 +48,12 @@ def configure(server, fixture):
missing = sorted(name for name in declared if name.replace(".", "/") +
".class" not in available)
if missing:
raise ValueError("Server configuration refers to unavailable classes:
" + ", ".join(missing))
- configured =
fixture.read_text().replace(serializer_block(fixture.read_text()), block, 1)
+ configured = fixture.read_text()
+ for name in ("channelizer", "scriptEngines", "serializers"):
Review Comment:
Added `WsAndHttpBasicAuthHandler` to the authenticated server2 template,
matching Server’s `enable-auth.sh`. The native channelizer can now be inherited
without losing the HTTP authentication handler. A socket-free regression
configures the real server2 template and verifies the handler, authenticator
and token configuration are retained; it failed before the fix and passes
afterward. Live server2 behavior was not retested locally; current-head CI
remains separate.
##########
hugegraph-hubble/hubble-dist/assembly/travis/run_live_hubble_smoke.py:
##########
@@ -593,6 +593,95 @@ def run_hubble_gremlin(hubble_url, graph_space,
graph_name, content):
), f"Hubble Gremlin {content}")
+def run_hubble_cypher(hubble_url, graph_space, graph_name, content):
+ return unwrap(request(
+ "GET",
+ f"{hubble_url}/api/v1.3/graphspaces/{graph_space}/graphs/"
+ f"{graph_name}/cypher?{urllib.parse.urlencode({'cypher': content})}"
+ ), f"Hubble Cypher {content}")
+
+
+def check_cypher_graph_views(result, schema, prefix, kind):
+ resource = "vertices" if kind == "VERTEX" else "edges"
+ expected_count = 3 if kind == "VERTEX" else 2
+ expected_vertices = {f"{prefix}_{name}" for name in ("alice", "bob",
"carol")}
+ expected_edges = {(f"{prefix}_alice", f"{prefix}_bob", schema["el_knows"]),
+ (f"{prefix}_bob", f"{prefix}_carol", schema["el_knows"])}
+ if result.get("type") != kind:
+ raise RuntimeError(f"Cypher {resource} result type mismatch: {result}")
+ views = {"json": (result.get("json_view") or {}).get("data"),
+ "table": (result.get("table_view") or {}).get("rows"),
+ "graph": (result.get("graph_view") or {}).get(resource)}
Review Comment:
The healthy-fixture smoke now checks both sides of the graph view for both
query types: all three expected endpoint vertices (including their label) and
the two expected linked edges. Added negative regressions for missing
complementary edges on VERTEX results and missing endpoint vertices on EDGE
results; both were accepted before the fix and are now rejected. This only
tightens fixture acceptance; QueryService’s production best-effort enrichment
contract is unchanged.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]