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.
@@ -0,0 +1,3 @@
1
+ module ZmLdifExport
2
+ VERSION = "0.2.2"
3
+ end
@@ -0,0 +1,6 @@
1
+ require "zmldifexport"
2
+
3
+ require 'minitest/autorun'
4
+ require 'minitest/reporters' # requires the gem
5
+
6
+ Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new # spec-like progress
@@ -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