keymaker 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/README.md +36 -10
  2. data/keymaker.gemspec +37 -33
  3. data/lib/keymaker.rb +3 -2
  4. data/lib/keymaker/configuration.rb +14 -24
  5. data/lib/keymaker/node.rb +1 -1
  6. data/lib/keymaker/request.rb +0 -2
  7. data/lib/keymaker/requests/add_node_to_index_request.rb +10 -1
  8. data/lib/keymaker/requests/create_relationship_request.rb +8 -1
  9. data/lib/keymaker/requests/delete_relationship_request.rb +10 -1
  10. data/lib/keymaker/requests/execute_cypher_request.rb +8 -3
  11. data/lib/keymaker/requests/execute_gremlin_request.rb +8 -3
  12. data/lib/keymaker/requests/remove_node_from_index_request.rb +0 -2
  13. data/lib/keymaker/requests/service_root_request.rb +1 -1
  14. data/lib/keymaker/requests/{path_traverse_request.rb → traverse_path_request.rb} +16 -4
  15. data/lib/keymaker/requests/update_node_properties_request.rb +8 -1
  16. data/lib/keymaker/response.rb +1 -0
  17. data/lib/keymaker/service.rb +16 -4
  18. data/spec/cassettes/Keymaker_AddNodeToIndexRequest/{returns_a_201_status_code.yml → with_valid_options/returns_a_201_status_code.yml} +54 -55
  19. data/spec/cassettes/Keymaker_AddNodeToIndexRequest/{returns_application → with_valid_options/returns_application}/json.yml +54 -55
  20. data/spec/cassettes/Keymaker_AddNodeToIndexRequest/{returns_the_Neo4j_REST_API_starting_point_response_request.yml → with_valid_options/returns_the_Neo4j_REST_API_starting_point_response_request.yml} +54 -55
  21. data/spec/cassettes/Keymaker_CreateNodeRequest/returns_a_201_status_code.yml +112 -0
  22. data/spec/cassettes/Keymaker_CreateNodeRequest/returns_application/json.yml +112 -0
  23. data/spec/cassettes/Keymaker_CreateNodeRequest/with_properties/creates_a_node_with_the_given_properties.yml +112 -0
  24. data/spec/cassettes/Keymaker_CreateNodeRequest/without_properties/creates_an_empty_node.yml +112 -0
  25. data/spec/cassettes/Keymaker_CreateRelationshipRequest/with_invalid_options/raises_ClientError.yml +201 -0
  26. data/spec/cassettes/Keymaker_CreateRelationshipRequest/with_properties/creates_a_node_with_the_given_properties.yml +233 -0
  27. data/spec/cassettes/Keymaker_CreateRelationshipRequest/with_properties/returns_a_201_status_code.yml +196 -0
  28. data/spec/cassettes/Keymaker_CreateRelationshipRequest/with_properties/returns_application/json.yml +196 -0
  29. data/spec/cassettes/Keymaker_CreateRelationshipRequest/without_properties/creates_an_empty_relationship_of_type_birthed_.yml +195 -0
  30. data/spec/cassettes/Keymaker_DeleteRelationshipRequest/with_a_non-existent_relationship/raises_ResourceNotFound.yml +191 -0
  31. data/spec/cassettes/Keymaker_DeleteRelationshipRequest/with_an_existing_relationship/deletes_the_relationship.yml +219 -0
  32. data/spec/cassettes/Keymaker_ExecuteCypherRequest/with_a_valid_Cypher_Query/returns_a_200_status_code.yml +111 -0
  33. data/spec/cassettes/Keymaker_ExecuteCypherRequest/with_an_invalid_Cypher_Query/raises_ClientError.yml +108 -0
  34. data/spec/cassettes/Keymaker_ExecuteGremlinRequest/with_a_valid_Gremlin_Script/returns_a_200_status_code.yml +98 -0
  35. data/spec/cassettes/Keymaker_ExecuteGremlinRequest/with_an_invalid_Gremlin_Script/raises_ClientError.yml +107 -0
  36. data/spec/cassettes/Keymaker_TraversePathRequest/_traverse_path_properties/with_options/builds_the_query_properties_with_defaults.yml +157 -0
  37. data/spec/cassettes/Keymaker_TraversePathRequest/with_invalid_options/raise_a_ClientError.yml +193 -0
  38. data/spec/cassettes/Keymaker_TraversePathRequest/with_valid_options/returns_status_code_200.yml +269 -0
  39. data/spec/cassettes/Keymaker_UpdateNodePropertiesRequest/_node_properties/excludes_the_node_id.yml +157 -0
  40. data/spec/cassettes/Keymaker_UpdateNodePropertiesRequest/with_invalid_options/raises_a_ClientError.yml +193 -0
  41. data/spec/cassettes/Keymaker_UpdateNodePropertiesRequest/with_valid_options/returns_a_status_of_204.yml +182 -0
  42. data/spec/cassettes/Keymaker_UpdateNodePropertiesRequest/with_valid_options/updates_the_properties.yml +214 -0
  43. data/spec/keymaker/requests/add_node_to_index_request_spec.rb +30 -28
  44. data/spec/keymaker/requests/batch_get_nodes_request_spec.rb +4 -4
  45. data/spec/keymaker/requests/batch_request_spec.rb +33 -33
  46. data/spec/keymaker/requests/create_node_request_spec.rb +34 -0
  47. data/spec/keymaker/requests/create_relationship_request_spec.rb +58 -0
  48. data/spec/keymaker/requests/delete_relationship_request_spec.rb +28 -0
  49. data/spec/keymaker/requests/execute_cypher_request_spec.rb +23 -0
  50. data/spec/keymaker/requests/execute_gremlin_request_spec.rb +23 -0
  51. data/spec/keymaker/requests/service_root_request_spec.rb +9 -9
  52. data/spec/keymaker/requests/traverse_path_request_spec.rb +50 -0
  53. data/spec/keymaker/requests/update_node_properties_request_spec.rb +50 -0
  54. data/spec/keymaker/service_spec.rb +31 -0
  55. data/spec/keymaker_spec.rb +26 -2
  56. data/spec/support/keymaker.rb +10 -4
  57. metadata +86 -10
@@ -1,9 +1,7 @@
1
1
  module Keymaker
2
2
  class RemoveNodeFromIndexRequest < Request
3
-
4
3
  def submit
5
4
  service.delete(node_full_index_path(opts[:index_name], opts[:key], opts[:value], opts[:node_id]))
6
5
  end
7
-
8
6
  end
9
7
  end
@@ -3,7 +3,7 @@ module Keymaker
3
3
  class ServiceRootRequest < Request
4
4
 
5
5
  def submit
6
- service.get("db/data/", opts)
6
+ service.get("db/data/", {})
7
7
  end
8
8
 
9
9
  end
@@ -1,5 +1,5 @@
1
1
  module Keymaker
2
- class PathTraverseRequest < Request
2
+ class TraversePathRequest < Request
3
3
 
4
4
  # Example request
5
5
 
@@ -9,12 +9,20 @@ module Keymaker
9
9
  # {"order":"breadth_first","uniqueness":"none","return_filter":{"language":"builtin","name":"all"}}
10
10
 
11
11
  def submit
12
- service.post(path_traverse_node_path(opts[:node_id]), path_traverse_properties)
12
+ service.post(node_traverse_path(opts[:node_id]), traverse_path_properties).on_error do |response|
13
+ case response.status
14
+ when (400..499)
15
+ raise ClientError.new(response, response.body)
16
+ when (500..599)
17
+ raise ServerError.new(response, response.body)
18
+ end
19
+ end
13
20
  end
14
21
 
15
- def path_traverse_properties
22
+ def traverse_path_properties
16
23
  # :order - breadth_first or depth_first
17
24
  # :relationships - all, in, or out
25
+ # e.g. [{"type" => "likes", "direction" => "all}]
18
26
  # :uniqueness - node_global, none, relationship_global, node_path, or relationship_path
19
27
  # :prune_evaluator
20
28
  # :return_filter
@@ -22,7 +30,7 @@ module Keymaker
22
30
 
23
31
  {}.tap do |properties|
24
32
  properties[:order] = opts.fetch(:order, "breadth_first")
25
- properties[:relationships] = opts.fetch(:relationships, "all")
33
+ properties[:relationships] = opts.fetch(:relationships, [])
26
34
  properties[:uniqueness] = opts.fetch(:uniqueness, "relationship_global")
27
35
  properties[:prune_evaluator] = opts[:prune_evaluator] if opts[:prune_evaluator]
28
36
  properties[:return_filter] = opts[:return_filter] if opts[:return_filter]
@@ -30,5 +38,9 @@ module Keymaker
30
38
  end
31
39
  end
32
40
 
41
+ def node_traverse_path(node_id)
42
+ [node_path, node_id.to_s, "traverse", "path"].join("/")
43
+ end
44
+
33
45
  end
34
46
  end
@@ -3,7 +3,14 @@ module Keymaker
3
3
  class UpdateNodePropertiesRequest < Request
4
4
 
5
5
  def submit
6
- service.put(node_properties_path(opts[:node_id]), node_properties)
6
+ service.put(node_properties_path(opts[:node_id]), node_properties).on_error do |response|
7
+ case response.status
8
+ when (400..499)
9
+ raise ClientError.new(response, response.body)
10
+ when (500..599)
11
+ raise ServerError.new(response, response.body)
12
+ end
13
+ end
7
14
  end
8
15
 
9
16
  def node_properties
@@ -27,6 +27,7 @@ module Keymaker
27
27
  if success?
28
28
  yield self
29
29
  end
30
+ self
30
31
  end
31
32
 
32
33
  def success?
