neo4j-contrib / neomodel

An Object Graph Mapper (OGM) for the Neo4j graph database.
https://neomodel.readthedocs.io
MIT License
939 stars 231 forks source link

Automatic path inflation #738

Closed aanastasiou closed 1 year ago

aanastasiou commented 1 year ago

Addresses shortcomings of 716.

Path failed to instantiate properly, on this line, when relationships that were not association classes were passed to it. This is because, those relationships do not have data and therefore do not have an entry in _NODE_CLASS_REGISTRY. That lookup failed (unfortunately silently) and resulted in a Path object with "unresolved" nodes, relationships. This was corrected to produce a StructuredRel in that case. All objects (whether relationship or node) load exactly once.

mariusconjeaud commented 1 year ago

Adds the following test fail :

image
mariusconjeaud commented 1 year ago

Merged the conflict because it was my fault. I accidentally removed the logger in rc branch when I removed the "neo4j" log watcher

sonarcloud[bot] commented 1 year ago

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

No Coverage information No Coverage information
0.0% 0.0% Duplication

codecov[bot] commented 1 year ago

Codecov Report

Merging #738 (3196f29) into rc/5.1.1 (f3eb90b) will increase coverage by 0.22%. The diff coverage is 97.77%.

@@             Coverage Diff              @@
##           rc/5.1.1     #738      +/-   ##
============================================
+ Coverage     85.92%   86.14%   +0.22%     
============================================
  Files            18       19       +1     
  Lines          2366     2397      +31     
============================================
+ Hits           2033     2065      +32     
+ Misses          333      332       -1     
Files Changed Coverage Δ
neomodel/relationship.py 97.22% <ø> (ø)
neomodel/util.py 90.25% <95.45%> (+0.28%) :arrow_up:
neomodel/__init__.py 100.00% <100.00%> (ø)
neomodel/path.py 100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes