zmldifexport 0.2.2
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 +7 -0
- data/.gitignore +3 -0
- data/Gemfile +2 -0
- data/README.md +2 -0
- data/Rakefile +9 -0
- data/bin/zmldifexport +46 -0
- data/data/amavisd-new-attrs.xml +103 -0
- data/data/zimbra-attrs.xml +8472 -0
- data/data/zimbra-ocs.xml +296 -0
- data/lib/zmldifexport.rb +487 -0
- data/lib/zmldifexport/version.rb +3 -0
- data/test/test_helper.rb +6 -0
- data/test/test_zmldifexport.rb +62 -0
- data/zmldifexport.gemspec +30 -0
- metadata +144 -0
data/test/test_helper.rb
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TestUser < Minitest::Test
|
4
|
+
def setup
|
5
|
+
end
|
6
|
+
|
7
|
+
def before_each
|
8
|
+
end
|
9
|
+
|
10
|
+
def after_each
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_print_file_not_found
|
14
|
+
ZmLdifExport.run({ldif_file: '/tmp/xxx'})
|
15
|
+
out, _err = capture_io do
|
16
|
+
ZmLdifExport.ldif_file
|
17
|
+
end
|
18
|
+
assert(out == "File /tmp/xxx not found\n", 'No help message')
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_print_file_not_valid
|
22
|
+
ZmLdifExport.run({ldif_file: '/etc/resolv.conf'})
|
23
|
+
out, _err = capture_io do
|
24
|
+
ZmLdifExport.load_ldif
|
25
|
+
end
|
26
|
+
assert(out == "File /etc/resolv.conf not a valid LDIF file\n", 'No help message')
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_mk_command_should_start_with_a_comment
|
30
|
+
expected_result = '# zmprov createAccount me@example.com'
|
31
|
+
actual_result = ZmLdifExport.mk_command(command: 'createAccount', resource: 'me@example.com')
|
32
|
+
assert_equal(expected_result, actual_result.split("\n").first)
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_mk_command_should_return_one_attribute_by_line
|
36
|
+
expected_result = "# zmprov cd example.com\n"
|
37
|
+
expected_result << "zmprov cd example.com \\\n"
|
38
|
+
expected_result << "cn cn \\\n"
|
39
|
+
expected_result << "sn sn \\\n"
|
40
|
+
expected_result << "email 1 \\\n"
|
41
|
+
expected_result << "email 3"
|
42
|
+
|
43
|
+
attributes = {
|
44
|
+
'cn': 'cn',
|
45
|
+
'sn': 'sn',
|
46
|
+
'email': ['1', '3']
|
47
|
+
}
|
48
|
+
|
49
|
+
actual_result = ZmLdifExport.mk_command(
|
50
|
+
command: 'cd', resource: 'example.com', attributes: attributes
|
51
|
+
)
|
52
|
+
assert_equal(expected_result, actual_result)
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_mk_command_should_return_not_Full_command
|
56
|
+
expected_result = "# zmprov createAccount me@example.com\n"
|
57
|
+
expected_result << "createAccount me@example.com"
|
58
|
+
actual_result = ZmLdifExport.mk_command(command: 'createAccount', resource: 'me@example.com', full: false)
|
59
|
+
assert_equal(expected_result, actual_result)
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'zmldifexport/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "zmldifexport"
|
8
|
+
spec.version = ZmLdifExport::VERSION
|
9
|
+
spec.author = ["Patricio Bruna"]
|
10
|
+
spec.email = ["pbruna@itlinux.cl"]
|
11
|
+
spec.summary = "CLI to export Zimbra accounts"
|
12
|
+
spec.description = spec.summary
|
13
|
+
spec.homepage = "https://git.zboxapp.com/ZBox/zmldifexport"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.bindir = 'bin'
|
18
|
+
spec.executables << 'zmldifexport'
|
19
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
|
+
spec.require_paths = ["lib"]
|
21
|
+
|
22
|
+
spec.add_dependency 'nokogiri', "~> 1.8"
|
23
|
+
spec.add_dependency 'net-ldap', "~> 0.16"
|
24
|
+
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.9"
|
26
|
+
spec.add_development_dependency "rake"
|
27
|
+
spec.add_development_dependency "minitest-reporters"
|
28
|
+
spec.add_development_dependency "pry"
|
29
|
+
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,144 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: zmldifexport
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Patricio Bruna
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-08-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.8'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.8'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: net-ldap
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.16'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.16'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.9'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.9'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: minitest-reporters
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: CLI to export Zimbra accounts
|
98
|
+
email:
|
99
|
+
- pbruna@itlinux.cl
|
100
|
+
executables:
|
101
|
+
- zmldifexport
|
102
|
+
extensions: []
|
103
|
+
extra_rdoc_files: []
|
104
|
+
files:
|
105
|
+
- ".gitignore"
|
106
|
+
- Gemfile
|
107
|
+
- README.md
|
108
|
+
- Rakefile
|
109
|
+
- bin/zmldifexport
|
110
|
+
- data/amavisd-new-attrs.xml
|
111
|
+
- data/zimbra-attrs.xml
|
112
|
+
- data/zimbra-ocs.xml
|
113
|
+
- lib/zmldifexport.rb
|
114
|
+
- lib/zmldifexport/version.rb
|
115
|
+
- test/test_helper.rb
|
116
|
+
- test/test_zmldifexport.rb
|
117
|
+
- zmldifexport.gemspec
|
118
|
+
homepage: https://git.zboxapp.com/ZBox/zmldifexport
|
119
|
+
licenses:
|
120
|
+
- MIT
|
121
|
+
metadata: {}
|
122
|
+
post_install_message:
|
123
|
+
rdoc_options: []
|
124
|
+
require_paths:
|
125
|
+
- lib
|
126
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - ">="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
requirements: []
|
137
|
+
rubyforge_project:
|
138
|
+
rubygems_version: 2.5.2
|
139
|
+
signing_key:
|
140
|
+
specification_version: 4
|
141
|
+
summary: CLI to export Zimbra accounts
|
142
|
+
test_files:
|
143
|
+
- test/test_helper.rb
|
144
|
+
- test/test_zmldifexport.rb
|