zm-ruby-client 0.18.3 → 2.0.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.
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 -319
  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 +88 -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 +14 -4
  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 +25 -5
  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 +45 -68
  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 -21
  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 +33 -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