@@ -18,8 +18,9 @@ module Keymaker
18
18
 
19
19
  def connection
20
20
  @connection ||= Faraday.new(url: config.connection_service_root_url) do |conn|
21
+ conn.use FaradayMiddleware::Mashify
21
22
  conn.request :json
22
- conn.use FaradayMiddleware::ParseJson, content_type: /\bjson$/
23
+ conn.response :json, :content_type => /\bjson$/
23
24
  conn.adapter :net_http
24
25
  end
25
26
  end
@@ -42,11 +43,22 @@ module Keymaker
42
43
  create_node_request(attrs)
43
44
  end
44
45
 
46
+ def get_node(node_id)
47
+ response = get_node_request({node_id: node_id})
48
+ data = response.body.data
49
+ data.merge!("neo4j_id" => response.neo4j_id, "__raw_response__" => response)
50
+ end
51
+
45
52
  # Update Node properties
46
53
  def update_node_properties(node_id, attrs)
47
54
  update_node_properties_request({node_id: node_id}.merge(attrs))
48
55
  end
49
56
 
57
+ # Delete Node
58
+ def delete_node(node_id)
59
+ delete_node_request(node_id: node_id)
60
+ end
61
+
50
62
  # Create Relationship
51
63
  def create_relationship(rel_type, start_node_id, end_node_id, data={})
52
64
  create_relationship_request({node_id: start_node_id, rel_type: rel_type, end_node_id: end_node_id, data: data})
@@ -69,7 +81,7 @@ module Keymaker
69
81
 
70
82
  # Path Traverse
71
83
  def path_traverse(start_node_id, data={})
72
- path_traverse_request({node_id: start_node_id}.merge(data))
84
+ traverse_path_request({node_id: start_node_id}.merge(data))
73
85
  end
74
86
 
75
87
  # Batch
@@ -80,7 +92,7 @@ module Keymaker
80
92
 
81
93
  # Cypher Query
82
94
  def execute_query(query, params)
83
- execute_cypher_request({query: query, params: params})
95
+ execute_cypher_request({query: query, params: params}).body
84
96
  end
85
97
 
86
98
  # Gremlin Script
@@ -111,7 +123,7 @@ module Keymaker
111
123
 
112
124
  def parse_url(url)
113
125
  connection.build_url(url).tap do |uri|
114
- if uri.port != config.port
126
+ if uri.port != Integer(config.port)
115
127
  raise RuntimeError, "bad port"
116
128
  end
117
129
  end
@@ -30,7 +30,7 @@ http_interactions:
30
30
  encoding: US-ASCII
31
31
  string: ! '[ ]'
32
32
  http_version: !!null
33
- recorded_at: Fri, 06 Jul 2012 02:25:17 GMT
33
+ recorded_at: Wed, 25 Jul 2012 00:34:55 GMT
34
34
  - request:
35
35
  method: delete
36
36
  uri: http://localhost:7477/db/data/index/node/users
@@ -44,7 +44,7 @@ http_interactions:
44
44
  message: !!null
45
45
  headers:
46
46
  content-length:
47
- - '470'
47
+ - '422'
48
48
  content-encoding:
49
49
  - UTF-8
50
50
  content-type:
@@ -58,13 +58,12 @@ http_interactions:
58
58
  body:
59
59
  encoding: US-ASCII
60
60
  string: ! "{\n \"message\" : \"No node index named 'users'.\",\n \"exception\"
61
- : \"org.neo4j.graphdb.NotFoundException: No node index named 'users'.\",\n
62
- \ \"stacktrace\" : [ \"org.neo4j.server.rest.web.DatabaseActions.removeNodeIndex(DatabaseActions.java:421)\",
61
+ : \"NotFoundException\",\n \"stacktrace\" : [ \"org.neo4j.server.rest.web.DatabaseActions.removeNodeIndex(DatabaseActions.java:420)\",
63
62
  \"org.neo4j.server.rest.web.RestfulGraphDatabase.deleteNodeIndex(RestfulGraphDatabase.java:729)\",
64
63
  \"java.lang.reflect.Method.invoke(Method.java:597)\", \"org.neo4j.server.statistic.StatisticFilter.doFilter(StatisticFilter.java:62)\"
65
64
  ]\n}"
66
65
  http_version: !!null
67
- recorded_at: Fri, 06 Jul 2012 02:25:17 GMT
66
+ recorded_at: Wed, 25 Jul 2012 00:34:55 GMT
68
67
  - request:
69
68
  method: post
70
69
  uri: http://localhost:7477/db/data/node
@@ -80,9 +79,9 @@ http_interactions:
80
79
  message: !!null
81
80
  headers:
82
81
  content-length:
83
- - '1150'
82
+ - '1138'
84
83
  location:
85
- - http://localhost:7477/db/data/node/1006
84
+ - http://localhost:7477/db/data/node/191
86
85
  content-encoding:
