cmis-ruby 0.5.10 → 0.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67382282756ff7179f4b0a8c70b3fe9a159f997c
4
- data.tar.gz: 85a2fdab45eeaa30828ca6470f75975131b51325
3
+ metadata.gz: 9d2d4ac04b9c8fa478e27d08f3acfd0a99bd4c4a
4
+ data.tar.gz: 8c50066f231536e87a56a8c38041cb65ca58d57b
5
5
  SHA512:
6
- metadata.gz: f9b5fff7672df1656a236239b0e763cd2e4b58340a5597fd2534f86bf5e1ded5e27839b7ea6ca9666ab41922dcf36b4ddbf77a693687c8fa40507c075a97fdaf
7
- data.tar.gz: ff8457c303ed782d89a367acc852a81e09ef6c85c98a9de3da6118bd818aaf0249fedd4e358aa726ae0cf94ecd99e6a85a6f7528bc9e4af988a454689d4d4cae
6
+ metadata.gz: 8f3fe2922b129273f6e1116cdb20e19939f1273e0ed49b7896ac6641449392e12faaa1e2d67d163c1ba81badba49fbe709759c86d138f11662de5153c56de2a7
7
+ data.tar.gz: 28bbc75ed037c441f30a6660b01ffa4d1ecbc52857825370687056f1f7540610a73b3e69113d8c48f6afbc0f89c0267f591780824af74ad004432f3f32005ef5
@@ -40,10 +40,20 @@ module CMIS
40
40
  else
41
41
  @http.get(url, params.merge(query), headers)
42
42
  end
43
+
44
+ rescue Exception
45
+ raise_enriched_exception(repository_id, params)
43
46
  end
44
47
 
45
48
  private
46
49
 
50
+ def raise_enriched_exception(repo_id, params)
51
+ params_to_log = { repository_id: repo_id }.merge(params)
52
+ msg_parts = $!.to_s.split("\n", 2)
53
+ msg_parts.insert(1, JSON.pretty_generate(params_to_log))
54
+ raise $!, msg_parts.join("\n"), $!.backtrace
55
+ end
56
+
47
57
  def connection_options(options)
48
58
  adapter = (options[:adapter] || :net_http).to_sym
49
59
  headers = { user_agent: "cmis-ruby/#{VERSION} [#{adapter}]" }
@@ -21,6 +21,12 @@ module CMIS
21
21
  Children.new(self, opts)
22
22
  end
23
23
 
24
+ def folder_tree(opts = {})
25
+ server.execute!({ cmisselector: 'folderTree',
26
+ repositoryId: repository.id,
27
+ objectId: cmis_object_id }, opts)
28
+ end
29
+
24
30
  def create(object, opts = {})
25
31
  case object
26
32
  when Document
@@ -15,8 +15,7 @@ module CMIS
15
15
  query = options.fetch(:query, {})
16
16
  headers = options.fetch(:headers, {})
17
17
 
18
- response = connection.do_request(params, query, headers)
19
- response.body
18
+ connection.do_request(params, query, headers).body
20
19
  end
21
20
 
22
21
  def repositories(opts = {})
@@ -1,4 +1,4 @@
1
1
 
2
2
  module CMIS
3
- VERSION = '0.5.10'
3
+ VERSION = '0.5.11'
4
4
  end
@@ -2,6 +2,75 @@ require 'spec_helper'
2
2
 
3
3
  module CMIS
4
4
  describe Relationship do
5
- # No relevant tests here yet...
5
+ before :all do
6
+ cleanup_relationships
7
+ @document = create_document
8
+ end
9
+
10
+ after :all do
11
+ @document.delete
12
+ end
13
+
14
+ context 'when deleting relationships with sourceId and targetId pointing to same document' do
15
+ before :each do
16
+ 40.times { create_relationship(@document.cmis_object_id, @document.cmis_object_id) }
17
+ end
18
+
19
+ after :each do
20
+ cleanup_relationships
21
+ end
22
+
23
+ it 'deletes all relationships via document' do
24
+ loop do
25
+ results = @document.relationships.results
26
+ break if results.size == 0
27
+ results.each { |rel| rel.delete }
28
+ end
29
+
30
+ expect(count_relationships).to eq(0)
31
+ end
32
+
33
+ it 'deletes all relationships via query' do
34
+ loop do
35
+ results = repository.query("select * from cmis:relationship").results
36
+ break if results.size == 0
37
+ results.each { |rel| rel.delete}
38
+ end
39
+ expect(count_relationships).to eq(0)
40
+ end
41
+
42
+ it 'deletes all relationships after retrieving them' do
43
+ cleanup_relationships
44
+ expect(count_relationships).to eq(0)
45
+ end
46
+ end
47
+
48
+ def create_relationship(source_id, target_id)
49
+ new_object = repository.new_relationship
50
+ new_object.name = "doc_#{source_id}"
51
+ new_object.object_type_id = 'cmis:relationship'
52
+ new_object.source_id = source_id
53
+ new_object.target_id = target_id
54
+ repository.create_relationship(new_object)
55
+ end
56
+
57
+ def create_document
58
+ document = repository.new_document
59
+ document.name = 'apple_document'
60
+ document.object_type_id = 'cmis:document'
61
+ document.create_in_folder(repository.root)
62
+ end
63
+
64
+ def cleanup_relationships
65
+ results = []
66
+ repository.query("select * from cmis:relationship").each_result(limit: :all) { | rel | results << rel}
67
+ results.each { |rel| rel.delete }
68
+ end
69
+
70
+ def count_relationships
71
+ count = 0
72
+ repository.query("select cmis:objectId from cmis:relationship").each_result(limit: :all) { | rel | count += 1}
73
+ count
74
+ end
6
75
  end
7
76
  end
@@ -3,6 +3,12 @@ local:
3
3
  server:
4
4
  service_url: http://33.33.33.100:8080/browser
5
5
  repository: test
6
+ dev:
7
+ server:
8
+ service_url: http://localhost:8150/browser
9
+ username: cmis_ruby_test
10
+ password: cmis_ruby_test
11
+ repository: demo
6
12
  ci:
7
13
  server:
8
14
  service_url: https://cmis-service.ci.apps.up-nxt.com/browser
@@ -24,13 +24,9 @@ module SpecHelpers
24
24
  @@options ||= begin
25
25
  path = File.join(File.dirname(File.expand_path(__FILE__)), 'config.yml')
26
26
  config = YAML.load(ERB.new(File.read(path)).result)
27
- config[config_key] or raise "No configuration found for `#{config_key}`"
27
+ config[ENV.fetch('TEST_ENV', 'local')]
28
28
  end
29
29
  end
30
-
31
- def config_key
32
- ENV['TEST_ENV'] || 'local'
33
- end
34
30
  end
35
31
 
36
32
  RSpec.configure do |c|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmis-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.10
4
+ version: 0.5.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenneth Geerts
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-30 00:00:00.000000000 Z
12
+ date: 2014-07-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday