alfresco4r 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,55 @@
1
+ ################################################################################
2
+ # File: document_download.rb
3
+ # Author:Sivaprakasam Boopathy
4
+ # Date: May 17, 2012
5
+ # Description: This file gives ability to download document from Alfresco
6
+ ################################################################################
7
+
8
+ require 'alfresco4r'
9
+
10
+ module Alfresco4r
11
+ class DocumentDownload < AbstractAlfrescoService
12
+ EXPECTED_PARAMS = [:download_url,:node]
13
+
14
+ attr_reader :data_stream
15
+
16
+ def initialize(options)
17
+ @options = options
18
+ return verify_params if verify_params.kind_of?(Alfresco4r::AlfError)
19
+ super
20
+ download_document
21
+ end
22
+
23
+ def verify_params
24
+ begin
25
+ raise "Empty Parameter" if @options.empty?
26
+ missing_params = EXPECTED_PARAMS - @options.keys
27
+ unless missing_params.empty?
28
+ msg = "Expected paramerter #{missing_params} are missing. Expected parameters are :download_url,:node"
29
+ raise "#{msg}"
30
+ end
31
+ rescue => e
32
+ @res_obj = Alfresco4r::AlfError.new(e.message)
33
+ end
34
+ end
35
+
36
+ def download_document
37
+ begin
38
+ @http.request(@request) do |response|
39
+ @data_stream = response.read_body
40
+ end
41
+ @http.finish if @http.started?
42
+ @res_obj = Alfresco4r::AlfSucessStream.new(@data_stream)
43
+ rescue => e
44
+ @res_obj = Alfresco4r::AlfError.new(e.message)
45
+ end
46
+ end
47
+
48
+ def response
49
+ return @res_obj
50
+ end
51
+
52
+
53
+ end
54
+ end
55
+
@@ -0,0 +1,90 @@
1
+ ################################################################################
2
+ # File: document_upload.rb
3
+ # Author:Sivaprakasam Boopathy
4
+ # Date: May 17, 2012
5
+ # Description: This file gives ability to upload document to Alfresco
6
+ ################################################################################
7
+
8
+ require 'json'
9
+ require 'alfresco4r'
10
+
11
+ module Alfresco4r
12
+ class DocumentUpload < AbstractAlfrescoService
13
+ EXPECTED_PARAMS = [:siteid,:containerid,:uploaddirectory,:mime_type,:full_file_name,:filedata,:upload_url]
14
+
15
+
16
+ def initialize(options)
17
+ @options = options
18
+ return verify_params if verify_params.kind_of?(Alfresco4r::AlfError)
19
+ @siteid = siteid
20
+ @containerid = containerid
21
+ @uploaddirectory = uploaddirectory
22
+ @filedata = filedata
23
+ @mime_type = mime_type
24
+ @full_file_name = full_file_name
25
+ @form_params = Array.new
26
+ super
27
+ upload_document
28
+ end
29
+
30
+ def verify_params
31
+ begin
32
+ raise "Empty Parameter" if @options.empty?
33
+ missing_params = EXPECTED_PARAMS - @options.keys
34
+ unless missing_params.empty?
35
+ msg = "Expected paramerter #{missing_params} are missing. Expected parameters are siteid,containerid,uploaddirectory,mime_type,full_file_name,filedata."
36
+ raise "#{msg}"
37
+ end
38
+ rescue => e
39
+ @res_obj = Alfresco4r::AlfError.new(e.message)
40
+ end
41
+ end
42
+
43
+
44
+
45
+ def encode_form_data
46
+ parameters = { 'siteid' => siteid, 'containerid' => containerid, 'uploaddirectory' => uploaddirectory }
47
+ parameters.each do |key, value|
48
+ unless value.empty?
49
+ @form_params << "--" + BOUNDARY + "\r\n"
50
+ @form_params << "Content-Disposition: form-data; name=\"#{key}\"\r\n" + "\r\n" + "#{value}\r\n"
51
+ end
52
+ end
53
+ @form_params << "--" + BOUNDARY
54
+ end
55
+
56
+ def encode_file_data
57
+ @form_params << ("\r\nContent-Disposition: form-data; name=\"filedata\"; filename=\"#{full_file_name}\"\r\n" + "Content-Transfer-Encoding: binary\r\n" + "Content-Type:" + "#{mime_type}" + "\r\n\r\n" + filedata + "\r\n")
58
+ @form_params << "--" + BOUNDARY + "--"
59
+ end
60
+
61
+
62
+
63
+ def upload_document
64
+ begin
65
+ encode_form_data
66
+ encode_file_data
67
+ @request.body= @form_params.join
68
+ @request["Content-Length"] = @request.body.length
69
+ @request["Content-Type"] = "multipart/form-data, boundary=" + BOUNDARY
70
+ res = Net::HTTP.new(@uri.host, @uri.port).start {|http| http.request(@request) }
71
+ case res
72
+ when Net::HTTPSuccess, Net::HTTPRedirection
73
+ json_obj = JSON.parse(res.body)
74
+ @res_obj = Alfresco4r::AlfSucess.new(json_obj["nodeRef"],json_obj["fileName"],json_obj["status"]["description"])
75
+ else
76
+ @res_obj = Alfresco4r::AlfError.new("Exception in response body #{res.inspect}")
77
+ end
78
+ rescue => e
79
+ @res_obj = Alfresco4r::AlfUnknownException.new(e.message)
80
+ end
81
+
82
+ end
83
+
84
+ def response
85
+ return @res_obj
86
+ end
87
+
88
+
89
+ end
90
+ end
@@ -1,3 +1,3 @@
1
1
  module Alfresco4r
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alfresco4r
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-21 00:00:00.000000000 Z
12
+ date: 2013-06-04 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: This gem provides the capability to ruby to interact with Alfresco CMS.
15
15
  This gem is providing two methods upload document to Alfresco and download/retrieve