87
86
  - UTF-8
88
87
  content-type:
@@ -95,21 +94,21 @@ http_interactions:
95
94
  - Jetty(6.1.25)
96
95
  body:
97
96
  encoding: US-ASCII
98
- string: ! "{\n \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/1006/relationships/out\",\n
99
- \ \"data\" : {\n \"email\" : \"john@resistance.net\"\n },\n \"traverse\"
100
- : \"http://localhost:7477/db/data/node/1006/traverse/{returnType}\",\n \"all_typed_relationships\"
101
- : \"http://localhost:7477/db/data/node/1006/relationships/all/{-list|&|types}\",\n
102
- \ \"property\" : \"http://localhost:7477/db/data/node/1006/properties/{key}\",\n
103
- \ \"self\" : \"http://localhost:7477/db/data/node/1006\",\n \"properties\"
104
- : \"http://localhost:7477/db/data/node/1006/properties\",\n \"outgoing_typed_relationships\"
105
- : \"http://localhost:7477/db/data/node/1006/relationships/out/{-list|&|types}\",\n
106
- \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/1006/relationships/in\",\n
107
- \ \"extensions\" : {\n },\n \"create_relationship\" : \"http://localhost:7477/db/data/node/1006/relationships\",\n
108
- \ \"paged_traverse\" : \"http://localhost:7477/db/data/node/1006/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
109
- \ \"all_relationships\" : \"http://localhost:7477/db/data/node/1006/relationships/all\",\n
110
- \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/1006/relationships/in/{-list|&|types}\"\n}"
97
+ string: ! "{\n \"extensions\" : {\n },\n \"paged_traverse\" : \"http://localhost:7477/db/data/node/191/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
98
+ \ \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/191/relationships/out\",\n
99
+ \ \"traverse\" : \"http://localhost:7477/db/data/node/191/traverse/{returnType}\",\n
100
+ \ \"all_typed_relationships\" : \"http://localhost:7477/db/data/node/191/relationships/all/{-list|&|types}\",\n
101
+ \ \"property\" : \"http://localhost:7477/db/data/node/191/properties/{key}\",\n
102
+ \ \"all_relationships\" : \"http://localhost:7477/db/data/node/191/relationships/all\",\n
103
+ \ \"self\" : \"http://localhost:7477/db/data/node/191\",\n \"properties\"
104
+ : \"http://localhost:7477/db/data/node/191/properties\",\n \"outgoing_typed_relationships\"
105
+ : \"http://localhost:7477/db/data/node/191/relationships/out/{-list|&|types}\",\n
106
+ \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/191/relationships/in\",\n
107
+ \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/191/relationships/in/{-list|&|types}\",\n
108
+ \ \"create_relationship\" : \"http://localhost:7477/db/data/node/191/relationships\",\n
109
+ \ \"data\" : {\n \"email\" : \"john@resistance.net\"\n }\n}"
111
110
  http_version: !!null
112
- recorded_at: Fri, 06 Jul 2012 02:25:17 GMT
111
+ recorded_at: Wed, 25 Jul 2012 00:34:55 GMT
113
112
  - request:
114
113
  method: post
115
114
  uri: http://localhost:7477/db/data/node
@@ -125,9 +124,9 @@ http_interactions:
125
124
  message: !!null
126
125
  headers:
127
126
  content-length:
128
- - '1151'
127
+ - '1139'
129
128
  location:
130
- - http://localhost:7477/db/data/node/1007
129
+ - http://localhost:7477/db/data/node/192
131
130
  content-encoding:
132
131
  - UTF-8
133
132
  content-type:
@@ -140,27 +139,27 @@ http_interactions:
140
139
  - Jetty(6.1.25)
141
140
  body:
142
141
  encoding: US-ASCII
