mxhero-api 0.1.25 → 0.1.26

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OGQ3ZGYzMWMwZDkwNDVkYTFkNzZmZjVkYmY5MDliYmZjMzA3MmJjZg==
4
+ M2NiMTVjOWRlNTVkMDE0MjcwZDEzYjQ4OTg4NmJkZWIxN2Y5N2ViMA==
5
5
  data.tar.gz: !binary |-
6
- N2JkNGE1ODBhOWM5Y2NmZTRhMjE3OGYyNzg3Njk4NDczY2M2NzI0Zg==
6
+ ZWE1MzVkZjZkZDk1ZjlhOTYwYTU2YmM5YTI1YzRlYjI4ZjAyNWJkNw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWYxYWE4NDIzODY5NTIxMjk5OTQ1YzI5NGJmMjhmZjcxNmUyY2M5ZTQ2MGRl
10
- OTI1OTFjOTAwZjdlY2Y1NTY4M2M2MGI5YWJhNDAwN2Y4MGQzYTUwOGM5MTAw
11
- Yzc2MjdkNTQ0N2Y5NDUwY2U0ZGY3YjI3NDI2ZDgyY2JjYmE2MTU=
9
+ NDQzMDVlMDA0NWMwODA1MDViZGUzMGM0YWM1NzkwZjk3Zjc0ZjAyMjdlNjQz
10
+ ZWU0NDY0MWQ0YzVjY2RlNzcwZjk3OWU2NzI3ZjBlOWJkNTEwOWZhODlhMDhl
11
+ Y2IyY2QwNGIxYjEwY2YzYjgxZDc4NzMzMjAyNzBhMjRiZTZjMzg=
12
12
  data.tar.gz: !binary |-
13
- MWU3Y2EyMzVmMmQ0ODQ5NjIyNWIzMDQyOGY3N2NiZjU2NWIzMzg0MmRiYjY5
14
- MjdmYWZlZTI2OWUzZWFkNjQwODY5Y2M0NWQzYzQ2MzUwMjMzZDQ1ZWE1MTgw
15
- YjQzYzRiOGUyZGE2MDA5ZDM1ZGQxODJkNzc5MTlkZjQ1ZTdlMmU=
13
+ ZTBmYmI5NTgwMzk1MjVlZjg3ZmU5NzhkZTdlZDUzY2JjOGU4YjA3OTk2M2Nl
14
+ MmMxN2JkMDkyYjk5YzI4NzY3YzBkYzBiMzhmNmM2NmMwMDEyNmM1NjlhYThm
15
+ MGJmNjlkYzkwMjY5MTUxZTZlYTg1NTEwMmZjNjQzNGIzOTUyMTM=
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.25
1
+ 0.1.26
data/lib/mxhero-api.rb CHANGED
@@ -334,6 +334,39 @@ module MxHero::API
334
334
  parse_response(response)
335
335
  end
336
336
 
337
+ # @return [Hash|String|nil] can return a hash with the key and value of any
338
+ # system property. If use a parameter (key) return the string of this value.
339
+ # In the two cases return nil when not found values
340
+ #
341
+ def system_properties(key = nil)
342
+ response = call(:get, system_properties_url(key))
343
+ if response.status == 200
344
+ parsed = json_parse(response.content)
345
+ if parsed.is_a? Array
346
+ props = {}
347
+ parsed.each { |property| props[property[:key]] = property[:value] }
348
+ return props
349
+ else
350
+ return parsed[:value]
351
+ end
352
+ end
353
+
354
+ nil
355
+ end
356
+
357
+ # Update or create a system property
358
+ def save_system_property(key, value)
359
+ property = { key: key, value: value }.to_json
360
+ response = if system_properties(key).nil?
361
+ call(:post, system_properties_url, property)
362
+ else
363
+ call(:put, system_properties_url(key), property)
364
+ end
365
+
366
+ parse_response(response).success?
367
+ end
368
+
369
+
337
370
  # --------------------------------------------------------------------------------------------------------------------------------
338
371
  private
339
372
 
@@ -418,6 +451,12 @@ module MxHero::API
418
451
  accounts_by_domain_url(domain) + "/#{account}/properties"
419
452
  end
420
453
 
