mxhero-api 1.2.5 → 1.2.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d53c980ba408a5ad46c04ae5a2f2f39f91a54d0d
4
- data.tar.gz: 343002910a9b9599f26de6041a9588c5fbacc4bc
3
+ metadata.gz: d99185c334d11d13bbe7c075327919e31d9c3b7d
4
+ data.tar.gz: 50d35f9c10f02aee3b6ea826a2550ca83b8471cd
5
5
  SHA512:
6
- metadata.gz: b48e520164510ca350cd89bce72de7c9dd1f2ed52c1a31c8d9a60bf8c59f3260006e6b054badc683a13ee8cec22b800d53db7d67c13d731e27001e8c0c8370f9
7
- data.tar.gz: 92740179fe132d702f9bbd6c4ac038c0968f7ecd9686596e6dfb2dfa32582f31ec627307ab61563481d46ee360d666c4154e7c236d11355a49a6e56eb3642338
6
+ metadata.gz: 72a511960317f7babf6e4cf05456c394a0072d15e780865ab425693808bfbc7b38493a5e14b124c803b3e65b013799078fda6fc84e9ba8d35d0ec867d3591c90
7
+ data.tar.gz: 1dffa2796ed7e11443d64517691b18d75481e74bdccf8be147d88145f29414bff44703b75376becd8fbcae6abbc6498bec446fdbe7d847e3dfce464a91665baf
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.5
1
+ 1.2.6
@@ -46,6 +46,12 @@ module MxHero::API
46
46
  end
47
47
  end
48
48
 
49
+ # Search available accounts
50
+ def search_accounts(term)
51
+ response = call(:get, search_accounts_url(term) ,nil, throw_exception: false)
52
+ Response.new(response.status, json_parse(response.content))
53
+ end
54
+
49
55
  # Save a new group
50
56
  #
51
57
  # @param group [MxHero::API::Group]
@@ -159,6 +165,11 @@ module MxHero::API
159
165
  def group_remove_accounts_url(group_name, account_name)
160
166
  group_accounts_url(group_name) + "/#{account_name}/remove"
161
167
  end
168
+
169
+ def search_accounts_url(term)
170
+ "#{groups_url}/accounts/available?account=#{term}"
171
+ end
172
+
162
173
  end
163
174
 
164
175
 
@@ -1,23 +1,23 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: mxhero-api 1.2.5 ruby lib
2
+ # stub: mxhero-api 1.2.6 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "mxhero-api"
6
- s.version = "1.2.5"
6
+ s.version = "1.2.6"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib"]
10
10
  s.authors = ["Maximiliano Dello Russo", "Juan Pablo Royo", "mxHero"]
11
- s.date = "2017-05-11"
11
+ s.date = "2017-06-06"
12
12
  s.description = "A gem to provide easy access to the API of MxHero platform (http://www.mxhero.com/)"
13
13
  s.email = ["maxidr@mxhero.com", "juanpablo.royo@gmail.com", "mxhero@mxhero.com"]