@@ -20,24 +20,16 @@ executables: []
20
20
  extensions: []
21
21
  extra_rdoc_files: []
22
22
  files:
23
- - .gitignore
24
- - Gemfile
25
- - LICENSE
26
- - README.md
27
- - Rakefile
28
- - alfresco4r.gemspec
29
- - lib/alfresco4r.rb
30
23
  - lib/alfresco4r/version.rb
31
- - lib/document_download.rb
32
- - lib/document_upload.rb
33
- - test/test_alfresco4r.rb
34
- - test/test_alfresco4r_version.rb
24
+ - lib/alfresco4r/document_upload.rb
25
+ - lib/alfresco4r/document_download.rb
35
26
  homepage: https://github.com/sivaprakasamboopathy/alfresco4r
36
27
  licenses: []
37
28
  post_install_message:
38
29
  rdoc_options: []
39
30
  require_paths:
40
31
  - lib
32
+ - lib/alfresco4r
41
33
  required_ruby_version: !ruby/object:Gem::Requirement
42
34
  none: false
43
35
  requirements:
@@ -56,6 +48,4 @@ rubygems_version: 1.8.19
56
48
  signing_key:
57
49
  specification_version: 3
58
50
  summary: Interaction with Alfresco from Ruby
59
- test_files:
60
- - test/test_alfresco4r.rb
61
- - test/test_alfresco4r_version.rb
51
+ test_files: []
data/.gitignore DELETED
@@ -1,18 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- nbproject
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in alfresco4r.gemspec
4
- gemspec
data/LICENSE DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2013 TODO: Write your name
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md DELETED
@@ -1,106 +0,0 @@
1
- # Alfresco4r
2
-
3
- This gem provides the capability to ruby to interact with Alfresco CMS. This gem is providing two methods upload
4
- document to Alfresco and download/retrieve document from Alfresco.
5
-
6
-
7
- ## Installation
8
-
9
- Add this line to your application's Gemfile:
10
-
11
- gem 'alfresco4r'
12
-
13
- And then execute:
14
-
15
- $ bundle
16
-
17
- Or install it yourself as:
18
-
19
- $ gem install alfresco4r
20
-
21
- ## Usage
22
-
23
- How to upload document to Alfresco
24
-
25
- 1) create an hash with below keys
26
-
27
- options = {
28
- :upload_url=> 'http://replace_this_with_your_alfresco_server_name:port_number/alfresco/service/api/upload',
29
- :mime_type => 'text/plain',
30
- :full_file_name => 'test.txt',
31
- :filedata => file_data_in_binary_format,
32
- :siteid => 'siteid',
33
- :containerid => 'documentLibrary',
34
- :uploaddirectory => '/directoryname',
35
- :username=>"username",
36
- :password=>"password"
37
- }
38
-
39
- Explanation for each keys:
40
-
41
- upload_url => This is the REST based upload URL provided by Alfresco to upload document
42
- mime_type => Specify the MIME type for the file you are uploading
43
- full_file_name => Specify the file name you want to upload
44
- siteid => Specify the name of the site to upload the document
45
- containerid => Specify the space to upload
46
- uploaddirectory => Specify the directory name to upload
47
- filedata => This will have file data in binary format( eg: file_data_in_binary_format = File.open('test.txt','rb') {|f| f.read} )
48
- username => If the Alfresco expects the HTTP basic authentication, Specify the username here ( optional field )
49
- password => If the Alfresco expects the HTTP basic authentication, Specify the password here ( optional field )
50
-
51
- 2) create an object of Alfresco4r::DocumentUpload by passing the options created and check the response .
52
-
53
- upload_obj = Alfresco4r::DocumentUpload.new(options).response
54
-
55
-
56
- 3) Verify the status of the response object (upload_obj.status).
57
-
58
- Success status:
59
- if the status is "Success" your file is uploaded successfully to Alfresco.
60
- upload_obj.node will give the node ID corresponding to uploaded document. It will be something similar like '90aa0aa6-13f6-4b3f-936e-145ccc4aae53'
61
- upload_obj.filename will give the file name it uploaded to Alfresco.
62
- In case if Alfresco finds the similar file name exists already, it will rename file and provide the file name in return
63
-
64
- Failure status:
65
- if the status is "Failure" your file is not uploaded to Alfresco.
66
- upload_obj.message will give the description of error message.
67
-
68
-
69
-
70
- How to download/retrieve document from Alfresco
71
-
72
- 1) create an hash with below keys
73
-
74
- options = {
75
- :download_url=> 'http://replace_this_with_your_alfresco_server_name:port_number/alfresco/service/api/node/content/workspace/SpacesStore',
76
- :node => '90aa0aa6-13f6-4b3f-936e-145ccc4aae53',
77
- :full_file_name => 'test.txt',
78
- :username=>"username",
79
- :password=>"password"
80
- }
81
-
82
- Explanation for each keys:
83
-
84
- download_url => This is the REST based download/retrieve URL provided by Alfresco to download/retrieve document
85
- node => node is the unique ID of the document to download/retrieve
86
- full_file_name => Specify the file name you want to download/retrieve ( optional field )
87
- username => If the Alfresco expects the HTTP basic authentication, Specify the username here ( optional field )
88
- password => If the Alfresco expects the HTTP basic authentication, Specify the password here ( optional field )
89
-
90
-
91
- 2) create an object of Alfresco4r::DocumentDownload by passing the options created and check the response .
92
-
93
- download_obj = Alfresco4r::DocumentDownload.new(options).response
94
-
95
-
96
-
97
- 3) Verify the status of the response object (download_obj.status).
98
-
99
- Success status:
100
- if the status is "Success" you can proceed to call download_obj.data_stream to stream or write to file.
101
-
102
-
103
- Failure status:
104
- if the status is "Failure", download_obj.message will give the description of error message.
105
-
106
-
data/Rakefile DELETED
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env rake
2
- require "bundler/gem_tasks"
3
-
4
- require 'rake/testtask'
5
-
6
- Rake::TestTask.new do |t|
7
- t.libs << 'test'
8
- end
9
-
10
- desc "Run tests"
11
- task :default => :test
data/alfresco4r.gemspec DELETED
@@ -1,17 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/alfresco4r/version', __FILE__)
3
-
4
- Gem::Specification.new do |gem|
5
- gem.authors = ["Sivaprakasam Boopathy"]
6
- gem.email = ["bsivaprakasam@gmail.com"]
7
- gem.description = %q{This gem provides the capability to ruby to interact with Alfresco CMS. This gem is providing two methods upload document to Alfresco and download/retrieve document from Alfresco.}
8
- gem.summary = %q{Interaction with Alfresco from Ruby}
9
- gem.homepage = "https://github.com/sivaprakasamboopathy/alfresco4r"
10
-
11
- gem.files = `git ls-files`.split($\)
12
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
- gem.name = "alfresco4r"
15
- gem.require_paths = ["lib"]
16
- gem.version = Alfresco4r::VERSION
17
- end
data/lib/alfresco4r.rb DELETED
@@ -1,142 +0,0 @@
1
- require 'net/http'
2
- require 'uri'
3
- require 'yaml'
4
- require "alfresco4r/version"
5
-
6
-
7
- module Alfresco4r
8
- class AbstractAlfrescoService
9
- BOUNDARY = "AaB03x"
10
- attr_reader :options,:request,:uri,:http
11
-
12
- def initialize(options)
13
- @options = options
14
- self_class = self.class.name
15
- klass_url = self_class.concat("Url")
16
- @auth_obj = DocumentAuth.new(options)
17
- @url_obj = klass_url == "DocumentDownloadUrl" ? DocumentDownloadUrl.new(options) : DocumentUploadUrl.new(options)
18
- self_class.include?('Upload') ? post_object : get_object
19
- end
20
-
21
- def post_object
22
- @uri = URI(@url_obj.url)
23
- @request = Net::HTTP::Post.new(@uri.path)
24
- @request.basic_auth @auth_obj.username, @auth_obj.password
25
- end
26
-
27
- def get_object
28
- @uri = URI(@url_obj.url(node))
29
- @uri.query = URI.encode_www_form( { :a => 'true' } )
30
- @http = Net::HTTP.new(@uri.host, @uri.port)
31
- @request = Net::HTTP::Get.new(@uri.request_uri)
32
- @request.basic_auth @auth_obj.username, @auth_obj.password
33
- end
34
-
35
- def siteid
36
- @siteid = options[:siteid]
37
- end
38
-
39
- def containerid
40
- @containerid = options[:containerid]
41
- end
42
-
43
- def uploaddirectory
44
- @uploaddirectory = options[:uploaddirectory]
45
- end
46
-
47
- def filedata
48
- @filedata = options[:filedata]
49
- end
50
-
51
- def mime_type
52
- @mime_type = options[:mime_type]
53
- end
54
-
55
- def full_file_name
56
- @full_file_name = options[:full_file_name]
57
- end
58
-
59
- def node
60
- @node = options[:node]
61
- end
62
-
63
-
64
- end
65
-
66
- class DocumentAuth
67
- def initialize(options)
68
- @options = options
69
- end
70
-
71
- def username
72
- username = @options.has_key?(:username) ? @options[:username] : ""
73
- return username
74
- end
75
-
76
- def password
77
- password = @options.has_key?(:password) ? @options[:password] : ""
78
- return password
79
- end
80
- end
81
-
82
- class DocumentUploadUrl
83
- def initialize(options)
84
- @options = options
85
- end
86
-
87
- def url
88
- upload_url = @options[:upload_url]
89
- return upload_url.to_s
90
- end
91
- end
92
-
93
- class DocumentDownloadUrl
94
- def initialize(options)
95
- @options = options
96
- end
97
-
98
- def url(node_id)
99
- download_url = @options[:download_url].concat("/").concat(node_id).strip
100
- return download_url.to_s
101
- end
102
- end
103
-
104
-
105
-
106
- class AlfUnknownException
107
- attr_reader :message,:status
108
- def initialize(msg)
109
- @message = msg
110
- @status = "Failure"
111
- end
112
- end
113
-
114
- class AlfSucess
115
- attr_reader :node,:filename,:message,:status,:uploaddirectory
116
- def initialize(node,filename,desc)
117
- @node = node.split("/").last
118
- @filename = filename
119
- @message = desc
120
- @status = "Success"
121
- @uploaddirectory = ''
122
- end
123
- end
124
-
125
- class AlfError
126
- attr_reader :message,:status
127
- def initialize(msg)
128
- @message = msg
129
- @status = "Failure"
130
- end
131
- end
132
-
133
- class AlfSucessStream
134
- attr_reader :data_stream,:message,:status
135
- def initialize(data_stream,desc=nil)
136
- @data_stream = data_stream
137
- @message = desc
138
- @status = "Success"
139
- end
140
-
141
- end
142
- end
@@ -1,52 +0,0 @@
1
- ################################################################################
2
- # File: document_download.rb
3
- # Author:Sivaprakasam Boopathy
4
- # Date: May 17, 2012
5
- # Description: This file gives ability to download document from Alfresco
6
- ################################################################################
7
-
8
- require 'alfresco4r'
9
- class DocumentDownload < Alfresco4r::AbstractAlfrescoService
10
- EXPECTED_PARAMS = [:download_url,:node]
11
-
12
- attr_reader :data_stream
13
-
14
- def initialize(options)
15
- @options = options
16
- return verify_params if verify_params.kind_of?(Alfresco4r::AlfError)
17
- super
18
- download_document
19
- end
20
-
21
- def verify_params
22
- begin
23
- raise "Empty Parameter" if @options.empty?
24
- missing_params = EXPECTED_PARAMS - @options.keys
25
- unless missing_params.empty?
26
- msg = "Expected paramerter #{missing_params} are missing. Expected parameters are :download_url,:node"
27
- raise "#{msg}"
28
- end
29
- rescue => e
30
- @res_obj = Alfresco4r::AlfError.new(e.message)
31
- end
32
- end
33
-
34
- def download_document
35
- begin
36
- @http.request(@request) do |response|
37
- @data_stream = response.read_body
38
- end
39
- @http.finish if @http.started?
40
- @res_obj = Alfresco4r::AlfSucessStream.new(@data_stream)
41
- rescue => e
42
- @res_obj = Alfresco4r::AlfError.new(e.message)
43
- end
44
- end
45
-
46
- def response
47
- return @res_obj
48
- end
49
-
50
-
51
- end
52
-
@@ -1,87 +0,0 @@
1
- ################################################################################
2
- # File: document_upload.rb
3
- # Author:Sivaprakasam Boopathy
4
- # Date: May 17, 2012
5
- # Description: This file gives ability to upload document to Alfresco
6
- ################################################################################
7
- require 'alfresco4r'
8
- require 'json'
9
-
10
- class DocumentUpload < Alfresco4r::AbstractAlfrescoService
11
- EXPECTED_PARAMS = [:siteid,:containerid,:uploaddirectory,:mime_type,:full_file_name,:filedata,:upload_url]
12
-
13
-
14
- def initialize(options)
15
- @options = options
16
- return verify_params if verify_params.kind_of?(Alfresco4r::AlfError)
17
- @siteid = siteid
18
- @containerid = containerid
19
- @uploaddirectory = uploaddirectory
20
- @filedata = filedata
21
- @mime_type = mime_type
22
- @full_file_name = full_file_name
23
- @form_params = Array.new
24
- super
25
- upload_document
26
- end
27
-
28
- def verify_params
29
- begin
30
- raise "Empty Parameter" if @options.empty?
31
- missing_params = EXPECTED_PARAMS - @options.keys
32
- unless missing_params.empty?
33
- msg = "Expected paramerter #{missing_params} are missing. Expected parameters are siteid,containerid,uploaddirectory,mime_type,full_file_name,filedata."
34
- raise "#{msg}"
35
- end
36
- rescue => e
37
- @res_obj = Alfresco4r::AlfError.new(e.message)
38
- end
39
- end
40
-
41
-
42
-
43
- def encode_form_data
44
- parameters = { 'siteid' => siteid, 'containerid' => containerid, 'uploaddirectory' => uploaddirectory }
45
- parameters.each do |key, value|
46
- unless value.empty?
47
- @form_params << "--" + BOUNDARY + "\r\n"
48
- @form_params << "Content-Disposition: form-data; name=\"#{key}\"\r\n" + "\r\n" + "#{value}\r\n"
49
- end
50
- end
51
- @form_params << "--" + BOUNDARY
52
- end
53
-
54
- def encode_file_data
55
- @form_params << ("\r\nContent-Disposition: form-data; name=\"filedata\"; filename=\"#{full_file_name}\"\r\n" + "Content-Transfer-Encoding: binary\r\n" + "Content-Type:" + "#{mime_type}" + "\r\n\r\n" + filedata + "\r\n")
56
- @form_params << "--" + BOUNDARY + "--"
57
- end
58
-
59
-
60
-
61
- def upload_document
62
- begin
63
- encode_form_data
64
- encode_file_data
65
- @request.body= @form_params.join
66
- @request["Content-Length"] = @request.body.length
67
- @request["Content-Type"] = "multipart/form-data, boundary=" + BOUNDARY
68
- res = Net::HTTP.new(@uri.host, @uri.port).start {|http| http.request(@request) }
69
- case res
70
- when Net::HTTPSuccess, Net::HTTPRedirection
71
- json_obj = JSON.parse(res.body)
72
- @res_obj = Alfresco4r::AlfSucess.new(json_obj["nodeRef"],json_obj["fileName"],json_obj["status"]["description"])
73
- else
74
- @res_obj = Alfresco4r::AlfError.new("Exception in response body #{res.inspect}")
75
- end
76
- rescue => e
77
- @res_obj = Alfresco4r::AlfUnknownException.new(e.message)
78
- end
79
-
80
- end
81
-
82
- def response
83
- return @res_obj
84
- end
85
-
86
-
87
- end
@@ -1,256 +0,0 @@
1
- $:.unshift File.join(File.dirname(__FILE__),'..','lib')
2
-
3
- require 'test/unit'
4
- require 'alfresco4r'
5
- require 'document_download'
6
- require 'document_upload'
7
-
8
-
9
- class TestAlfresco4r < Test::Unit::TestCase
10
-
11
-
12
-
13
- def test_download_empty_params_class
14
- options = {}
15
- download_obj = DocumentDownload.new(options)
16
- assert_kind_of(Alfresco4r::AlfError, download_obj.response)
17
- end
18
-
19
- def test_download_empty_params_message
20
- options = {}
21
- download_obj = DocumentDownload.new(options)
22
- assert_equal("Empty Parameter", download_obj.response.message)
23
- end
24
-
25
- def test_download_empty_params_status
26
- options = {}
27
- download_obj = DocumentDownload.new(options)
28
- assert_equal("Failure", download_obj.response.status)
29
- end
30
-
31
- def test_download_missing_params_class
32
- options = {:full_file_name => 'test.pdf'}
33
- download_obj = DocumentDownload.new(options)
34
- assert_kind_of(Alfresco4r::AlfError, download_obj.response)
35
- end
36
-
37
- def test_download_missing_params_message
38
- options = {:full_file_name => 'test.pdf'}
39
- download_obj = DocumentDownload.new(options)
40
- assert_equal("Failure", download_obj.response.status)
41
- end
42
-
43
- def test_download_missing_params_message
44
- options = {:full_file_name => 'test.pdf'}
45
- download_obj = DocumentDownload.new(options)
46
- missing_params = DocumentDownload::EXPECTED_PARAMS - options.keys
47
- msg = "Expected paramerter #{missing_params} are missing. Expected parameters are :download_url,:node"
48
- assert_equal(msg, download_obj.response.message)
49
- end
50
-
51
- def test_alfunknownexception_class
52
- obj = Alfresco4r::AlfUnknownException.new("test message")
53
- assert_kind_of(Alfresco4r::AlfUnknownException, obj)
54
- end
55
-
56
- def test_alfunknownexception_message
57
- obj = Alfresco4r::AlfUnknownException.new("test message")
58
- assert_equal("test message", obj.message)
59
- end
60
-
61
- def test_alfunknownexception_status
62
- obj = Alfresco4r::AlfUnknownException.new("test message")
63
- assert_equal("Failure", obj.status)
64
- end
65
-
66
- def test_alferror_class
67
- obj = Alfresco4r::AlfError.new("test message")
68
- assert_kind_of(Alfresco4r::AlfError, obj)
69
- end
70
-
71
- def test_alferror_message
72
- obj = Alfresco4r::AlfError.new("test message")
73
- assert_equal("test message", obj.message)
74
- end
75
-
76
- def test_alferror_status
77
- obj = Alfresco4r::AlfError.new("test message")
78
- assert_equal("Failure", obj.status)
79
- end
80
-
81
- def test_alfsucess_class
82
- obj = Alfresco4r::AlfSucess.new("node/aj98201233","test.pdf","test description")
83
- assert_kind_of(Alfresco4r::AlfSucess, obj)
84
- end
85
-
86
- def test_alfsucess_message
87
- obj = Alfresco4r::AlfSucess.new("node/aj98201233","test.pdf","test description")
88
- assert_equal("test description", obj.message)
89
- end
90
-
91
- def test_alfsucess_status
92
- obj = Alfresco4r::AlfSucess.new("node/aj98201233","test.pdf","test description")
93
- assert_equal("Success", obj.status)
94
- end
95
-
96
- def test_alfsucess_node_split
97
- obj = Alfresco4r::AlfSucess.new("node/aj98201233","test.pdf","test description")
98
- assert_equal("aj98201233", obj.node)
99
- end
100
-
101
- def test_alfsucess_node_split_without_slash
102
- obj = Alfresco4r::AlfSucess.new("aj98201233","test.pdf","test description")
103
- assert_equal("aj98201233", obj.node)
104
- end
105
-
106
- def test_alfsucess_node_split_without_slash
107
- obj = Alfresco4r::AlfSucess.new("aj98201233","test.pdf","test description")
108
- assert_equal("test.pdf", obj.filename)
109
- end
110
-
111
-
112
- def test_alfsucessstream_class
113
- obj = Alfresco4r::AlfSucessStream.new("a8aksi920kdi029aj98201233","test message")
114
- assert_kind_of(Alfresco4r::AlfSucessStream, obj)
115
- end
116
-
117
- def test_alfsucessstream_message
118
- obj = Alfresco4r::AlfSucessStream.new("a8aksi920kdi029aj98201233","test message")
119
- assert_equal("test message", obj.message)
120
- end
121
-
122
- def test_alfsucessstream_message_nil
123
- obj = Alfresco4r::AlfSucessStream.new("a8aksi920kdi029aj98201233")
124
- assert_nil(obj.message)
125
- end
126
-
127
- def test_alfsucessstream_status
128
- obj = Alfresco4r::AlfSucessStream.new("a8aksi920kdi029aj98201233","test message")
129
- assert_equal("Success", obj.status)
130
- end
131
-
132
- def test_alfsucessstream_datastream
133
- obj = Alfresco4r::AlfSucessStream.new("a8aksi920kdi029aj98201233","test message")
134
- assert_equal("a8aksi920kdi029aj98201233", obj.data_stream)
135
- end
136
-
137
- def test_documentdownloadurl_class
138
- options = {:download_url => "http://youralfrescoservername:portnumber/alfresco/service/api/node/content/workspace/SpacesStore"}
139
- obj = Alfresco4r::DocumentDownloadUrl.new(options)
140
- assert_kind_of(Alfresco4r::DocumentDownloadUrl, obj)
141
- end
142
-
143
- def test_documentdownloadurl_url
144
- options = {:download_url => "http://youralfrescoservername:portnumber/alfresco/service/api/node/content/workspace/SpacesStore"}
145
- obj = Alfresco4r::DocumentDownloadUrl.new(options)
146
- test_url = "http://youralfrescoservername:portnumber/alfresco/service/api/node/content/workspace/SpacesStore".concat("/").concat("aj98201233").strip
147
- assert_equal(test_url, obj.url("aj98201233"))
148
- end
149
-
150
- def test_documentdownloadurl_url_empty_options
151
- options = {}
152
- obj = Alfresco4r::DocumentDownloadUrl.new(options)
153
- assert_raise(NoMethodError){obj.url("aj98201233")}
154
- end
155
-
156
-
157
- def test_documentuploadurl_class
158
- options = {:upload_url => "http://youralfrescoservername:portnumber/alfresco/service/api/upload"}
159
- obj = Alfresco4r::DocumentUploadUrl.new(options)
160
- assert_kind_of(Alfresco4r::DocumentUploadUrl, obj)
161
- end
162
-
163
- def test_documentuploadurl_url
164
- options = {:upload_url => "http://youralfrescoservername:portnumber/alfresco/service/api/upload"}
165
- obj = Alfresco4r::DocumentUploadUrl.new(options)
166
- test_url = "http://youralfrescoservername:portnumber/alfresco/service/api/upload"
167
- assert_equal(test_url, obj.url)
168
- end
169
-
170
- def test_documentuploadurl_url_empty_options
171
- options = {}
172
- obj = Alfresco4r::DocumentUploadUrl.new(options)
173
- assert_equal("", obj.url)
174
- end
175
-
176
-
177
-
178
- def test_documentauth_class
179
- options = {:username => "username",:password => "password"}
180
- obj = Alfresco4r::DocumentAuth.new(options)
181
- assert_kind_of(Alfresco4r::DocumentAuth, obj)
182
- end
183
-
184
- def test_documentauth_with_username
185
- options = {:username => "username",:password => "password"}
186
- obj = Alfresco4r::DocumentAuth.new(options)
187
- assert_equal("username", obj.username)
188
- end
189
-
190
-
191
-
192
- def test_documentauth_no_username
193
- options = {:password => "password"}
194
- obj = Alfresco4r::DocumentAuth.new(options)
195
- assert_equal("", obj.username)
196
- end
197
-
198
- def test_documentauth_with_password
199
- options = {:username => "username",:password => "password"}
200
- obj = Alfresco4r::DocumentAuth.new(options)
201
- assert_equal("password", obj.password)
202
- end
203
-
204
- def test_documentauth_no_password
205
- options = {:username => "username"}
206
- obj = Alfresco4r::DocumentAuth.new(options)
207
- assert_equal("", obj.password)
208
- end
209
-
210
-
211
-
212
-
213
-
214
- def test_upload_empty_params_class
215
- options = {}
216
- upload_obj = DocumentUpload.new(options)
217
- assert_kind_of(Alfresco4r::AlfError, upload_obj.response)
218
- end
219
-
220
- def test_upload_empty_params_message
221
- options = {}
222
- upload_obj = DocumentUpload.new(options)
223
- assert_equal("Empty Parameter", upload_obj.response.message)
224
- end
225
-
226
- def test_upload_empty_params_status
227
- options = {}
228
- upload_obj = DocumentUpload.new(options)
229
- assert_equal("Failure", upload_obj.response.status)
230
- end
231
-
232
- def test_upload_missing_params_class
233
- options = {:siteid => 'siteid'}
234
- upload_obj = DocumentUpload.new(options)
235
- assert_kind_of(Alfresco4r::AlfError, upload_obj.response)
236
- end
237
-
238
- def test_upload_missing_params_message
239
- options = {:siteid => 'siteid'}
240
- upload_obj = DocumentUpload.new(options)
241
- assert_equal("Failure", upload_obj.response.status)
242
- end
243
-
244
- def test_upload_missing_params_message
245
- options = {:siteid => 'siteid'}
246
- upload_obj = DocumentUpload.new(options)
247
- missing_params = DocumentUpload::EXPECTED_PARAMS - options.keys
248
- msg = "Expected paramerter #{missing_params} are missing. Expected parameters are siteid,containerid,uploaddirectory,mime_type,full_file_name,filedata."
249
- assert_equal(msg, upload_obj.response.message)
250
- end
251
-
252
-
253
-
254
-
255
-
256
- end
@@ -1,15 +0,0 @@
1
- # To change this template, choose Tools | Templates
2
- # and open the template in the editor.
3
-
4
- $:.unshift File.join(File.dirname(__FILE__),'..','lib')
5
-
6
- require 'test/unit'
7
- require 'alfresco4r/version'
8
-
9
- class TestAlfresco4rVersion < Test::Unit::TestCase
10
-
11
- def test_version_number
12
- assert_equal(Alfresco4r::VERSION, "0.0.1")
13
- end
14
-
15
- end