143
- string: ! "{\n \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/1007/relationships/out\",\n
144
- \ \"data\" : {\n \"email\" : \"sarah@resistance.net\"\n },\n \"traverse\"
145
- : \"http://localhost:7477/db/data/node/1007/traverse/{returnType}\",\n \"all_typed_relationships\"
146
- : \"http://localhost:7477/db/data/node/1007/relationships/all/{-list|&|types}\",\n
147
- \ \"property\" : \"http://localhost:7477/db/data/node/1007/properties/{key}\",\n
148
- \ \"self\" : \"http://localhost:7477/db/data/node/1007\",\n \"properties\"
149
- : \"http://localhost:7477/db/data/node/1007/properties\",\n \"outgoing_typed_relationships\"
150
- : \"http://localhost:7477/db/data/node/1007/relationships/out/{-list|&|types}\",\n
151
- \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/1007/relationships/in\",\n
152
- \ \"extensions\" : {\n },\n \"create_relationship\" : \"http://localhost:7477/db/data/node/1007/relationships\",\n
153
- \ \"paged_traverse\" : \"http://localhost:7477/db/data/node/1007/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
154
- \ \"all_relationships\" : \"http://localhost:7477/db/data/node/1007/relationships/all\",\n
155
- \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/1007/relationships/in/{-list|&|types}\"\n}"
142
+ string: ! "{\n \"extensions\" : {\n },\n \"paged_traverse\" : \"http://localhost:7477/db/data/node/192/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
143
+ \ \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/192/relationships/out\",\n
144
+ \ \"traverse\" : \"http://localhost:7477/db/data/node/192/traverse/{returnType}\",\n
145
+ \ \"all_typed_relationships\" : \"http://localhost:7477/db/data/node/192/relationships/all/{-list|&|types}\",\n
146
+ \ \"property\" : \"http://localhost:7477/db/data/node/192/properties/{key}\",\n
147
+ \ \"all_relationships\" : \"http://localhost:7477/db/data/node/192/relationships/all\",\n
148
+ \ \"self\" : \"http://localhost:7477/db/data/node/192\",\n \"properties\"
149
+ : \"http://localhost:7477/db/data/node/192/properties\",\n \"outgoing_typed_relationships\"
150
+ : \"http://localhost:7477/db/data/node/192/relationships/out/{-list|&|types}\",\n
151
+ \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/192/relationships/in\",\n
152
+ \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/192/relationships/in/{-list|&|types}\",\n
153
+ \ \"create_relationship\" : \"http://localhost:7477/db/data/node/192/relationships\",\n
154
+ \ \"data\" : {\n \"email\" : \"sarah@resistance.net\"\n }\n}"
156
155
  http_version: !!null
157
- recorded_at: Fri, 06 Jul 2012 02:25:17 GMT
156
+ recorded_at: Wed, 25 Jul 2012 00:34:56 GMT
158
157
  - request:
159
158
  method: post
160
159
  uri: http://localhost:7477/db/data/index/node/users
161
160
  body:
162
161
  encoding: UTF-8
163
- string: ! '{"key":"email","value":"john@resistance.net","uri":"http://localhost:7477/db/data/node/1006"}'
162
+ string: ! '{"key":"email","value":"john@resistance.net","uri":"http://localhost:7477/db/data/node/191"}'
164
163
  headers:
165
164
  Content-Type:
166
165
  - application/json
@@ -170,9 +169,9 @@ http_interactions:
170
169
  message: !!null
171
170
  headers:
172
171
  content-length:
173
- - '1247'
172
+ - '1234'
174
173
  location:
175
- - http://localhost:7477/db/data/index/node/users/email/john%40resistance.net/1006
174
+ - http://localhost:7477/db/data/index/node/users/email/john%40resistance.net/191
176
175
  content-encoding:
177
176
  - UTF-8
178
177
  content-type:
@@ -185,20 +184,20 @@ http_interactions:
185
184
  - Jetty(6.1.25)
186
185
  body:
187
186
  encoding: US-ASCII
188
- string: ! "{\n \"indexed\" : \"http://localhost:7477/db/data/index/node/users/email/john%40resistance.net/1006\",\n
189
- \ \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/1006/relationships/out\",\n
190
- \ \"data\" : {\n \"email\" : \"john@resistance.net\"\n },\n \"traverse\"
191
- : \"http://localhost:7477/db/data/node/1006/traverse/{returnType}\",\n \"all_typed_relationships\"
192
- : \"http://localhost:7477/db/data/node/1006/relationships/all/{-list|&|types}\",\n
193
- \ \"property\" : \"http://localhost:7477/db/data/node/1006/properties/{key}\",\n
194
- \ \"self\" : \"http://localhost:7477/db/data/node/1006\",\n \"properties\"
195
- : \"http://localhost:7477/db/data/node/1006/properties\",\n \"outgoing_typed_relationships\"
196
- : \"http://localhost:7477/db/data/node/1006/relationships/out/{-list|&|types}\",\n
197
- \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/1006/relationships/in\",\n
198
- \ \"extensions\" : {\n },\n \"create_relationship\" : \"http://localhost:7477/db/data/node/1006/relationships\",\n
199
- \ \"paged_traverse\" : \"http://localhost:7477/db/data/node/1006/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
200
- \ \"all_relationships\" : \"http://localhost:7477/db/data/node/1006/relationships/all\",\n
201
- \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/1006/relationships/in/{-list|&|types}\"\n}"
187
+ string: ! "{\n \"extensions\" : {\n },\n \"paged_traverse\" : \"http://localhost:7477/db/data/node/191/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
188
+ \ \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/191/relationships/out\",\n
189
+ \ \"traverse\" : \"http://localhost:7477/db/data/node/191/traverse/{returnType}\",\n
190
+ \ \"all_typed_relationships\" : \"http://localhost:7477/db/data/node/191/relationships/all/{-list|&|types}\",\n
191
+ \ \"property\" : \"http://localhost:7477/db/data/node/191/properties/{key}\",\n
192
+ \ \"all_relationships\" : \"http://localhost:7477/db/data/node/191/relationships/all\",\n
193
+ \ \"self\" : \"http://localhost:7477/db/data/node/191\",\n \"properties\"
194
+ : \"http://localhost:7477/db/data/node/191/properties\",\n \"outgoing_typed_relationships\"
195
+ : \"http://localhost:7477/db/data/node/191/relationships/out/{-list|&|types}\",\n
196
+ \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/191/relationships/in\",\n
197
+ \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/191/relationships/in/{-list|&|types}\",\n
198
+ \ \"create_relationship\" : \"http://localhost:7477/db/data/node/191/relationships\",\n
199
+ \ \"data\" : {\n \"email\" : \"john@resistance.net\"\n },\n \"indexed\"
200
+ : \"http://localhost:7477/db/data/index/node/users/email/john%40resistance.net/191\"\n}"
202
201
  http_version: !!null
