zm-ruby-client 0.18.5 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (250) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/Gemfile +2 -2
  4. data/README.md +7 -0
  5. data/lib/zm/client/account/account.rb +31 -308
  6. data/lib/zm/client/account/account_aliases_collection.rb +52 -0
  7. data/lib/zm/client/account/account_dls_membership_collection.rb +4 -1
  8. data/lib/zm/client/account/account_dls_owner_collection.rb +8 -1
  9. data/lib/zm/client/account/account_jsns_builder.rb +77 -0
  10. data/lib/zm/client/account/account_jsns_initializer.rb +9 -24
  11. data/lib/zm/client/account/accounts_builder.rb +0 -1
  12. data/lib/zm/client/account/accounts_collection.rb +32 -8
  13. data/lib/zm/client/account.rb +1 -0
  14. data/lib/zm/client/ace/ace.rb +6 -22
  15. data/lib/zm/client/ace/ace_jsns_builder.rb +15 -16
  16. data/lib/zm/client/ace/ace_jsns_initializer.rb +0 -1
  17. data/lib/zm/client/ace/aces_builder.rb +0 -1
  18. data/lib/zm/client/ace/aces_collection.rb +2 -18
  19. data/lib/zm/client/appointment/appointment.rb +38 -30
  20. data/lib/zm/client/appointment/appointment_jsns_builder.rb +22 -34
  21. data/lib/zm/client/appointment/appointment_jsns_initializer.rb +6 -3
  22. data/lib/zm/client/appointment/appointments_builder.rb +6 -18
  23. data/lib/zm/client/appointment/appointments_collection.rb +25 -4
  24. data/lib/zm/client/backup/backup.rb +4 -32
  25. data/lib/zm/client/backup/backup_jsns_initializer.rb +26 -0
  26. data/lib/zm/client/backup/backups_builder.rb +8 -13
  27. data/lib/zm/client/backup/backups_collection.rb +2 -1
  28. data/lib/zm/client/backup.rb +1 -0
  29. data/lib/zm/client/base/account_search_objects_collection.rb +34 -13
  30. data/lib/zm/client/base/admin_objects_collection.rb +82 -17
  31. data/lib/zm/client/base/base_account_jsns_builder.rb +98 -0
  32. data/lib/zm/client/base/base_jsns_builder.rb +47 -0
  33. data/lib/zm/client/base/base_jsns_initializer.rb +43 -12
  34. data/lib/zm/client/base/ldap_filter.rb +20 -5
  35. data/lib/zm/client/base/mailbox_infos_collection.rb +68 -0
  36. data/lib/zm/client/base/mailbox_object.rb +299 -0
  37. data/lib/zm/client/base/mailbox_prefs_collection.rb +75 -0
  38. data/lib/zm/client/base/object.rb +28 -62
  39. data/lib/zm/client/base/objects_builder.rb +4 -10
  40. data/lib/zm/client/base/objects_collection.rb +13 -10
  41. data/lib/zm/client/base/zimbra_attribute.rb +10 -8
  42. data/lib/zm/client/base/zimbra_attributes_collection.rb +154 -10
  43. data/lib/zm/client/base.rb +5 -5
  44. data/lib/zm/client/cluster/cluster.rb +43 -39
  45. data/lib/zm/client/cluster/cluster_config.rb +5 -5
  46. data/lib/zm/client/common/recipients.rb +3 -3
  47. data/lib/zm/client/common/token_metadata.rb +4 -1
  48. data/lib/zm/client/common/utils.rb +57 -0
  49. data/lib/zm/client/common.rb +2 -1
  50. data/lib/zm/client/connector/rest_account.rb +15 -28
  51. data/lib/zm/client/connector/soap_account.rb +38 -441
  52. data/lib/zm/client/connector/soap_admin.rb +16 -552
  53. data/lib/zm/client/connector/soap_base.rb +30 -21
  54. data/lib/zm/client/connector/soap_error.rb +1 -3
  55. data/lib/zm/client/constant.rb +21 -11
  56. data/lib/zm/client/contact/contact.rb +42 -83
  57. data/lib/zm/client/contact/contact_jsns_builder.rb +60 -0
  58. data/lib/zm/client/contact/contact_jsns_initializer.rb +78 -0
  59. data/lib/zm/client/contact/contact_member.rb +29 -28
  60. data/lib/zm/client/contact/contact_members_collection.rb +44 -0
  61. data/lib/zm/client/contact/contacts_builder.rb +8 -1
  62. data/lib/zm/client/contact/contacts_collection.rb +17 -1
  63. data/lib/zm/client/contact/group_contact_jsns_builder.rb +51 -0
  64. data/lib/zm/client/contact/mod_group_contact.rb +4 -67
  65. data/lib/zm/client/contact.rb +5 -1
  66. data/lib/zm/client/cos/cos.rb +35 -40
  67. data/lib/zm/client/cos/cos_accounts_collection.rb +19 -0
  68. data/lib/zm/client/cos/cos_domains_collection.rb +20 -0
  69. data/lib/zm/client/cos/cos_jsns_builder.rb +72 -0
  70. data/lib/zm/client/cos/cos_jsns_initializer.rb +29 -0
  71. data/lib/zm/client/cos/cos_servers_collection.rb +60 -0
  72. data/lib/zm/client/cos/coses_builder.rb +8 -1
  73. data/lib/zm/client/cos/coses_collection.rb +8 -5
  74. data/lib/zm/client/cos.rb +5 -0
  75. data/lib/zm/client/datasource/datasource.rb +69 -0
  76. data/lib/zm/client/datasource/datasource_jsns_builder.rb +32 -0
  77. data/lib/zm/client/datasource/datasource_jsns_initializer.rb +27 -0
  78. data/lib/zm/client/datasource/datasources_builder.rb +29 -0
  79. data/lib/zm/client/datasource/datasources_collection.rb +21 -0
  80. data/lib/zm/client/datasource.rb +7 -0
  81. data/lib/zm/client/distributionlist/distributionlist.rb +52 -118
  82. data/lib/zm/client/distributionlist/distributionlist_aces_collection.rb +31 -0
  83. data/lib/zm/client/distributionlist/distributionlist_aliases_collection.rb +53 -0
  84. data/lib/zm/client/distributionlist/distributionlist_jsns_builder.rb +82 -0
  85. data/lib/zm/client/distributionlist/distributionlist_jsns_initializer.rb +32 -0
  86. data/lib/zm/client/distributionlist/distributionlist_members_collection.rb +47 -0
  87. data/lib/zm/client/distributionlist/distributionlist_owners_collection.rb +52 -0
  88. data/lib/zm/client/distributionlist/distributionlists_builder.rb +8 -1
  89. data/lib/zm/client/distributionlist/distributionlists_collection.rb +8 -9
  90. data/lib/zm/client/distributionlist/dls_membership_collection.rb +4 -1
  91. data/lib/zm/client/distributionlist.rb +2 -0
  92. data/lib/zm/client/document/document.rb +27 -24
  93. data/lib/zm/client/document/document_jsns_builder.rb +18 -0
  94. data/lib/zm/client/document/document_jsns_initializer.rb +44 -0
  95. data/lib/zm/client/document/documents_builder.rb +6 -16
  96. data/lib/zm/client/document/documents_collection.rb +17 -67
  97. data/lib/zm/client/document.rb +2 -0
  98. data/lib/zm/client/domain/domain.rb +39 -55
  99. data/lib/zm/client/domain/domain_accounts_collection.rb +1 -1
  100. data/lib/zm/client/domain/domain_distributionlists_collection.rb +13 -0
  101. data/lib/zm/client/domain/domain_jsns_builder.rb +69 -0
  102. data/lib/zm/client/domain/domain_jsns_initializer.rb +25 -0
  103. data/lib/zm/client/domain/domain_resources_collection.rb +13 -0
  104. data/lib/zm/client/domain/domains_builder.rb +8 -1
  105. data/lib/zm/client/domain/domains_collection.rb +7 -7
  106. data/lib/zm/client/domain.rb +4 -0
  107. data/lib/zm/client/filter_rule.rb +7 -0
  108. data/lib/zm/client/filter_rules/filter_rule.rb +10 -0
  109. data/lib/zm/client/filter_rules/filter_rule_jsns_initializer.rb +24 -0
  110. data/lib/zm/client/filter_rules/filter_rules_builder.rb +21 -0
  111. data/lib/zm/client/filter_rules/filter_rules_collection.rb +21 -0
  112. data/lib/zm/client/filter_rules/outgoing_filter_rules_collection.rb +15 -0
  113. data/lib/zm/client/folder/folder.rb +77 -61
  114. data/lib/zm/client/folder/folder_grant.rb +34 -14
  115. data/lib/zm/client/folder/folder_grant_jsns_builder.rb +15 -4
  116. data/lib/zm/client/folder/folder_grants_collection.rb +36 -2
  117. data/lib/zm/client/folder/folder_jsns_builder.rb +22 -48
  118. data/lib/zm/client/folder/folder_jsns_initializer.rb +34 -17
  119. data/lib/zm/client/folder/folder_retention_policies_collection.rb +2 -3
  120. data/lib/zm/client/folder/folder_retention_policy.rb +0 -1
  121. data/lib/zm/client/folder/folders_builder.rb +7 -10
  122. data/lib/zm/client/folder/folders_collection.rb +5 -2
  123. data/lib/zm/client/folder/folders_jsns_builder.rb +3 -1
  124. data/lib/zm/client/folder/mod_document_folder.rb +10 -6
  125. data/lib/zm/client/folder.rb +1 -1
  126. data/lib/zm/client/identity/identities_builder.rb +8 -1
  127. data/lib/zm/client/identity/identities_collection.rb +2 -1
  128. data/lib/zm/client/identity/identity.rb +34 -42
  129. data/lib/zm/client/identity/identity_jsns_builder.rb +57 -0
  130. data/lib/zm/client/identity/identity_jsns_initializer.rb +29 -0
  131. data/lib/zm/client/identity.rb +3 -1
  132. data/lib/zm/client/license/license.rb +9 -22
  133. data/lib/zm/client/license/license_jsns_initializer.rb +20 -0
  134. data/lib/zm/client/license/licenses_collection.rb +3 -13
  135. data/lib/zm/client/license.rb +2 -1
  136. data/lib/zm/client/message/attachments_collection.rb +55 -0
  137. data/lib/zm/client/message/message.rb +36 -264
  138. data/lib/zm/client/message/message_flags.rb +107 -0
  139. data/lib/zm/client/message/message_jsns_builder.rb +85 -0
  140. data/lib/zm/client/message/message_jsns_initializer.rb +71 -0
  141. data/lib/zm/client/message/message_recipients.rb +59 -0
  142. data/lib/zm/client/message/messages_builder.rb +7 -18
  143. data/lib/zm/client/message/messages_collection.rb +17 -2
  144. data/lib/zm/client/message.rb +5 -0
  145. data/lib/zm/client/mountpoint/mountpoint.rb +43 -20
  146. data/lib/zm/client/mountpoint/mountpoint_jsns_builder.rb +8 -53
  147. data/lib/zm/client/mountpoint/mountpoint_jsns_initializer.rb +22 -13
  148. data/lib/zm/client/mountpoint/mountpoints_builder.rb +4 -5
  149. data/lib/zm/client/mountpoint/mountpoints_collection.rb +1 -2
  150. data/lib/zm/client/mta_queue/mta_queue.rb +13 -28
  151. data/lib/zm/client/mta_queue/mta_queue_jsns_builder.rb +41 -0
  152. data/lib/zm/client/mta_queue/mta_queue_jsns_initializer.rb +23 -0
  153. data/lib/zm/client/mta_queue/mta_queues_builder.rb +4 -8
  154. data/lib/zm/client/mta_queue/mta_queues_collection.rb +8 -27
  155. data/lib/zm/client/mta_queue.rb +2 -0
  156. data/lib/zm/client/mta_queue_item/mta_queue_item.rb +4 -31
  157. data/lib/zm/client/mta_queue_item/mta_queue_item_jsns_initializer.rb +33 -0
  158. data/lib/zm/client/mta_queue_item/mta_queue_items_builder.rb +4 -9
  159. data/lib/zm/client/mta_queue_item/mta_queue_items_collection.rb +7 -42
  160. data/lib/zm/client/mta_queue_item.rb +2 -1
  161. data/lib/zm/client/resource/resource.rb +24 -91
  162. data/lib/zm/client/resource/resource_jsns_builder.rb +79 -0
  163. data/lib/zm/client/resource/resource_jsns_initializer.rb +29 -0
  164. data/lib/zm/client/resource/resources_builder.rb +8 -1
  165. data/lib/zm/client/resource/resources_collection.rb +9 -7
  166. data/lib/zm/client/resource.rb +2 -0
  167. data/lib/zm/client/search_folder/search_folder.rb +38 -16
  168. data/lib/zm/client/search_folder/search_folder_jsns_builder.rb +38 -19
  169. data/lib/zm/client/search_folder/search_folder_jsns_initializer.rb +17 -13
  170. data/lib/zm/client/search_folder/search_folders_builder.rb +0 -1
  171. data/lib/zm/client/search_folder/search_folders_collection.rb +2 -1
  172. data/lib/zm/client/server/server.rb +16 -488
  173. data/lib/zm/client/server/server_jsns_initializer.rb +16 -0
  174. data/lib/zm/client/server/servers_builder.rb +8 -1
  175. data/lib/zm/client/server/servers_collection.rb +13 -5
  176. data/lib/zm/client/server.rb +1 -0
  177. data/lib/zm/client/share/share.rb +5 -43
  178. data/lib/zm/client/share/share_jsns_initializer.rb +32 -0
  179. data/lib/zm/client/share/share_mountpoints_collection.rb +38 -0
  180. data/lib/zm/client/share/shares_builder.rb +8 -1
  181. data/lib/zm/client/share/shares_collection.rb +11 -16
  182. data/lib/zm/client/share.rb +2 -0
  183. data/lib/zm/client/signature/signature.rb +25 -29
  184. data/lib/zm/client/signature/signature_jsns_builder.rb +31 -13
  185. data/lib/zm/client/signature/signature_jsns_initializer.rb +16 -12
  186. data/lib/zm/client/signature/signatures_builder.rb +1 -2
  187. data/lib/zm/client/signature/signatures_collection.rb +2 -1
  188. data/lib/zm/client/signature.rb +1 -1
  189. data/lib/zm/client/soap_request/account_soap_constants.rb +76 -0
  190. data/lib/zm/client/soap_request/admin_soap_constants.rb +214 -0
  191. data/lib/zm/client/soap_request/mail_soap_constants.rb +162 -0
  192. data/lib/zm/client/soap_request/soap_constants.rb +55 -0
  193. data/lib/zm/client/soap_request/soap_context.rb +38 -0
  194. data/lib/zm/client/soap_request/soap_element.rb +90 -0
  195. data/lib/zm/client/soap_request.rb +8 -0
  196. data/lib/zm/client/tag/account_object_tags_collection.rb +65 -0
  197. data/lib/zm/client/tag/tag.rb +34 -22
  198. data/lib/zm/client/tag/tag_jsns_builder.rb +14 -35
  199. data/lib/zm/client/tag/tag_jsns_initializer.rb +4 -6
  200. data/lib/zm/client/tag/tags_builder.rb +0 -1
  201. data/lib/zm/client/tag/tags_collection.rb +2 -1
  202. data/lib/zm/client/tag.rb +1 -0
  203. data/lib/zm/client/task/task.rb +18 -49
  204. data/lib/zm/client/task/task_jsns_initializer.rb +45 -0
  205. data/lib/zm/client/task/tasks_builder.rb +6 -16
  206. data/lib/zm/client/task/tasks_collection.rb +29 -0
  207. data/lib/zm/client/task.rb +1 -0
  208. data/lib/zm/client/upload/upload.rb +26 -30
  209. data/lib/zm/client/version.rb +3 -3
  210. data/lib/zm/client.rb +4 -1
  211. data/lib/zm/modules/base.rb +10 -0
  212. data/lib/zm/modules/belongs_to_folder.rb +37 -0
  213. data/lib/zm/modules/belongs_to_tag.rb +11 -0
  214. data/lib/zm/modules/common/zimbra-attrs.json +1 -1
  215. data/lib/zm/modules/has_soap_admin_connector.rb +12 -0
  216. data/lib/zm/modules/inspector.rb +24 -0
  217. data/lib/zm/modules/missing_method_static_collection.rb +13 -0
  218. data/lib/zm/modules/zm_logger.rb +3 -1
  219. data/lib/zm/modules/zm_model.rb +4 -2
  220. data/lib/zm/utils/thread_pool.rb +4 -2
  221. data/lib/zm-ruby-client.rb +2 -0
  222. data/zm-ruby-client.gemspec +12 -9
  223. metadata +93 -34
  224. data/lib/zm/client/base/account_object.rb +0 -51
  225. data/lib/zm/client/base/admin_object.rb +0 -51
  226. data/lib/zm/client/base/folder_object.rb +0 -41
  227. data/lib/zm/client/config.rb +0 -12
  228. data/lib/zm/client/data_source.rb +0 -5
  229. data/lib/zm/modules/common/account_common.rb +0 -71
  230. data/lib/zm/modules/common/cos_common.rb +0 -463
  231. data/lib/zm/modules/common/dl_common.rb +0 -38
  232. data/lib/zm/modules/common/identity_common.rb +0 -19
  233. data/lib/zm/modules/common/resource_common.rb +0 -59
  234. data/lib/zm/modules/common/signature_common.rb +0 -16
  235. data/lib/zm/modules/common/zimbra-attrs.json.bak +0 -1
  236. data/test/accounts.rb +0 -89
  237. data/test/ace.rb +0 -50
  238. data/test/cluster.rb +0 -41
  239. data/test/cluster_config.rb +0 -30
  240. data/test/cluster_zimbra_attributes.rb +0 -38
  241. data/test/coses.rb +0 -26
  242. data/test/domains.rb +0 -70
  243. data/test/folder.rb +0 -125
  244. data/test/folder_grant.rb +0 -51
  245. data/test/mountpoint.rb +0 -49
  246. data/test/retention_policies.rb +0 -40
  247. data/test/search_folder.rb +0 -67
  248. data/test/signature.rb +0 -53
  249. data/test/tag.rb +0 -65
  250. data/test/zimbra_attributes.rb +0 -35
