test/test_mxhero_api.rb in mxhero-api-0.1.11 vs test/test_mxhero_api.rb in mxhero-api-0.1.12
- old
+ new
@@ -26,11 +26,11 @@
property = updated_rule[:properties].find { |property| property[:propertyKey] == 'return.message' }
property[:propertyValue] = 'another content'
updated_rule[:name] = updated_rule[:name] + ' more name'
- assert @api.update_rule(updated_rule)
+ assert @api.update_rule(updated_rule), 'the rule not must be updated'
rule = @api.domain_rule(updated_rule[:domain], updated_rule[:id])
assert updated_rule, rule
end
end
@@ -49,11 +49,11 @@
def test_rules_for_domain
VCR.use_cassette('rules_for_domain') do
response = @api.rules_for_domain(domain)
assert response.code == 200
rules = response.msg
- assert_equal domain, rules.first[:domain]
+ assert rules.is_a? Array
end
end
def test_rules_for_domain_filter_component
VCR.use_cassette('rules_for_domain_by_component') do
@@ -108,19 +108,33 @@
account[:aliases].each { |t_alias| must_have_the_keys(t_alias, %w( name domain dataSource )) }
end
end
end
+ def test_accounts_without_group
+ VCR.use_cassette('accounts_without_group') do
+ response = @api.accounts_by_domain(domain, without_group: true)
+ assert response.key? :elements
+ account = response[:elements].first
+ start_with = account[:account][0..2]
+
+ response = @api.accounts_by_domain(domain, without_group: true, account: start_with)
+ assert response[:totalElements] >= 1
+ find_account = response[:elements].first
+ assert_equal start_with, find_account[:account][0..2]
+ end
+ end
+
def test_accounts_by_domain_filtered
VCR.use_cassette('accounts_filtered') do
# The test environment have 4 accounts:
- # user_1, user_2, user_3 and test
- response = @api.accounts_by_domain(domain, account: 'user')
- assert_equal 3, response[:elements].count
+ # agent.smith, john.doe, test, test1, test2
response = @api.accounts_by_domain(domain, account: 'test')
+ assert_equal 3, response[:elements].count
+ response = @api.accounts_by_domain(domain, account: 'john.doe')
assert_equal 1, response[:elements].count
- response = @api.accounts_by_domain(domain, account: 'user_2')
+ response = @api.accounts_by_domain(domain, account: 'test1')
assert_equal 1, response[:elements].count
end
end
def test_accounts_by_domain_paginated
@@ -138,31 +152,24 @@
one_rule = rules.first
response = @api.delete_rule(domain, one_rule[:id])
assert response
end
end
-
- def test_create_rule
- VCR.use_cassette('create_rule_success') do
- response = @api.create_rule(create_rule_msg)
- assert response.code == 201
- end
- end
-
- def test_try_to_create_rule_that_alredy_exist
- VCR.use_cassette('create_rule_alredy_exist') do
- response = @api.create_rule(create_rule_msg)
- assert_equal 201, response.code
- new_response = @api.create_rule(create_rule_msg)
- assert_equal 500, new_response.code
- assert_equal "rules.already.exists.for.component", new_response.msg[:developerMessage]
- end
- end
+ #def test_try_to_create_rule_that_alredy_exist
+ # VCR.use_cassette('create_rule_alredy_exist') do
+ # response = @api.create_rule(create_rule_msg)
+ # #assert_equal 201, response.code
+ # new_response = @api.create_rule(create_rule_msg)
+ # assert_equal 500, new_response.code
+ # assert_equal "rules.already.exists.for.component", new_response.msg[:developerMessage]
+ # end
+ #end
def test_create_rule_for_domain
VCR.use_cassette('create_rule_for_domain') do
+ delete_all_rules
response = @api.create_rule_for_domain(domain, rule)
assert response.code == 201
new_response = @api.create_rule_for_domain(domain, rule)
assert new_response.code == 500
assert_equal "rules.already.exists.for.component", new_response.msg[:developerMessage]
@@ -198,12 +205,12 @@
def test_update_account_properties
VCR.use_cassette('update_account_properties') do
account = 'test'
response = @api.account_properties(domain, account)
properties = response.msg
- properties['lastname'] = properties['lastname'] + ' CHANGED'
- properties['name'] = properties['name'] + ' CHANGED'
+ properties['lastname'] = ( properties['lastname'] || '' ) + ' CHANGED'
+ properties['name'] = ( properties['name'] || '' ) + ' CHANGED'
properties['fax'] = nil
response = @api.update_account_properties(domain, account, properties)
assert_equal 200, response.code
response = @api.account_properties(domain, account)
@@ -212,13 +219,24 @@
assert_equal properties['fax'], response.msg['fax']
end
end
private
+
+ def delete_all_rules
+ response = @api.rules_for_domain(domain)
+ response.msg.each do |rule|
+ @api.delete_rule(domain, rule[:id])
+ end
+ end
def obtain_rules(domain)
response = @api.rules_for_domain(domain)
+ if response.msg.nil? || response.msg.empty?
+ created = @api.create_rule_for_domain(domain, rule)
+ return [ created.msg ]
+ end
response.msg
end
def must_have_the_keys(hash, keys)
keys.each do |key|
@@ -230,15 +248,19 @@
msg = create_rule_msg
msg[:domain] = domain
msg
end
- def create_rule_msg
+ def random_name
+ (0...15).map{ ('a'..'z').to_a[rand(26)] }.join
+ end
+
+ def create_rule_msg(name = nil)
{
#"domain" => "tesla.com",
twoWays: false,
enabled: true,
- name: "Email footer",
+ name: name || "Email footer",
created: 1369682598000,
fromDirection: { directionType: "domain", domain: domain, freeValue: domain },
toDirection: { directionType: "domain", domain: domain, freeValue: domain },
properties: [{ propertyKey: "return.message", propertyValue: "footer content" }],
component: "org.mxhero.feature.disclaimer"