14
- s.files = [".gitignore", ".ruby-gemset", ".ruby-version", "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "VERSION", "lib/communication.rb", "lib/directories.rb", "lib/dto.rb", "lib/email-sync.rb", "lib/groups.rb", "lib/mxhero-api.rb", "lib/pst-converter.rb", "lib/resource.rb", "lib/resources/account.rb", "lib/resources/domain.rb", "lib/resources/group.rb", "lib/response.rb", "lib/urls.rb", "mxhero-api.gemspec", "test/fixtures/api/account_properties.yml", "test/fixtures/api/account_properties_not_found.yml", "test/fixtures/api/accounts.yml", "test/fixtures/api/accounts_filtered.yml", "test/fixtures/api/accounts_from_domain.yml", "test/fixtures/api/accounts_from_domain_paginated.yml", "test/fixtures/api/accounts_without_group.yml", "test/fixtures/api/add_an_inexistent_account_to_group.yml", "test/fixtures/api/add_and_remove_account.yml", "test/fixtures/api/add_feature.yml", "test/fixtures/api/all_groups.yml", "test/fixtures/api/associate_user_domain.yml", "test/fixtures/api/create_directory.yml", "test/fixtures/api/create_domain.yml", "test/fixtures/api/create_rule_for_domain.yml", "test/fixtures/api/create_user.yml", "test/fixtures/api/delete_directory.yml", "test/fixtures/api/delete_group.yml", "test/fixtures/api/delete_rule.yml", "test/fixtures/api/domain_by_id.yml", "test/fixtures/api/domain_by_id_not_found.yml", "test/fixtures/api/domain_rule.yml", "test/fixtures/api/domains.yml", "test/fixtures/api/emailsync_delete.yml", "test/fixtures/api/emailsync_fetch_all.yml", "test/fixtures/api/emailsync_task_by_id.yml", "test/fixtures/api/fetch_directory.yml", "test/fixtures/api/fetch_user.yml", "test/fixtures/api/ldap_info.yml", "test/fixtures/api/move_to_trial.yml", "test/fixtures/api/pst_inactive_tasks.yml", "test/fixtures/api/refresh_directory.yml", "test/fixtures/api/remove_account_from_group_twice.yml", "test/fixtures/api/remove_inexistente_account_from_group.yml", "test/fixtures/api/rule_status.yml", "test/fixtures/api/rules_for_domain.yml", "test/fixtures/api/rules_for_domain_by_component.yml", "test/fixtures/api/save_group.yml", "test/fixtures/api/system_properties.yml", "test/fixtures/api/system_properties_create.yml", "test/fixtures/api/system_properties_element.yml", "test/fixtures/api/test_domain.yml", "test/fixtures/api/update_account_properties.yml", "test/fixtures/api/update_accounts_group_scope.yml", "test/fixtures/api/update_accounts_properties_scope.yml", "test/fixtures/api/update_directory.yml", "test/fixtures/api/update_rule.yml", "test/fixtures/api/update_user.yml", "test/fixtures/api/user_domains.yml", "test/fixtures/api/users_for_domain.yml", "test/fixtures/api/validate_user_credential.yml", "test/fixtures/domain.rb", "test/helper.rb", "test/test_directories.rb", "test/test_domain.rb", "test/test_dto.rb", "test/test_emailsync.rb", "test/test_feature.rb", "test/test_groups.rb", "test/test_mxhero_api.rb", "test/test_mxhero_api_response.rb", "test/test_pst-converter.rb", "test/test_resource.rb"]
14
+ s.files = [".gitignore", ".ruby-gemset", ".ruby-version", "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "VERSION", "lib/communication.rb", "lib/directories.rb", "lib/dto.rb", "lib/email-sync.rb", "lib/groups.rb", "lib/mxhero-api.rb", "lib/pst-converter.rb", "lib/resource.rb", "lib/resources/account.rb", "lib/resources/domain.rb", "lib/resources/group.rb", "lib/response.rb", "lib/urls.rb", "mxhero-api.gemspec", "test/fixtures/api/account_properties.yml", "test/fixtures/api/account_properties_not_found.yml", "test/fixtures/api/accounts.yml", "test/fixtures/api/accounts_filtered.yml", "test/fixtures/api/accounts_from_domain.yml", "test/fixtures/api/accounts_from_domain_paginated.yml", "test/fixtures/api/accounts_without_group.yml", "test/fixtures/api/add_an_inexistent_account_to_group.yml", "test/fixtures/api/add_and_remove_account.yml", "test/fixtures/api/add_feature.yml", "test/fixtures/api/all_groups.yml", "test/fixtures/api/associate_user_domain.yml", "test/fixtures/api/create_directory.yml", "test/fixtures/api/create_domain.yml", "test/fixtures/api/create_rule_for_domain.yml", "test/fixtures/api/create_user.yml", "test/fixtures/api/delete_directory.yml", "test/fixtures/api/delete_group.yml", "test/fixtures/api/delete_rule.yml", "test/fixtures/api/domain_by_id.yml", "test/fixtures/api/domain_by_id_not_found.yml", "test/fixtures/api/domain_rule.yml", "test/fixtures/api/domains.yml", "test/fixtures/api/emailsync_delete.yml", "test/fixtures/api/emailsync_fetch_all.yml", "test/fixtures/api/emailsync_task_by_id.yml", "test/fixtures/api/fetch_directory.yml", "test/fixtures/api/fetch_user.yml", "test/fixtures/api/ldap_info.yml", "test/fixtures/api/move_to_trial.yml", "test/fixtures/api/pst_inactive_tasks.yml", "test/fixtures/api/refresh_directory.yml", "test/fixtures/api/remove_account_from_group_twice.yml", "test/fixtures/api/remove_inexistente_account_from_group.yml", "test/fixtures/api/rule_status.yml", "test/fixtures/api/rules_for_domain.yml", "test/fixtures/api/rules_for_domain_by_component.yml", "test/fixtures/api/save_group.yml", "test/fixtures/api/search_accounts_starts_with_a.yml", "test/fixtures/api/search_accounts_starts_with_ab.yml", "test/fixtures/api/system_properties.yml", "test/fixtures/api/system_properties_create.yml", "test/fixtures/api/system_properties_element.yml", "test/fixtures/api/test_domain.yml", "test/fixtures/api/update_account_properties.yml", "test/fixtures/api/update_accounts_group_scope.yml", "test/fixtures/api/update_accounts_properties_scope.yml", "test/fixtures/api/update_directory.yml", "test/fixtures/api/update_rule.yml", "test/fixtures/api/update_user.yml", "test/fixtures/api/user_domains.yml", "test/fixtures/api/users_for_domain.yml", "test/fixtures/api/validate_user_credential.yml", "test/fixtures/domain.rb", "test/helper.rb", "test/test_directories.rb", "test/test_domain.rb", "test/test_dto.rb", "test/test_emailsync.rb", "test/test_feature.rb", "test/test_groups.rb", "test/test_mxhero_api.rb", "test/test_mxhero_api_response.rb", "test/test_pst-converter.rb", "test/test_resource.rb"]
15
15
  s.homepage = "http://github.com/mxhero/mxhero-api"
16
16
  s.licenses = ["GPL-3"]
17
17
  s.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
18
18
  s.rubygems_version = "2.5.1"
19
19
  s.summary = "A MxHero API client for ruby"
20
- s.test_files = ["test/fixtures/api/account_properties.yml", "test/fixtures/api/account_properties_not_found.yml", "test/fixtures/api/accounts.yml", "test/fixtures/api/accounts_filtered.yml", "test/fixtures/api/accounts_from_domain.yml", "test/fixtures/api/accounts_from_domain_paginated.yml", "test/fixtures/api/accounts_without_group.yml", "test/fixtures/api/add_an_inexistent_account_to_group.yml", "test/fixtures/api/add_and_remove_account.yml", "test/fixtures/api/add_feature.yml", "test/fixtures/api/all_groups.yml", "test/fixtures/api/associate_user_domain.yml", "test/fixtures/api/create_directory.yml", "test/fixtures/api/create_domain.yml", "test/fixtures/api/create_rule_for_domain.yml", "test/fixtures/api/create_user.yml", "test/fixtures/api/delete_directory.yml", "test/fixtures/api/delete_group.yml", "test/fixtures/api/delete_rule.yml", "test/fixtures/api/domain_by_id.yml", "test/fixtures/api/domain_by_id_not_found.yml", "test/fixtures/api/domain_rule.yml", "test/fixtures/api/domains.yml", "test/fixtures/api/emailsync_delete.yml", "test/fixtures/api/emailsync_fetch_all.yml", "test/fixtures/api/emailsync_task_by_id.yml", "test/fixtures/api/fetch_directory.yml", "test/fixtures/api/fetch_user.yml", "test/fixtures/api/ldap_info.yml", "test/fixtures/api/move_to_trial.yml", "test/fixtures/api/pst_inactive_tasks.yml", "test/fixtures/api/refresh_directory.yml", "test/fixtures/api/remove_account_from_group_twice.yml", "test/fixtures/api/remove_inexistente_account_from_group.yml", "test/fixtures/api/rule_status.yml", "test/fixtures/api/rules_for_domain.yml", "test/fixtures/api/rules_for_domain_by_component.yml", "test/fixtures/api/save_group.yml", "test/fixtures/api/system_properties.yml", "test/fixtures/api/system_properties_create.yml", "test/fixtures/api/system_properties_element.yml", "test/fixtures/api/test_domain.yml", "test/fixtures/api/update_account_properties.yml", "test/fixtures/api/update_accounts_group_scope.yml", "test/fixtures/api/update_accounts_properties_scope.yml", "test/fixtures/api/update_directory.yml", "test/fixtures/api/update_rule.yml", "test/fixtures/api/update_user.yml", "test/fixtures/api/user_domains.yml", "test/fixtures/api/users_for_domain.yml", "test/fixtures/api/validate_user_credential.yml", "test/fixtures/domain.rb", "test/helper.rb", "test/test_directories.rb", "test/test_domain.rb", "test/test_dto.rb", "test/test_emailsync.rb", "test/test_feature.rb", "test/test_groups.rb", "test/test_mxhero_api.rb", "test/test_mxhero_api_response.rb", "test/test_pst-converter.rb", "test/test_resource.rb"]
20
+ s.test_files = ["test/fixtures/api/account_properties.yml", "test/fixtures/api/account_properties_not_found.yml", "test/fixtures/api/accounts.yml", "test/fixtures/api/accounts_filtered.yml", "test/fixtures/api/accounts_from_domain.yml", "test/fixtures/api/accounts_from_domain_paginated.yml", "test/fixtures/api/accounts_without_group.yml", "test/fixtures/api/add_an_inexistent_account_to_group.yml", "test/fixtures/api/add_and_remove_account.yml", "test/fixtures/api/add_feature.yml", "test/fixtures/api/all_groups.yml", "test/fixtures/api/associate_user_domain.yml", "test/fixtures/api/create_directory.yml", "test/fixtures/api/create_domain.yml", "test/fixtures/api/create_rule_for_domain.yml", "test/fixtures/api/create_user.yml", "test/fixtures/api/delete_directory.yml", "test/fixtures/api/delete_group.yml", "test/fixtures/api/delete_rule.yml", "test/fixtures/api/domain_by_id.yml", "test/fixtures/api/domain_by_id_not_found.yml", "test/fixtures/api/domain_rule.yml", "test/fixtures/api/domains.yml", "test/fixtures/api/emailsync_delete.yml", "test/fixtures/api/emailsync_fetch_all.yml", "test/fixtures/api/emailsync_task_by_id.yml", "test/fixtures/api/fetch_directory.yml", "test/fixtures/api/fetch_user.yml", "test/fixtures/api/ldap_info.yml", "test/fixtures/api/move_to_trial.yml", "test/fixtures/api/pst_inactive_tasks.yml", "test/fixtures/api/refresh_directory.yml", "test/fixtures/api/remove_account_from_group_twice.yml", "test/fixtures/api/remove_inexistente_account_from_group.yml", "test/fixtures/api/rule_status.yml", "test/fixtures/api/rules_for_domain.yml", "test/fixtures/api/rules_for_domain_by_component.yml", "test/fixtures/api/save_group.yml", "test/fixtures/api/search_accounts_starts_with_a.yml", "test/fixtures/api/search_accounts_starts_with_ab.yml", "test/fixtures/api/system_properties.yml", "test/fixtures/api/system_properties_create.yml", "test/fixtures/api/system_properties_element.yml", "test/fixtures/api/test_domain.yml", "test/fixtures/api/update_account_properties.yml", "test/fixtures/api/update_accounts_group_scope.yml", "test/fixtures/api/update_accounts_properties_scope.yml", "test/fixtures/api/update_directory.yml", "test/fixtures/api/update_rule.yml", "test/fixtures/api/update_user.yml", "test/fixtures/api/user_domains.yml", "test/fixtures/api/users_for_domain.yml", "test/fixtures/api/validate_user_credential.yml", "test/fixtures/domain.rb", "test/helper.rb", "test/test_directories.rb", "test/test_domain.rb", "test/test_dto.rb", "test/test_emailsync.rb", "test/test_feature.rb", "test/test_groups.rb", "test/test_mxhero_api.rb", "test/test_mxhero_api_response.rb", "test/test_pst-converter.rb", "test/test_resource.rb"]
21
21
 
22
22
  if s.respond_to? :specification_version then
23
23
  s.specification_version = 4
@@ -0,0 +1,34 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://admin:password@test.mxhero.com/webapi/api/v1/domains/tesla.com/groups/accounts/available?account=a
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic YWRtaW46cGFzc3dvcmQ=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - Apache-Coyote/1.1
23
+ Content-Type:
24
+ - application/json
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Date:
28
+ - Tue, 06 Jun 2017 15:17:42 GMT
29
+ body:
30
+ encoding: UTF-8
31
+ string: '{"totalElements":3,"totalPages":1,"actualPage":1,"elements":[{"account":"abuse","domain":"mxhero.com","createdDate":1395439948000,"updatedDate":1465322769000,"group":null,"dataSource":"manual","isEmailList":true,"aliases":[{"name":"abuse","domain":"mail2box.io","dataSource":"manual"},{"name":"abuse","domain":"mail2cloud.io","dataSource":"manual"},{"name":"abuse","domain":"mxhero.com","dataSource":"manual"},{"name":"abuse","domain":"mxhero.net","dataSource":"manual"},{"name":"abuse","domain":"mxheromail.com","dataSource":"manual"}],"properties":null},{"account":"antonio","domain":"mxhero.com","createdDate":1465308356000,"updatedDate":1465322769000,"group":null,"dataSource":"manual","isEmailList":false,"aliases":[{"name":"antonio","domain":"mail2box.io","dataSource":"manual"},{"name":"antonio","domain":"mail2cloud.io","dataSource":"manual"},{"name":"antonio","domain":"mxhero.com","dataSource":"manual"},{"name":"antonio","domain":"mxhero.net","dataSource":"manual"},{"name":"antonio","domain":"mxheromail.com","dataSource":"manual"},{"name":"antoniodelaheria","domain":"mail2box.io","dataSource":"manual"},{"name":"antoniodelaheria","domain":"mail2cloud.io","dataSource":"manual"},{"name":"antoniodelaheria","domain":"mxhero.com","dataSource":"manual"},{"name":"antoniodelaheria","domain":"mxhero.net","dataSource":"manual"},{"name":"antoniodelaheria","domain":"mxheromail.com","dataSource":"manual"}],"properties":null},{"account":"archive","domain":"mxhero.com","createdDate":1395439948000,"updatedDate":1465322769000,"group":null,"dataSource":"manual","isEmailList":true,"aliases":[{"name":"archive","domain":"mail2box.io","dataSource":"manual"},{"name":"archive","domain":"mail2cloud.io","dataSource":"manual"},{"name":"archive","domain":"mxhero.com","dataSource":"manual"},{"name":"archive","domain":"mxhero.net","dataSource":"manual"},{"name":"archive","domain":"mxheromail.com","dataSource":"manual"}],"properties":null}]}'
32
+ http_version:
33
+ recorded_at: Tue, 06 Jun 2017 15:17:42 GMT
34
+ recorded_with: VCR 3.0.1
@@ -0,0 +1,34 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://admin:password@test.mxhero.com/webapi/api/v1/domains/tesla.com/groups/accounts/available?account=ab
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic YWRtaW46cGFzc3dvcmQ=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - Apache-Coyote/1.1
23
+ Content-Type:
24
+ - application/json
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Date:
28
+ - Tue, 06 Jun 2017 15:20:32 GMT
29
+ body:
30
+ encoding: UTF-8
31
+ string: '{"totalElements":1,"totalPages":1,"actualPage":1,"elements":[{"account":"abuse","domain":"mxhero.com","createdDate":1395439948000,"updatedDate":1465322769000,"group":null,"dataSource":"manual","isEmailList":true,"aliases":[{"name":"abuse","domain":"mail2box.io","dataSource":"manual"},{"name":"abuse","domain":"mail2cloud.io","dataSource":"manual"},{"name":"abuse","domain":"mxhero.com","dataSource":"manual"},{"name":"abuse","domain":"mxhero.net","dataSource":"manual"},{"name":"abuse","domain":"mxheromail.com","dataSource":"manual"}],"properties":null}]}'
32
+ http_version:
33
+ recorded_at: Tue, 06 Jun 2017 15:20:32 GMT
34
+ recorded_with: VCR 3.0.1
@@ -120,5 +120,21 @@ class GroupsTest < Minitest::Test
120
120
  assert_equal '?limit=10&offset=2', @groups.send(:pagination_query, per_page: 10, page: 2)
121
121
  end
122
122
 
123
+ def test_search_accounts
124
+ VCR.use_cassette('search_accounts_starts_with_a') do
125
+ response = @groups.search_accounts('a')
126
+ assert response.success?
127
+ assert_equal 3, response.msg[:totalElements]
128
+ assert_equal [ 'abuse', 'antonio', 'archive' ], response.msg[:elements].map { |e| e[:account] }
129
+ end
130
+
131
+ VCR.use_cassette('search_accounts_starts_with_ab') do
132
+ response = @groups.search_accounts('ab')
133
+ assert response.success?
134
+ assert_equal 1, response.msg[:totalElements]
135
+ assert_equal [ 'abuse' ], response.msg[:elements].map { |e| e[:account] }
136
+ end
137
+ end
138
+
123
139
  end
124
140
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mxhero-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.5
4
+ version: 1.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maximiliano Dello Russo
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-05-11 00:00:00.000000000 Z
13
+ date: 2017-06-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: vcr
@@ -123,6 +123,8 @@ files:
123
123
  - test/fixtures/api/rules_for_domain.yml
124
124
  - test/fixtures/api/rules_for_domain_by_component.yml
125
125
  - test/fixtures/api/save_group.yml
126
+ - test/fixtures/api/search_accounts_starts_with_a.yml
127
+ - test/fixtures/api/search_accounts_starts_with_ab.yml
126
128
  - test/fixtures/api/system_properties.yml
127
129
  - test/fixtures/api/system_properties_create.yml
128
130
  - test/fixtures/api/system_properties_element.yml
@@ -211,6 +213,8 @@ test_files:
211
213
  - test/fixtures/api/rules_for_domain.yml
212
214
  - test/fixtures/api/rules_for_domain_by_component.yml
213
215
  - test/fixtures/api/save_group.yml
216
+ - test/fixtures/api/search_accounts_starts_with_a.yml
217
+ - test/fixtures/api/search_accounts_starts_with_ab.yml
214
218
  - test/fixtures/api/system_properties.yml
215
219
  - test/fixtures/api/system_properties_create.yml
216
220
  - test/fixtures/api/system_properties_element.yml