data/test/cluster.rb DELETED
@@ -1,41 +0,0 @@
1
- require 'minitest/autorun'
2
-
3
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
4
-
5
- require './lib/zm/client'
6
-
7
- class TestCluster < Minitest::Test
8
-
9
- def setup
10
- @config = Zm::Client::ClusterConfig.new('./test/fixtures/config.json')
11
- @admin = Zm::Client::Cluster.new(@config)
12
- @admin.login
13
- end
14
-
15
- def test_login
16
- assert @admin.logged?
17
- end
18
-
19
- def test_alive?
20
- assert @admin.alive?
21
- end
22
-
23
- def test_not_alive?
24
- admin = Zm::Client::Cluster.new(@config)
25
- admin.soap_admin_connector.token = '12345'
26
- assert !admin.alive?
27
- end
28
-
29
- def test_info
30
- @admin.infos!
31
-
32
- assert !@admin.type.nil?
33
- assert !@admin.version.nil?
34
- assert !@admin.release.nil?
35
- assert !@admin.buildDate.nil?
36
- assert !@admin.host.nil?
37
- assert !@admin.majorversion.nil?
38
- assert !@admin.minorversion.nil?
39
- assert !@admin.microversion.nil?
40
- end
41
- end
@@ -1,30 +0,0 @@
1
- require 'minitest/autorun'
2
-
3
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
4
-
5
- require './lib/zm/client'
6
-
7
- class TestClusterConfig < Minitest::Test
8
-
9
- def test_json_path
10
- assert Zm::Client::ClusterConfig.new('./test/fixtures/config.json').is_a? Zm::Client::ClusterConfig
11
- end
12
-
13
- def test_yaml_path
14
- assert Zm::Client::ClusterConfig.new('./test/fixtures/config.yml').is_a? Zm::Client::ClusterConfig
15
- end
16
-
17
- def test_hash
18
- config_h = {
19
- zimbra_admin_host: 'webmail.domain.tld',
20
- zimbra_admin_scheme: 'https',
21
- zimbra_admin_port: 7071,
22
- zimbra_admin_login: 'admin@domain.tld',
23
- zimbra_admin_password: 'secret',
24
- zimbra_public_host: 'webmail.domain.tld',
25
- zimbra_public_scheme: 'https',
26
- zimbra_public_port: 443
27
- }
28
- assert Zm::Client::ClusterConfig.new(config_h).is_a? Zm::Client::ClusterConfig
29
- end
30
- end
@@ -1,38 +0,0 @@
1
- require 'minitest/autorun'
2
-
3
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
4
-
5
- require './lib/zm/client'
6
-
7
- class TestZimbraAttributes < Minitest::Test
8
-
9
- def setup
10
- @config = Zm::Client::ClusterConfig.new('./test/fixtures/config.json')
11
- @admin = Zm::Client::Cluster.new(@config)
12
- end
13
-
14
- def test_all
15
- assert @admin.zimbra_attributes.all.is_a?(Array)
16
- end
17
-
18
- def test_not_empty
19
- assert !@admin.zimbra_attributes.all.empty?
20
- end
21
-
22
- def test_all_account
23
- assert !@admin.zimbra_attributes.all_account_attrs.empty?
24
- end
25
-
26
- def test_all_account_version
27
- version = '8.6.0'
28
- attrs = @admin.zimbra_attributes.all_account_attrs_version(version)
29
-
30
- assert attrs.length < @admin.zimbra_attributes.all_account_attrs.length
31
- end
32
-
33
- def test_all_account_version_by_info
34
- @admin.login
35
- @admin.infos!
36
- assert !@admin.zimbra_attributes.all_account_attrs_version(@admin.version).empty?
37
- end
38
- end
data/test/coses.rb DELETED
@@ -1,26 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'yaml'
3
-
4
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
-
6
- require './lib/zm/client'
7
-
8
- class TestAccount < Minitest::Test
9
-
10
- def setup
11
- @admin = Zm::Client::Cluster.new(Zm::Client::ClusterConfig.new('./test/fixtures/config.yml'))
12
- @admin.login
13
-
14
- @fixture_coses = YAML.load(File.read('./test/fixtures/coses.yml'))
15
- end
16
-
17
- def test_count
18
- assert @admin.coses.all.count.is_a? Integer
19
- end
20
-
21
- def test_find
22
- cos = @admin.coses.find_by name: @fixture_coses['coses']['default']['name']
23
- assert cos.is_a? Zm::Client::Cos
24
- assert_equal(@fixture_coses['coses']['default']['name'], cos.name)
25
- end
26
- end
data/test/domains.rb DELETED
@@ -1,70 +0,0 @@
1
- require "minitest/autorun"
2
- require 'yaml'
3
-
4
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
-
6
- require './lib/zm/client'
7
-
8
- class TestDomain < Minitest::Test
9
- def setup
10
- @admin = Zm::Client::Cluster.new(Zm::Client::ClusterConfig.new('./test/fixtures/config.yml'))
11
- @admin.login
12
-
13
- @fixture_domains = YAML.load(File.read('./test/fixtures/domains.yml'))
14
- end
15
-
16
- def test_all
17
- domains = @admin.domains.where(@fixture_domains['collections']['where']['local']).all
18
- assert domains == @admin.domains.where(@fixture_domains['collections']['where']['local']).all
19
- end
20
-
21
- def test_all_is_domain
22
- domains = @admin.domains.where(@fixture_domains['collections']['where']['local']).all
23
- assert domains.map(&:class).uniq.first == Zm::Client::Domain
24
- end
25
-
26
- def test_all_where
27
- domains = @admin.domains.where(@fixture_domains['collections']['where']['local']).all
28
- assert domains != @admin.domains.where(@fixture_domains['collections']['where']['alias']).all
29
- end
30
-
31
- def test_all!
32
- domains = @admin.domains.where(@fixture_domains['collections']['where']['local']).all
33
- assert domains != @admin.domains.where(@fixture_domains['collections']['where']['local']).all!
34
- end
35
-
36
- def test_where
37
- assert @admin.domains.where(@fixture_domains['collections']['where']['local']).count.is_a? Integer
38
- end
39
-
40
- def test_where_chain
41
- where_clause = @fixture_domains['collections']['where']['local']
42
- order_clause = @fixture_domains['collections']['order']['default']
43
- attrs_clause = @fixture_domains['collections']['attrs']['default']
44
- assert @admin.domains.where(where_clause).order(order_clause).attrs(*attrs_clause).all.any?
45
- end
46
-
47
- def test_find_by_name
48
- domain = @admin.domains.find_by name: @fixture_domains['domains']['default']['name']
49
- assert domain.is_a? Zm::Client::Domain
50
- assert_equal @fixture_domains['domains']['default']['name'], domain.name
51
- end
52
-
53
- def test_new_domain
54
- name = @fixture_domains['domains']['toto']['name']
55
- domain = @admin.domains.new do |acc|
56
- acc.name = name
57
- end
58
- assert domain.is_a? Zm::Client::Domain
59
- assert domain.name == name
60
- end
61
-
62
- def test_create_domain
63
- name = @fixture_domains['domains']['toto']['name']
64
- domain = @admin.domains.new do |acc|
65
- acc.name = name
66
- end
67
- domain.save!
68
- assert !domain.id.nil?
69
- end
70
- end
data/test/folder.rb DELETED
@@ -1,125 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'yaml'
3
-
4
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
-
6
- require './lib/zm/client'
7
-
8
- class TestSearchFolder < Minitest::Test
9
-
10
- def setup
11
- @admin = Zm::Client::Cluster.new(Zm::Client::ClusterConfig.new('./test/fixtures/config.yml'))
12
- # @admin.logger.debug!
13
- @admin.login
14
-
15
- @fixture_accounts = YAML.load(File.read('./test/fixtures/accounts.yml'))
16
- @account = @admin.accounts.find_by name: @fixture_accounts['accounts']['maxime']['email']
17
- @account.login
18
- end
19
-
20
- def test_all
21
- folders = @account.folders.all
22
- assert folders.is_a?(Array)
23
- end
24
-
25
- def test_find
26
- folder = @account.folders.find(10)
27
- assert folder.id.to_i == 10
28
- end
29
-
30
- def test_create
31
- folder = @account.folders.new do |f|
32
- f.name = "Test #{Time.now.to_i}"
33
- f.color = 5
34
- end
35
- folder.create!
36
- assert !folder.id.nil?
37
- end
38
-
39
- def test_modify
40
- folder = @account.folders.first
41
- folder.color = (1..5).to_a.sample
42
-
43
- begin
44
- is_modified = folder.modify!
45
- rescue StandardError => _
46
- is_modified = false
47
- end
48
-
49
- assert is_modified
50
- end
51
-
52
- def test_update
53
- folder = @account.folders.first
54
- colors = (1..5).to_a
55
- colors.delete(folder.color)
56
- selected_color = colors.sample
57
-
58
- begin
59
- is_modified = folder.update!(color: selected_color)
60
- rescue StandardError => _
61
- is_modified = false
62
- end
63
-
64
- assert is_modified
65
- assert selected_color == folder.color
66
- end
67
-
68
- def test_reload
69
- folder = @account.folders.first
70
- id = folder.id
71
- folder.reload!
72
-
73
- assert id == folder.id
74
- end
75
-
76
- def test_color
77
- folder = @account.folders.first
78
- folder.color = (1..5).to_a.sample
79
-
80
- begin
81
- is_modified = folder.color!
82
- rescue StandardError => _
83
- is_modified = false
84
- end
85
-
86
- assert is_modified
87
- end
88
-
89
- def test_move
90
- folder = @account.folders.all.find { |f| !f.is_immutable? && f.l.to_i != 2 }
91
- folder.l = 2
92
-
93
- begin
94
- is_modified = folder.move!
95
- rescue StandardError => _
96
- is_modified = false
97
- end
98
-
99
- assert is_modified
100
- end
101
-
102
- def test_empty
103
- folder = @account.folders.first
104
- folder.empty!
105
- assert folder.nb_items.zero?
106
- end
107
-
108
- def test_delete
109
- folder = @account.folders.all.find { |f| !f.is_immutable? }
110
- folder.delete!
111
- assert folder.id.nil?
112
- end
113
-
114
- def test_rename
115
- folder = @account.folders.all.find { |f| !f.is_immutable? }
116
- new_name = "Test #{Time.now.to_i}"
117
- folder.name = new_name
118
- folder.rename!
119
-
120
- folders = @account.folders.all!
121
- folder2 = folders.find { |f| f.name == new_name }
122
-
123
- assert !folder2.nil?
124
- end
125
- end
data/test/folder_grant.rb DELETED
@@ -1,51 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'yaml'
3
-
4
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
-
6
- require './lib/zm/client'
7
-
8
- class TestFolderGrant < Minitest::Test
9
-
10
- def setup
11
- @admin = Zm::Client::Cluster.new(Zm::Client::ClusterConfig.new('./test/fixtures/config.yml'))
12
- # @admin.logger.debug!
13
- @admin.login
14
-
15
- @fixture_accounts = YAML.load(File.read('./test/fixtures/accounts.yml'))
16
- @account = @admin.accounts.find_by name: @fixture_accounts['accounts']['maxime']['email']
17
- @account.login
18
- end
19
-
20
- def test_all
21
- folders_with_grants = @account.folders.all.reject { |f| f.grants.all.empty? }
22
- folders_with_grants.each do |folder|
23
- assert folder.grants.all.is_a?(Array)
24
-
25
- folder.grants.all.each do |grant|
26
- assert grant.is_a?(Zm::Client::FolderGrant)
27
- end
28
- end
29
- end
30
-
31
- def test_delete
32
- folders_with_grants = @account.folders.all.reject { |f| f.grants.all.empty? }
33
- folders_with_grants.each do |folder|
34
- folder.grants.all.each do |grant|
35
- if grant.is_external? || grant.is_dom?
36
- grant.delete!
37
- assert !folder.grants.all.include?(grant)
38
- end
39
- end
40
- end
41
- end
42
-
43
- def test_create
44
- folder = @account.folders.all.select { |f| f.grants.all.empty? }.sample
45
- grant = folder.grants.new(@fixture_accounts['accounts']['maxime2']['id'], 'usr', 'r', @fixture_accounts['accounts']['maxime2']['email'])
46
- grant.save!
47
-
48
- folder_ids_with_grants = @account.folders.all!.reject { |f| f.grants.all.empty? }.map(&:id)
49
- assert folder_ids_with_grants.include?(folder.id)
50
- end
51
- end
data/test/mountpoint.rb DELETED
@@ -1,49 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'yaml'
3
-
4
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
-
6
- require './lib/zm/client'
7
-
8
- class TestMountPoint < Minitest::Test
9
-
10
- def setup
11
- @admin = Zm::Client::Cluster.new(Zm::Client::ClusterConfig.new('./test/fixtures/config.yml'))
12
- # @admin.logger.debug!
13
- @admin.login
14
-
15
- @fixture_accounts = YAML.load(File.read('./test/fixtures/accounts.yml'))
16
- @account = @admin.accounts.find_by name: @fixture_accounts['accounts']['maxime']['email']
17
- @account.login
18
- end
19
-
20
- def test_all
21
- mountpoints = @account.mountpoints.all
22
- assert mountpoints.is_a?(Array)
23
- end
24
-
25
- def test_color
26
- mountpoint = @account.mountpoints.first
27
- mountpoint.color = (1..5).to_a.sample
28
-
29
- begin
30
- is_modified = mountpoint.color!
31
- rescue StandardError => _
32
- is_modified = false
33
- end
34
-
35
- assert is_modified
36
- end
37
-
38
- def test_rename
39
- mountpoint = @account.mountpoints.all.sample
40
- new_name = "Test #{Time.now.to_i}"
41
- mountpoint.name = new_name
42
- mountpoint.rename!
43
-
44
- mountpoints = @account.mountpoints.all!
45
- mountpoint2 = mountpoints.find { |f| f.name == new_name }
46
-
47
- assert !mountpoint2.nil?
48
- end
49
- end
@@ -1,40 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'yaml'
3
-
4
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
-
6
- require './lib/zm/client'
7
-
8
- class TestRetentionPolicy < Minitest::Test
9
-
10
- def setup
11
- @admin = Zm::Client::Cluster.new(Zm::Client::ClusterConfig.new('./test/fixtures/config.yml'))
12
- # @admin.logger.debug!
13
- @admin.login
14
-
15
- @fixture_accounts = YAML.load(File.read('./test/fixtures/accounts.yml'))
16
- @account = @admin.accounts.find_by name: @fixture_accounts['accounts']['maxime']['email']
17
- @account.login
18
- end
19
-
20
- def test_all
21
- folders_with_retention_policies = @account.folders.all.reject { |f| f.retention_policies.all.empty? }
22
- folders_with_retention_policies.each do |folder|
23
- assert folder.retention_policies.all.is_a?(Array)
24
- end
25
- end
26
-
27
- def test_update
28
- lifetime = "#{(1..300).to_a.sample}d"
29
- folder = @account.folders.all.reject { |f| f.retention_policies.all.empty? }.sample
30
- folder.retention_policies.all.each do |rp|
31
- rp.lifetime = lifetime
32
- end
33
- folder.retention_policies.save!
34
-
35
- folder2 = @account.folders.all!.find { |f| f.id == folder.id }
36
- folder2.retention_policies.all.each do |rp|
37
- assert rp.lifetime == lifetime
38
- end
39
- end
40
- end
@@ -1,67 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'yaml'
3
-
4
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
-
6
- require './lib/zm/client'
7
-
8
- class TestSearchFolder < Minitest::Test
9
-
10
- def setup
11
- @admin = Zm::Client::Cluster.new(Zm::Client::ClusterConfig.new('./test/fixtures/config.yml'))
12
- # @admin.logger.debug!
13
- @admin.login
14
-
15
- @fixture_accounts = YAML.load(File.read('./test/fixtures/accounts.yml'))
16
- @account = @admin.accounts.find_by name: @fixture_accounts['accounts']['maxime']['email']
17
- @account.login
18
- end
19
-
20
- def test_all
21
- search_folders = @account.search_folders.all
22
- assert search_folders.is_a?(Array)
23
- end
24
-
25
- def test_create
26
- search_folder = @account.search_folders.new do |sf|
27
- sf.name = "Not read #{Time.now.to_i}"
28
- sf.query = 'is:unread'
29
- end
30
- search_folder.create!
31
- assert !search_folder.id.nil?
32
- end
33
-
34
- def test_modify
35
- search_folder = @account.search_folders.first
36
- search_folder.color = (1..5).to_a.sample
37
- search_folder.query = 'is:unread in:inbox'
38
- # assert search_folder.color_changed?
39
- # assert search_folder.query_changed?
40
-
41
- begin
42
- is_modified = search_folder.modify!
43
- rescue StandardError => _
44
- is_modified = false
45
- end
46
-
47
- assert is_modified
48
- end
49
-
50
- def test_delete
51
- search_folder = @account.search_folders.first
52
- search_folder.delete!
53
- assert search_folder.id.nil?
54
- end
55
-
56
- def test_rename
57
- search_folder = @account.search_folders.first
58
- new_name = "Not read #{Time.now.to_i}"
59
- search_folder.name = new_name
60
- search_folder.rename!
61
-
62
- sfs = @account.search_folders.all!
63
- sf2 = sfs.find { |t| t.name == new_name }
64
-
65
- assert !sf2.nil?
66
- end
67
- end
data/test/signature.rb DELETED
@@ -1,53 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'yaml'
3
-
4
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
-
6
- require './lib/zm/client'
7
-
8
- class TestSignature < Minitest::Test
9
-
10
- def setup
11
- @admin = Zm::Client::Cluster.new(Zm::Client::ClusterConfig.new('./test/fixtures/config.yml'))
12
- # @admin.logger.debug!
13
- @admin.login
14
-
15
- @fixture_accounts = YAML.load(File.read('./test/fixtures/accounts.yml'))
16
- @account = @admin.accounts.find_by name: @fixture_accounts['accounts']['maxime']['email']
17
- @account.login
18
- end
19
-
20
- def test_all
21
- signatures = @account.signatures.all
22
- assert signatures.is_a?(Array)
23
- end
24
-
25
- def test_create
26
- signature = @account.signatures.new do |sf|
27
- sf.name = "test signature #{Time.now.to_i}"
28
- sf.txt = "ceci est un test de création"
29
- end
30
- signature.create!
31
- assert !signature.id.nil?
32
- end
33
-
34
- def test_modify
35
- signature = @account.signatures.first
36
- signature.txt = "ceci est un test de modification"
37
- assert signature.txt_changed?
38
-
39
- begin
40
- is_modified = signature.modify!
41
- rescue StandardError => _
42
- is_modified = false
43
- end
44
-
45
- assert is_modified
46
- end
47
-
48
- def test_delete
49
- signature = @account.signatures.first
50
- signature.delete!
51
- assert signature.id.nil?
52
- end
53
- end
data/test/tag.rb DELETED
@@ -1,65 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'yaml'
3
-
4
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
-
6
- require './lib/zm/client'
7
-
8
- class TestTAg < Minitest::Test
9
-
10
- def setup
11
- @admin = Zm::Client::Cluster.new(Zm::Client::ClusterConfig.new('./test/fixtures/config.yml'))
12
- # @admin.logger.debug!
13
- @admin.login
14
-
15
- @fixture_accounts = YAML.load(File.read('./test/fixtures/accounts.yml'))
16
- @account = @admin.accounts.find_by name: @fixture_accounts['accounts']['maxime']['email']
17
- @account.login
18
- end
19
-
20
- def test_all
21
- tags = @account.tags.all
22
- assert tags.is_a?(Array)
23
- end
24
-
25
- def test_create
26
- tag = @account.tags.new do |sf|
27
- sf.name = "test #{Time.now.to_i}"
28
- sf.color = 4
29
- end
30
- tag.create!
31
- assert !tag.id.nil?
32
- end
33
-
34
- def test_modify
35
- tag = @account.tags.first
36
- tag.color = (1..5).to_a.sample
37
-
38
- begin
39
- is_modified = tag.modify!
40
- rescue StandardError => _
41
- is_modified = false
42
- end
43
-
44
- assert is_modified
45
- end
46
-
47
- def test_delete
48
- tag = @account.tags.first
49
- tag.delete!
50
- assert tag.id.nil?
51
- end
52
-
53
- def test_rename
54
- tag = @account.tags.first
55
- new_name = "test rename #{Time.now.to_i}"
56
- tag.name = new_name
57
- assert tag.name_changed?
58
- tag.save!
59
-
60
- tags = @account.tags.all!
61
- tag2 = tags.find { |t| t.name == new_name }
62
-
63
- assert !tag2.nil?
64
- end
65
- end
@@ -1,35 +0,0 @@
1
- require 'minitest/autorun'
2
-
3
- $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
4
-
5
- require './lib/zm/client'
6
-
7
- class TestZimbraAttributes < Minitest::Test
8
-
9
- def setup
10
-
11
- end
12
-
13
- def test_all
14
- zac = Zm::Client::Base::ZimbraAttributesCollection.new
15
- assert zac.all.is_a?(Array)
16
- end
17
-
18
- def test_not_empty
19
- zac = Zm::Client::Base::ZimbraAttributesCollection.new
20
- assert !zac.all.empty?
21
- end
22
-
23
- def test_all_account
24
- zac = Zm::Client::Base::ZimbraAttributesCollection.new
25
- assert !zac.all_account_attrs.empty?
26
- end
27
-
28
- def test_all_account_version
29
- zac = Zm::Client::Base::ZimbraAttributesCollection.new
30
- version = '8.6.0'
31
- attrs = zac.all_account_attrs_version(version)
32
-
33
- assert attrs.length < zac.all_account_attrs.length
34
- end
35
- end