203
- recorded_at: Fri, 06 Jul 2012 02:25:27 GMT
202
+ recorded_at: Wed, 25 Jul 2012 00:34:56 GMT
204
203
  recorded_with: VCR 2.2.2
@@ -30,7 +30,7 @@ http_interactions:
30
30
  encoding: US-ASCII
31
31
  string: ! '[ ]'
32
32
  http_version: !!null
33
- recorded_at: Fri, 06 Jul 2012 02:25:34 GMT
33
+ recorded_at: Wed, 25 Jul 2012 00:34:56 GMT
34
34
  - request:
35
35
  method: delete
36
36
  uri: http://localhost:7477/db/data/index/node/users
@@ -44,7 +44,7 @@ http_interactions:
44
44
  message: !!null
45
45
  headers:
46
46
  content-length:
47
- - '470'
47
+ - '422'
48
48
  content-encoding:
49
49
  - UTF-8
50
50
  content-type:
@@ -58,13 +58,12 @@ http_interactions:
58
58
  body:
59
59
  encoding: US-ASCII
60
60
  string: ! "{\n \"message\" : \"No node index named 'users'.\",\n \"exception\"
61
- : \"org.neo4j.graphdb.NotFoundException: No node index named 'users'.\",\n
62
- \ \"stacktrace\" : [ \"org.neo4j.server.rest.web.DatabaseActions.removeNodeIndex(DatabaseActions.java:421)\",
61
+ : \"NotFoundException\",\n \"stacktrace\" : [ \"org.neo4j.server.rest.web.DatabaseActions.removeNodeIndex(DatabaseActions.java:420)\",
63
62
  \"org.neo4j.server.rest.web.RestfulGraphDatabase.deleteNodeIndex(RestfulGraphDatabase.java:729)\",
64
63
  \"java.lang.reflect.Method.invoke(Method.java:597)\", \"org.neo4j.server.statistic.StatisticFilter.doFilter(StatisticFilter.java:62)\"
65
64
  ]\n}"
66
65
  http_version: !!null
67
- recorded_at: Fri, 06 Jul 2012 02:25:34 GMT
66
+ recorded_at: Wed, 25 Jul 2012 00:34:56 GMT
68
67
  - request:
69
68
  method: post
70
69
  uri: http://localhost:7477/db/data/node
@@ -80,9 +79,9 @@ http_interactions:
80
79
  message: !!null
81
80
  headers:
82
81
  content-length:
83
- - '1150'
82
+ - '1138'
84
83
  location:
85
- - http://localhost:7477/db/data/node/1008
84
+ - http://localhost:7477/db/data/node/193
86
85
  content-encoding:
87
86
  - UTF-8
88
87
  content-type:
@@ -95,21 +94,21 @@ http_interactions:
95
94
  - Jetty(6.1.25)
96
95
  body:
97
96
  encoding: US-ASCII