454
+ def system_properties_url(key = nil)
455
+ fixed_key = key.nil? ? nil : "#{key}/"
456
+ service_url + "/system/properties/#{fixed_key}"
457
+ end
458
+
459
+
421
460
  end
422
461
 
423
462
  end
data/mxhero-api.gemspec CHANGED
@@ -1,22 +1,22 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: mxhero-api 0.1.25 ruby lib
2
+ # stub: mxhero-api 0.1.26 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "mxhero-api"
6
- s.version = "0.1.25"
6
+ s.version = "0.1.26"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.authors = ["Maximiliano Dello Russo", "Juan Pablo Royo", "mxHero"]
10
- s.date = "2013-12-27"
10
+ s.date = "2014-01-09"
11
11
  s.description = "A gem to provide easy access to the API of MxHero platform (http://www.mxhero.com/)"
12
12
  s.email = ["maxidr@mxhero.com", "juanpablo.royo@gmail.com", "mxhero@mxhero.com"]
13
- s.files = [".gitignore", ".rvmrc", "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "VERSION", "lib/communication.rb", "lib/directories.rb", "lib/dto.rb", "lib/groups.rb", "lib/mxhero-api.rb", "lib/resource.rb", "lib/resources/account.rb", "lib/resources/domain.rb", "lib/resources/group.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/all_groups.yml", "test/fixtures/api/create_directory.yml", "test/fixtures/api/create_rule_for_domain.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/fetch_directory.yml", "test/fixtures/api/ldap_info.yml", "test/fixtures/api/move_to_trial.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/rules_for_domain.yml", "test/fixtures/api/rules_for_domain_by_component.yml", "test/fixtures/api/save_group.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/domain.rb", "test/helper.rb", "test/test_directories.rb", "test/test_domain.rb", "test/test_dto.rb", "test/test_feature.rb", "test/test_groups.rb", "test/test_mxhero_api.rb", "test/test_mxhero_api_response.rb", "test/test_resource.rb"]
13
+ s.files = [".gitignore", ".rvmrc", "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "VERSION", "lib/communication.rb", "lib/directories.rb", "lib/dto.rb", "lib/groups.rb", "lib/mxhero-api.rb", "lib/resource.rb", "lib/resources/account.rb", "lib/resources/domain.rb", "lib/resources/group.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/all_groups.yml", "test/fixtures/api/create_directory.yml", "test/fixtures/api/create_rule_for_domain.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/fetch_directory.yml", "test/fixtures/api/ldap_info.yml", "test/fixtures/api/move_to_trial.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/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/domain.rb", "test/helper.rb", "test/test_directories.rb", "test/test_domain.rb", "test/test_dto.rb", "test/test_feature.rb", "test/test_groups.rb", "test/test_mxhero_api.rb", "test/test_mxhero_api_response.rb", "test/test_resource.rb"]
14
14
  s.homepage = "http://github.com/mxhero/mxhero-api"
15
15
  s.licenses = ["GPL-3"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubygems_version = "2.1.9"
18
18
  s.summary = "A MxHero API client for ruby"
19
- 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/all_groups.yml", "test/fixtures/api/create_directory.yml", "test/fixtures/api/create_rule_for_domain.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/fetch_directory.yml", "test/fixtures/api/ldap_info.yml", "test/fixtures/api/move_to_trial.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/rules_for_domain.yml", "test/fixtures/api/rules_for_domain_by_component.yml", "test/fixtures/api/save_group.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/domain.rb", "test/helper.rb", "test/test_directories.rb", "test/test_domain.rb", "test/test_dto.rb", "test/test_feature.rb", "test/test_groups.rb", "test/test_mxhero_api.rb", "test/test_mxhero_api_response.rb", "test/test_resource.rb"]
19
+ 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/all_groups.yml", "test/fixtures/api/create_directory.yml", "test/fixtures/api/create_rule_for_domain.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/fetch_directory.yml", "test/fixtures/api/ldap_info.yml", "test/fixtures/api/move_to_trial.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/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/domain.rb", "test/helper.rb", "test/test_directories.rb", "test/test_domain.rb", "test/test_dto.rb", "test/test_feature.rb", "test/test_groups.rb", "test/test_mxhero_api.rb", "test/test_mxhero_api_response.rb", "test/test_resource.rb"]
20
20
 
21
21
  if s.respond_to? :specification_version then
22
22
  s.specification_version = 4
@@ -0,0 +1,53 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://admin:password@test.mxhero.com/webapi/api/v1/system/properties/
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: !binary |-
20
+ T0s=
21
+ headers:
22
+ !binary "RGF0ZQ==":
23
+ - !binary |-
24
+ VGh1LCAwOSBKYW4gMjAxNCAxNToxOToxNSBHTVQ=
25
+ !binary "U2VydmVy":
26
+ - !binary |-
27
+ QXBhY2hlLzIuMi4xNCAoVWJ1bnR1KQ==
28
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
29
+ - !binary |-
30
+ Y2h1bmtlZA==
31
+ !binary "Q29udGVudC1UeXBl":
32
+ - !binary |-
33
+ YXBwbGljYXRpb24vanNvbg==
34
+ body:
35
+ encoding: US-ASCII
36
+ string: ! '[{"key":"api.password","value":"6x5ItobNGPW31x4"},{"key":"api.username","value":"apiuser"},{"key":"commercial.version","value":"true"},{"key":"default.user.language","value":"en_US"},{"key":"documentation.url","value":"http://wiki.mxhero.com:8080/display/docs/mxHero+User+Manual"},{"key":"external.logo.path","value":null},{"key":"feature.category.unclassified.id","value":"4"},{"key":"license.data","value":"<?xml
37
+ version=\"1.0\" encoding=\"utf-8\"?>\n<mxHeroLicense verifier=\"MX1\">\n <item
38
+ name=\"APIEnabled\" value=\"true\"/>\n <item name=\"AccountsLimit\" value=\"0\"/>\n <item
39
+ name=\"BackupEnabled\" value=\"true\"/>\n <item name=\"BrandingEnabled\"
40
+ value=\"true\"/>\n <item name=\"ClusterEnabled\" value=\"true\"/>\n <item
41
+ name=\"CommunityVersion\" value=\"false\"/>\n <item name=\"HAEnabled\" value=\"true\"/>\n <item
42
+ name=\"InstallType\" value=\"regular\"/>\n <item name=\"IssuedOn\" value=\"20130117220532Z\"/>\n <item
43
+ name=\"IssuedToEmail\" value=\"compras@inova.net\"/>\n <item name=\"IssuedToName\"
44
+ value=\"Inova Tecnologias de Informacao e Representacoes Ltda.\"/>\n <item
45
+ name=\"LicenseId\" value=\"e05ee4ec-1edb-4f38-bd7c-1c0e858a6b34\"/>\n <item
46
+ name=\"LiteVersion\" value=\"false\"/>\n <item name=\"QuarantineEnabled\"
47
+ value=\"true\"/>\n <item name=\"ResellerName\" value=\"\"/>\n <item name=\"ValidFrom\"
48
+ value=\"20121119235959Z\"/>\n <item name=\"ValidUntil\" value=\"20991231235959Z\"/>\n <signature
49
+ value=\"Oudk4ZJqhE4usRMnUTTFcirihCaLvOtmKNocFQtS+u6RByTVpYEYwreta9uUvxsksm60DlQg/g5j06J4aqWOcc8jU9le1n19tfpS1ya424yJTW0n+CfazLxaFa57NRbWMbYf6j7aRCoanbaQ+NJiUsYoOTARRXd4QU3IhWsRc9VOGXK8Zm1dfvhEOG4gSHpVv4o74Ye6dmEXv+RuEkv2VhSlb75WOx4BWjyQDCojh85e+Ji9SCk/f1bQp6i1LXDqA/Dt3puTeDMpiica6w2i2Xf3Bn9Ufj8aI8hzKi/qgTHsT8JxWFor2fPMw5QbQt3zSqFr+Ks+AXQ8c7ybzj0hsg==\"
50
+ key=\"mxk1\"/>\n</mxHeroLicense>\n"},{"key":"mail.admin","value":"admin@example.com"},{"key":"mail.smtp.auth","value":"false"},{"key":"mail.smtp.host","value":"localhost"},{"key":"mail.smtp.password","value":null},{"key":"mail.smtp.port","value":"25"},{"key":"mail.smtp.ssl.enable","value":"false"},{"key":"mail.smtp.user","value":null},{"key":"news.feed.enabled","value":"true"},{"key":"preauth.expires","value":"300000"},{"key":"preauth.key","value":"4e2816f16c44fab20ecdee39fb850c3b0bb54d03f1d8e073aaea376a4f407f0c"},{"key":"quarantine_url","value":"/roundcube/?_user=MXHERO_USERNAME"},{"key":"zimbra.bandwidth.cost","value":"0.0"},{"key":"zimbra.currency.symbol","value":"$"},{"key":"zimbra.installation","value":"false"},{"key":"zimbra.ldap.host","value":null},{"key":"zimbra.private.key","value":null},{"key":"zimbra.storage.cost","value":"0.0"}]'
51
+ http_version:
52
+ recorded_at: Thu, 09 Jan 2014 15:19:15 GMT
53
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,219 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://admin:password@test.mxhero.com/webapi/api/v1/system/properties/test.key/
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: 404
19
+ message: !binary |-
20
+ Tm90IEZvdW5k
21
+ headers:
22
+ !binary "RGF0ZQ==":
23
+ - !binary |-
24
+ VGh1LCAwOSBKYW4gMjAxNCAyMDozMDoyOSBHTVQ=
25
+ !binary "U2VydmVy":
26
+ - !binary |-
27
+ QXBhY2hlLzIuMi4xNCAoVWJ1bnR1KQ==
28
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
29
+ - !binary |-
30
+ Y2h1bmtlZA==
31
+ !binary "Q29udGVudC1UeXBl":
32
+ - !binary |-
33
+ YXBwbGljYXRpb24vanNvbg==
34
+ body:
35
+ encoding: US-ASCII
36
+ string: ! '{"status":404,"code":404,"message":"system.property.not.found","developerMessage":"system.property.not.found","moreInfoUrl":"mailto:support@mxhero.com"}'
37
+ http_version:
38
+ recorded_at: Thu, 09 Jan 2014 20:30:29 GMT
39
+ - request:
40
+ method: post
41
+ uri: http://admin:password@test.mxhero.com/webapi/api/v1/system/properties/
42
+ body:
43
+ encoding: UTF-8
44
+ string: ! '{"key":"test.key","value":"test.value"}'
45
+ headers:
46
+ Accept:
47
+ - application/json
48
+ Content-Type:
49
+ - application/json
50
+ Authorization:
51
+ - Basic YWRtaW46cGFzc3dvcmQ=
52
+ response:
53
+ status:
54
+ code: 201
55
+ message: !binary |-
56
+ Q3JlYXRlZA==
57
+ headers:
58
+ !binary "RGF0ZQ==":
59
+ - !binary |-
60
+ VGh1LCAwOSBKYW4gMjAxNCAyMDozMDozMCBHTVQ=
61
+ !binary "U2VydmVy":
62
+ - !binary |-
63
+ QXBhY2hlLzIuMi4xNCAoVWJ1bnR1KQ==
64
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
65
+ - !binary |-
66
+ Y2h1bmtlZA==
67
+ !binary "Q29udGVudC1UeXBl":
68
+ - !binary |-
69
+ YXBwbGljYXRpb24vanNvbg==
70
+ body:
71
+ encoding: US-ASCII
72
+ string: ! '{"key":"test.key","value":"test.value"}'
73
+ http_version:
74
+ recorded_at: Thu, 09 Jan 2014 20:30:29 GMT
75
+ - request:
76
+ method: get
77
+ uri: http://admin:password@test.mxhero.com/webapi/api/v1/system/properties/test.key/
78
+ body:
79
+ encoding: US-ASCII
80
+ string: ''
81
+ headers:
82
+ Accept:
83
+ - application/json
84
+ Content-Type:
85
+ - application/json
86
+ Authorization:
87
+ - Basic YWRtaW46cGFzc3dvcmQ=
88
+ response:
89
+ status:
90
+ code: 200
91
+ message: !binary |-
92
+ T0s=
93
+ headers:
94
+ !binary "RGF0ZQ==":
95
+ - !binary |-
96
+ VGh1LCAwOSBKYW4gMjAxNCAyMDozMDozMCBHTVQ=
97
+ !binary "U2VydmVy":
98
+ - !binary |-
99
+ QXBhY2hlLzIuMi4xNCAoVWJ1bnR1KQ==
100
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
101
+ - !binary |-
102
+ Y2h1bmtlZA==
103
+ !binary "Q29udGVudC1UeXBl":
104
+ - !binary |-
105
+ YXBwbGljYXRpb24vanNvbg==
106
+ body:
107
+ encoding: US-ASCII
108
+ string: ! '{"key":"test.key","value":"test.value"}'
109
+ http_version:
110
+ recorded_at: Thu, 09 Jan 2014 20:30:30 GMT
111
+ - request:
112
+ method: get
113
+ uri: http://admin:password@test.mxhero.com/webapi/api/v1/system/properties/test.key/
114
+ body:
115
+ encoding: US-ASCII
116
+ string: ''
117
+ headers:
118
+ Accept:
119
+ - application/json
120
+ Content-Type:
121
+ - application/json
122
+ Authorization:
123
+ - Basic YWRtaW46cGFzc3dvcmQ=
124
+ response:
125
+ status:
126
+ code: 200
127
+ message: !binary |-
128
+ T0s=
129
+ headers:
130
+ !binary "RGF0ZQ==":
131
+ - !binary |-
132
+ VGh1LCAwOSBKYW4gMjAxNCAyMDozMDozMCBHTVQ=
133
+ !binary "U2VydmVy":
134
+ - !binary |-
135
+ QXBhY2hlLzIuMi4xNCAoVWJ1bnR1KQ==
136
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
137
+ - !binary |-
138
+ Y2h1bmtlZA==
139
+ !binary "Q29udGVudC1UeXBl":
140
+ - !binary |-
141
+ YXBwbGljYXRpb24vanNvbg==
142
+ body:
143
+ encoding: US-ASCII
144
+ string: ! '{"key":"test.key","value":"test.value"}'
145
+ http_version:
146
+ recorded_at: Thu, 09 Jan 2014 20:30:30 GMT
147
+ - request:
148
+ method: put
149
+ uri: http://admin:password@test.mxhero.com/webapi/api/v1/system/properties/test.key/
150
+ body:
151
+ encoding: UTF-8
152
+ string: ! '{"key":"test.key","value":"test.value.change"}'
153
+ headers:
154
+ Accept:
155
+ - application/json
156
+ Content-Type:
157
+ - application/json
158
+ Authorization:
159
+ - Basic YWRtaW46cGFzc3dvcmQ=
160
+ response:
161
+ status:
162
+ code: 200
163
+ message: !binary |-
164
+ T0s=
165
+ headers:
166
+ !binary "RGF0ZQ==":
167
+ - !binary |-
168
+ VGh1LCAwOSBKYW4gMjAxNCAyMDozMDozMSBHTVQ=
169
+ !binary "U2VydmVy":
170
+ - !binary |-
171
+ QXBhY2hlLzIuMi4xNCAoVWJ1bnR1KQ==
172
+ !binary "Q29udGVudC1MZW5ndGg=":
173
+ - !binary |-
174
+ MA==
175
+ !binary "Q29udGVudC1UeXBl":
176
+ - !binary |-
177
+ dGV4dC9wbGFpbg==
178
+ body:
179
+ encoding: US-ASCII
180
+ string: ''
181
+ http_version:
182
+ recorded_at: Thu, 09 Jan 2014 20:30:30 GMT
183
+ - request:
184
+ method: get
185
+ uri: http://admin:password@test.mxhero.com/webapi/api/v1/system/properties/test.key/
186
+ body:
187
+ encoding: US-ASCII
188
+ string: ''
189
+ headers:
190
+ Accept:
191
+ - application/json
192
+ Content-Type:
193
+ - application/json
194
+ Authorization:
195
+ - Basic YWRtaW46cGFzc3dvcmQ=
196
+ response:
197
+ status:
198
+ code: 200
199
+ message: !binary |-
200
+ T0s=
201
+ headers:
202
+ !binary "RGF0ZQ==":
203
+ - !binary |-
204
+ VGh1LCAwOSBKYW4gMjAxNCAyMDozMDozMSBHTVQ=
205
+ !binary "U2VydmVy":
206
+ - !binary |-
207
+ QXBhY2hlLzIuMi4xNCAoVWJ1bnR1KQ==
208
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
209
+ - !binary |-
210
+ Y2h1bmtlZA==
211
+ !binary "Q29udGVudC1UeXBl":
212
+ - !binary |-
213
+ YXBwbGljYXRpb24vanNvbg==
214
+ body:
215
+ encoding: US-ASCII
216
+ string: ! '{"key":"test.key","value":"test.value.change"}'
217
+ http_version:
218
+ recorded_at: Thu, 09 Jan 2014 20:30:31 GMT
219
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,39 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://admin:password@test.mxhero.com/webapi/api/v1/system/properties/default.user.language/
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: !binary |-
20
+ T0s=
21
+ headers:
22
+ !binary "RGF0ZQ==":
23
+ - !binary |-
24
+ VGh1LCAwOSBKYW4gMjAxNCAxNjoxNzozOCBHTVQ=
25
+ !binary "U2VydmVy":
26
+ - !binary |-
27
+ QXBhY2hlLzIuMi4xNCAoVWJ1bnR1KQ==
28
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
29
+ - !binary |-
30
+ Y2h1bmtlZA==
31
+ !binary "Q29udGVudC1UeXBl":
32
+ - !binary |-
33
+ YXBwbGljYXRpb24vanNvbg==
34
+ body:
35
+ encoding: US-ASCII
36
+ string: ! '{"key":"default.user.language","value":"en_US"}'
37
+ http_version:
38
+ recorded_at: Thu, 09 Jan 2014 16:17:38 GMT
39
+ recorded_with: VCR 2.5.0
@@ -221,12 +221,8 @@ class MxHeroAPITest < MiniTest::Unit::TestCase
221
221
  assert_equal original + '011', properties['mobile']
222
222
  end
223
223
  end
224
- def test_domain_by_name
225
- VCR.use_cassette('domain_by_id') do
226
- id = domain
227
- end
228
- end
229
224
 
225
+
230
226
 
231
227
  def test_domain
232
228
  VCR.use_cassette('test_domain') do
@@ -278,6 +274,36 @@ def test_domain_by_name
278
274
  end
279
275
  end
280
276
 
277
+ def test_system_properties
278
+ VCR.use_cassette('system_properties') do
279
+ response = @api.system_properties
280
+ # puts "Response: #{response}"
281
+ assert response.is_a? Hash
282
+ assert_equal 'en_US', response['default.user.language']
283
+ assert_equal 'admin@example.com', response['mail.admin']
284
+ end
285
+ end
286
+
287
+ def test_specific_system_properties
288
+ VCR.use_cassette('system_properties_element') do
289
+ response = @api.system_properties('default.user.language')
290
+ assert_equal 'en_US', response
291
+ end
292
+ end
293
+
294
+ def test_save_system_property
295
+ VCR.use_cassette('system_properties_create') do
296
+ response = @api.save_system_property('test.key', 'test.value')
297
+ assert response
298
+ assert_equal 'test.value', @api.system_properties('test.key')
299
+
300
+ response = @api.save_system_property('test.key', 'test.value.change')
301
+ assert response
302
+ assert_equal 'test.value.change', @api.system_properties('test.key')
303
+ end
304
+ end
305
+
306
+
281
307
  private
282
308
 
283
309
  def delete_all_rules
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: 0.1.25
4
+ version: 0.1.26
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: 2013-12-27 00:00:00.000000000 Z
13
+ date: 2014-01-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: vcr
@@ -109,6 +109,9 @@ files:
109
109
  - test/fixtures/api/rules_for_domain.yml
110
110
  - test/fixtures/api/rules_for_domain_by_component.yml
111
111
  - test/fixtures/api/save_group.yml
112
+ - test/fixtures/api/system_properties.yml
113
+ - test/fixtures/api/system_properties_create.yml
114
+ - test/fixtures/api/system_properties_element.yml
112
115
  - test/fixtures/api/test_domain.yml
113
116
  - test/fixtures/api/update_account_properties.yml
114
117
  - test/fixtures/api/update_accounts_group_scope.yml
@@ -178,6 +181,9 @@ test_files:
178
181
  - test/fixtures/api/rules_for_domain.yml
179
182
  - test/fixtures/api/rules_for_domain_by_component.yml
180
183
  - test/fixtures/api/save_group.yml
184
+ - test/fixtures/api/system_properties.yml
185
+ - test/fixtures/api/system_properties_create.yml
186
+ - test/fixtures/api/system_properties_element.yml
181
187
  - test/fixtures/api/test_domain.yml
182
188
  - test/fixtures/api/update_account_properties.yml
183
189
  - test/fixtures/api/update_accounts_group_scope.yml