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"