98
- string: ! "{\n \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/1008/relationships/out\",\n
99
- \ \"data\" : {\n \"email\" : \"john@resistance.net\"\n },\n \"traverse\"
100
- : \"http://localhost:7477/db/data/node/1008/traverse/{returnType}\",\n \"all_typed_relationships\"
101
- : \"http://localhost:7477/db/data/node/1008/relationships/all/{-list|&|types}\",\n
102
- \ \"property\" : \"http://localhost:7477/db/data/node/1008/properties/{key}\",\n
103
- \ \"self\" : \"http://localhost:7477/db/data/node/1008\",\n \"properties\"
104
- : \"http://localhost:7477/db/data/node/1008/properties\",\n \"outgoing_typed_relationships\"
105
- : \"http://localhost:7477/db/data/node/1008/relationships/out/{-list|&|types}\",\n
106
- \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/1008/relationships/in\",\n
107
- \ \"extensions\" : {\n },\n \"create_relationship\" : \"http://localhost:7477/db/data/node/1008/relationships\",\n
108
- \ \"paged_traverse\" : \"http://localhost:7477/db/data/node/1008/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
109
- \ \"all_relationships\" : \"http://localhost:7477/db/data/node/1008/relationships/all\",\n
110
- \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/1008/relationships/in/{-list|&|types}\"\n}"
97
+ string: ! "{\n \"extensions\" : {\n },\n \"paged_traverse\" : \"http://localhost:7477/db/data/node/193/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
98
+ \ \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/193/relationships/out\",\n
99
+ \ \"traverse\" : \"http://localhost:7477/db/data/node/193/traverse/{returnType}\",\n
100
+ \ \"all_typed_relationships\" : \"http://localhost:7477/db/data/node/193/relationships/all/{-list|&|types}\",\n
101
+ \ \"property\" : \"http://localhost:7477/db/data/node/193/properties/{key}\",\n
102
+ \ \"all_relationships\" : \"http://localhost:7477/db/data/node/193/relationships/all\",\n
103
+ \ \"self\" : \"http://localhost:7477/db/data/node/193\",\n \"properties\"
104
+ : \"http://localhost:7477/db/data/node/193/properties\",\n \"outgoing_typed_relationships\"
105
+ : \"http://localhost:7477/db/data/node/193/relationships/out/{-list|&|types}\",\n
106
+ \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/193/relationships/in\",\n
107
+ \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/193/relationships/in/{-list|&|types}\",\n
108
+ \ \"create_relationship\" : \"http://localhost:7477/db/data/node/193/relationships\",\n
109
+ \ \"data\" : {\n \"email\" : \"john@resistance.net\"\n }\n}"
111
110
  http_version: !!null
112
- recorded_at: Fri, 06 Jul 2012 02:25:34 GMT
111
+ recorded_at: Wed, 25 Jul 2012 00:34:56 GMT
113
112
  - request:
114
113
  method: post
115
114
  uri: http://localhost:7477/db/data/node
@@ -125,9 +124,9 @@ http_interactions:
125
124
  message: !!null
126
125
  headers:
127
126
  content-length:
128
- - '1151'
127
+ - '1139'
129
128
  location:
130
- - http://localhost:7477/db/data/node/1009
129
+ - http://localhost:7477/db/data/node/194
131
130
  content-encoding:
132
131
  - UTF-8
133
132
  content-type:
@@ -140,27 +139,27 @@ http_interactions:
140
139
  - Jetty(6.1.25)
141
140
  body:
142
141
  encoding: US-ASCII
143
- string: ! "{\n \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/1009/relationships/out\",\n
144
- \ \"data\" : {\n \"email\" : \"sarah@resistance.net\"\n },\n \"traverse\"
145
- : \"http://localhost:7477/db/data/node/1009/traverse/{returnType}\",\n \"all_typed_relationships\"
146
- : \"http://localhost:7477/db/data/node/1009/relationships/all/{-list|&|types}\",\n
147
- \ \"property\" : \"http://localhost:7477/db/data/node/1009/properties/{key}\",\n
148
- \ \"self\" : \"http://localhost:7477/db/data/node/1009\",\n \"properties\"
149
- : \"http://localhost:7477/db/data/node/1009/properties\",\n \"outgoing_typed_relationships\"
150
- : \"http://localhost:7477/db/data/node/1009/relationships/out/{-list|&|types}\",\n
151
- \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/1009/relationships/in\",\n
152
- \ \"extensions\" : {\n },\n \"create_relationship\" : \"http://localhost:7477/db/data/node/1009/relationships\",\n
153
- \ \"paged_traverse\" : \"http://localhost:7477/db/data/node/1009/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
154
- \ \"all_relationships\" : \"http://localhost:7477/db/data/node/1009/relationships/all\",\n
155
- \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/1009/relationships/in/{-list|&|types}\"\n}"
142
+ string: ! "{\n \"extensions\" : {\n },\n \"paged_traverse\" : \"http://localhost:7477/db/data/node/194/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
143
+ \ \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/194/relationships/out\",\n
144
+ \ \"traverse\" : \"http://localhost:7477/db/data/node/194/traverse/{returnType}\",\n
145
+ \ \"all_typed_relationships\" : \"http://localhost:7477/db/data/node/194/relationships/all/{-list|&|types}\",\n
146
+ \ \"property\" : \"http://localhost:7477/db/data/node/194/properties/{key}\",\n
147
+ \ \"all_relationships\" : \"http://localhost:7477/db/data/node/194/relationships/all\",\n
148
+ \ \"self\" : \"http://localhost:7477/db/data/node/194\",\n \"properties\"
149
+ : \"http://localhost:7477/db/data/node/194/properties\",\n \"outgoing_typed_relationships\"
150
+ : \"http://localhost:7477/db/data/node/194/relationships/out/{-list|&|types}\",\n
151
+ \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/194/relationships/in\",\n
152
+ \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/194/relationships/in/{-list|&|types}\",\n
153
+ \ \"create_relationship\" : \"http://localhost:7477/db/data/node/194/relationships\",\n
154
+ \ \"data\" : {\n \"email\" : \"sarah@resistance.net\"\n }\n}"
156
155
  http_version: !!null
157
- recorded_at: Fri, 06 Jul 2012 02:25:34 GMT
156
+ recorded_at: Wed, 25 Jul 2012 00:34:56 GMT
158
157
  - request:
159
158
  method: post
160
159
  uri: http://localhost:7477/db/data/index/node/users
161
160
  body:
162
161
  encoding: UTF-8
163
- string: ! '{"key":"email","value":"john@resistance.net","uri":"http://localhost:7477/db/data/node/1008"}'
162
+ string: ! '{"key":"email","value":"john@resistance.net","uri":"http://localhost:7477/db/data/node/193"}'
164
163
  headers:
165
164
  Content-Type:
166
165
  - application/json
@@ -170,9 +169,9 @@ http_interactions:
170
169
  message: !!null
171
170
  headers:
172
171
  content-length:
173
- - '1247'
172
+ - '1234'
174
173
  location:
175
- - http://localhost:7477/db/data/index/node/users/email/john%40resistance.net/1008
174
+ - http://localhost:7477/db/data/index/node/users/email/john%40resistance.net/193
176
175
  content-encoding:
177
176
  - UTF-8
178
177
  content-type:
@@ -185,20 +184,20 @@ http_interactions:
185
184
  - Jetty(6.1.25)
186
185
  body:
187
186
  encoding: US-ASCII
188
- string: ! "{\n \"indexed\" : \"http://localhost:7477/db/data/index/node/users/email/john%40resistance.net/1008\",\n
189
- \ \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/1008/relationships/out\",\n
190
- \ \"data\" : {\n \"email\" : \"john@resistance.net\"\n },\n \"traverse\"
191
- : \"http://localhost:7477/db/data/node/1008/traverse/{returnType}\",\n \"all_typed_relationships\"
192
- : \"http://localhost:7477/db/data/node/1008/relationships/all/{-list|&|types}\",\n
193
- \ \"property\" : \"http://localhost:7477/db/data/node/1008/properties/{key}\",\n
194
- \ \"self\" : \"http://localhost:7477/db/data/node/1008\",\n \"properties\"
195
- : \"http://localhost:7477/db/data/node/1008/properties\",\n \"outgoing_typed_relationships\"
196
- : \"http://localhost:7477/db/data/node/1008/relationships/out/{-list|&|types}\",\n
197
- \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/1008/relationships/in\",\n
198
- \ \"extensions\" : {\n },\n \"create_relationship\" : \"http://localhost:7477/db/data/node/1008/relationships\",\n
199
- \ \"paged_traverse\" : \"http://localhost:7477/db/data/node/1008/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
200
- \ \"all_relationships\" : \"http://localhost:7477/db/data/node/1008/relationships/all\",\n
201
- \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/1008/relationships/in/{-list|&|types}\"\n}"
187
+ string: ! "{\n \"extensions\" : {\n },\n \"paged_traverse\" : \"http://localhost:7477/db/data/node/193/paged/traverse/{returnType}{?pageSize,leaseTime}\",\n
188
+ \ \"outgoing_relationships\" : \"http://localhost:7477/db/data/node/193/relationships/out\",\n
189
+ \ \"traverse\" : \"http://localhost:7477/db/data/node/193/traverse/{returnType}\",\n
190
+ \ \"all_typed_relationships\" : \"http://localhost:7477/db/data/node/193/relationships/all/{-list|&|types}\",\n
191
+ \ \"property\" : \"http://localhost:7477/db/data/node/193/properties/{key}\",\n
192
+ \ \"all_relationships\" : \"http://localhost:7477/db/data/node/193/relationships/all\",\n
193
+ \ \"self\" : \"http://localhost:7477/db/data/node/193\",\n \"properties\"
194
+ : \"http://localhost:7477/db/data/node/193/properties\",\n \"outgoing_typed_relationships\"
195
+ : \"http://localhost:7477/db/data/node/193/relationships/out/{-list|&|types}\",\n
196
+ \ \"incoming_relationships\" : \"http://localhost:7477/db/data/node/193/relationships/in\",\n
197
+ \ \"incoming_typed_relationships\" : \"http://localhost:7477/db/data/node/193/relationships/in/{-list|&|types}\",\n
198
+ \ \"create_relationship\" : \"http://localhost:7477/db/data/node/193/relationships\",\n
199
+ \ \"data\" : {\n \"email\" : \"john@resistance.net\"\n },\n \"indexed\"
200
+ : \"http://localhost:7477/db/data/index/node/users/email/john%40resistance.net/193\"\n}"
202
201
  http_version: !!null
203
- recorded_at: Fri, 06 Jul 2012 02:25:34 GMT
202
+ recorded_at: Wed, 25 Jul 2012 00:34:56 GMT
204
203
  recorded_with: VCR 2.2.2