spec/whm/account_spec.rb in lumberg-2.0.0.pre4 vs spec/whm/account_spec.rb in lumberg-2.0.0.pre5

- old
+ new

@@ -2,20 +2,20 @@ require 'lumberg/whm' module Lumberg describe Whm::Account do before(:each) do - @login = { :host => @whm_host, :hash => @whm_hash } + @login = { host: @whm_host, hash: @whm_hash } @server = Whm::Server.new(@login.dup) - @account = Whm::Account.new(:server => @server.dup) + @account = Whm::Account.new(server: @server.dup) end describe "#create" do use_vcr_cassette "whm/account/createacct" it "creates the account with proper params" do - result = @account.create(:username => 'valid', :password => 'hummingbird123', :domain => 'valid-thing.com') + result = @account.create(username: 'valid', password: 'hummingbird123', domain: 'valid-thing.com') result[:success].should be_true result[:message].should match(/Account Creation Ok/i) result[:params].should_not be_empty result[:params].should have_key(:options) result[:params][:options].should include(:nameserver4, :nameserver, :nameserverentry2, :nameserverentry3, @@ -23,74 +23,74 @@ :nameservera3, :package, :nameservera4, :nameserver2, :nameservera, :nameserver3) end it "returns an error on duplicate accounts" do - result = @account.create(:username => 'invalid', :password => 'hummingbird123', :domain => 'invalid-thing.com') + result = @account.create(username: 'invalid', password: 'hummingbird123', domain: 'invalid-thing.com') result[:success].should be(false) result[:message].should match(/username already exists/i) end end describe "#remove" do use_vcr_cassette "whm/account/removeacct" it "removes a user and keeps DNS by default" do - result = @account.remove(:username => 'removeme') + result = @account.remove(username: 'removeme') result[:success].should be_true result[:params][:rawout].should match(/Removing DNS Entries/i) end it "removes a user and DNS when asked" do - result = @account.remove(:username => 'removeme', :keepdns => false) + result = @account.remove(username: 'removeme', keepdns: false) result[:success].should be_true result[:params][:rawout].should match(/Removing DNS Entries/i) end it "removes a user but keep DNS" do - result = @account.remove(:username => 'removeme', :keepdns => true) + result = @account.remove(username: 'removeme', keepdns: true) result[:success].should be_true result[:params][:rawout].should_not match(/Removing DNS Entries/i) end it "returns an error when the user doesn't exist" do - result = @account.remove(:username => 'notreal') + result = @account.remove(username: 'notreal') result[:success].should be(false) result[:message].should match(/notreal does not exist/i) end end describe "#change_password" do use_vcr_cassette "whm/account/passwd" it "changes the password" do - result = @account.change_password(:username => 'changeme', :password => 'superpass') + result = @account.change_password(username: 'changeme', password: 'superpass') result[:success].should be_true result[:message].should match(/Password changed for user changeme/i) end it "isn't successful when the user doesn't exist" do - result = @account.change_password(:username => 'dontchangeme', :password => 'superpass') + result = @account.change_password(username: 'dontchangeme', password: 'superpass') result[:success].should be(false) result[:message].should match(/dontchangeme does not exist/i) end end describe "#limit bandwidth" do use_vcr_cassette "whm/account/limitbw" it "sets the bandwidth limit" do - result = @account.limit_bandwidth(:username => 'changeme', :bwlimit => 99999) + result = @account.limit_bandwidth(username: 'changeme', bwlimit: 99999) result[:success].should be_true result[:message].should match(/Bandwidth Limit for changeme set to 99999/i) result[:params][:bwlimit][:bwlimitenable].should equal(false) result[:params][:bwlimit][:unlimited].should equal(true) end it "isn't successful when the user doesn't exist" do expect { - @account.limit_bandwidth(:username => 'notexists', :bwlimit => 99999) + @account.limit_bandwidth(username: 'notexists', bwlimit: 99999) }.to raise_error(WhmInvalidUser, /User notexists does not exist/i) end end describe "#list" do @@ -102,164 +102,164 @@ result[:params][:acct].should have(10).accounts result[:params][:acct].first[:ip].should_not be_false end it "returns data for the account" do - result = @account.list(:searchtype => 'user', :search => 'changeme') + result = @account.list(searchtype: 'user', search: 'changeme') result[:success].should be_true account = result[:params][:acct].first account[:email].should == "*unknown*" account[:shell].should == "/usr/local/cpanel/bin/noshell" account[:theme].should == "x3" account[:plan].should == "default" account[:suspended].should equal(false) end it "lists accounts that match a regex search for the user" do - result = @account.list(:searchtype => 'user', :search => 'changeme') + result = @account.list(searchtype: 'user', search: 'changeme') result[:success].should be_true result[:params][:acct].should have(1).account end it "lists accounts that match a regex search for the ip" do - result = @account.list(:searchtype => 'ip', :search => '192\..*?\.1\.20') + result = @account.list(searchtype: 'ip', search: '192\..*?\.1\.20') result[:success].should be_true result[:params][:acct].should have(6).accounts end it "lists accounts that match a regex search for the domain" do - result = @account.list(:searchtype => 'domain', :search => 'ch.*?e.com') + result = @account.list(searchtype: 'domain', search: 'ch.*?e.com') result[:success].should be_true result[:params][:acct].should have(1).account end end describe "#modify" do use_vcr_cassette "whm/account/modifyacct" it "allows domain modification" do - result = @account.modify(:username => 'changeme', :domain => 'example.com') + result = @account.modify(username: 'changeme', domain: 'example.com') result[:success].should be_true result[:params][:newcfg][:cpuser][:DOMAIN].should == 'example.com' end it "returns an error for an invalid user" do - result = @account.modify(:username => 'notexists') + result = @account.modify(username: 'notexists') result[:success].should_not be_true result[:message].should match(/Unable to fetch the cPanel user file for notexists/) end it "returns the bandwidth limit" do - result = @account.modify(:username => 'changeme') + result = @account.modify(username: 'changeme') result[:params][:newcfg][:cpuser][:BWLIMIT].should == "unlimited" end it "returns the primary contact email" do - result = @account.modify(:username => 'changeme') + result = @account.modify(username: 'changeme') result[:params][:newcfg][:cpuser][:CONTACTEMAIL].should == "user@address.com" end it "returns the secondary contact email" do - result = @account.modify(:username => 'changeme') + result = @account.modify(username: 'changeme') result[:params][:newcfg][:cpuser][:CONTACTEMAIL2].should == "user2@address.com" end it "returns the main domain" do - result = @account.modify(:username => 'changeme') + result = @account.modify(username: 'changeme') result[:params][:newcfg][:cpuser][:DOMAIN].should == "example.com" end it "returns whether or not the domain has CGI access" do - result = @account.modify(:username => 'changeme') + result = @account.modify(username: 'changeme') result[:params][:newcfg][:cpuser][:HASCGI].should be_true end end describe "#editquota" do use_vcr_cassette "whm/account/editquota" it "returns an error for an invalid user" do - result = @account.edit_quota(:username => 'notexists', :quota => 500) + result = @account.edit_quota(username: 'notexists', quota: 500) result[:success].should_not be_true result[:message].should match(/Invalid User\. Cannot set quota\./i) end it "changes the user's disk space usage quota" do - result = @account.edit_quota(:username => 'changeme', :quota => 500) + result = @account.edit_quota(username: 'changeme', quota: 500) result[:success].should be_true result[:message].should match(/Set quota for user./i) end it "returns an error if a negative usage quota is passed" do - result = @account.edit_quota(:username => 'changeme', :quota => -1) + result = @account.edit_quota(username: 'changeme', quota: -1) result[:success].should_not be_true result[:message].should match(/Failed to set quota for user\./i) end end describe "#summary" do use_vcr_cassette "whm/account/accountsummary" it "returns an error for invalid users" do - result = @account.summary(:username => 'notexists') + result = @account.summary(username: 'notexists') result[:success].should_not be_true result[:message].should match(/does not exist/i) end it "returns a summary" do - result = @account.summary(:username => 'summary') + result = @account.summary(username: 'summary') result[:success].should be_true result[:message].should match(/ok/i) end end describe "#suspend" do use_vcr_cassette "whm/account/suspend" it "returns an error for invalid users" do - result = @account.suspend(:username => 'notexists') + result = @account.suspend(username: 'notexists') result[:success].should_not be_true result[:message].should match(/does not exist/i) end it "suspends" do - result = @account.suspend(:username => 'suspendme') + result = @account.suspend(username: 'suspendme') result[:success].should be_true result[:message].should match(/has been suspended/i) end it "suspends with a reason" do - @account.server.should_receive(:perform_request).with('suspendacct', hash_including(:user => 'suspendme', :reason => 'abusive user')) - @account.suspend(:username => 'suspendme', :reason => 'abusive user') + @account.server.should_receive(:perform_request).with('suspendacct', hash_including(user: 'suspendme', reason: 'abusive user')) + @account.suspend(username: 'suspendme', reason: 'abusive user') end end describe "#unsuspend" do use_vcr_cassette "whm/account/unsuspend" it "returns an error for invalid users" do - result = @account.unsuspend(:username => 'notexists') + result = @account.unsuspend(username: 'notexists') result[:success].should_not be_true result[:message].should match(/does not exist/i) end it "unsuspends" do - result = @account.unsuspend(:username => 'asdfasdf') + result = @account.unsuspend(username: 'asdfasdf') result[:success].should be_true result[:message].should match(/unsuspending .* account/i) end end describe "#list_suspended" do use_vcr_cassette 'whm/account/listsuspended' it "returns non-empty result" do # empty isn't a real param. VCR Hacks - result = @account.list_suspended(:empty => true) + result = @account.list_suspended(empty: true) result[:success].should be_true result[:params][:accts].should_not be_empty - result[:params][:accts].first.should include(:user => 'removeme') + result[:params][:accts].first.should include(user: 'removeme') end it "returns empty result" do result = @account.list_suspended result[:success].should be_true @@ -269,63 +269,63 @@ describe "#change package" do use_vcr_cassette "whm/account/changepackage" it "returns an error for an invalid user" do - result = @account.change_package(:username => 'notexists', :pkg => 'default') + result = @account.change_package(username: 'notexists', pkg: 'default') result[:success].should_not be_true result[:message].should match(/user notexists does not exist/i) end it "fails if the package was not found" do - result = @account.change_package(:username => 'changeme', :pkg => 'fakepackage') + result = @account.change_package(username: 'changeme', pkg: 'fakepackage') result[:success].should_not be_true result[:message].should match(/package does not exist/i) end it "changes the package" do - result = @account.change_package(:username => 'changeme', :pkg => 'gold') + result = @account.change_package(username: 'changeme', pkg: 'gold') result[:success].should be_true result[:message].should match(/Account Upgrade\/Downgrade Complete for changeme/i) end end describe "#privs" do use_vcr_cassette 'whm/account/myprivs' it "has a result" do - result = @account.privs(:username => 'privs') + result = @account.privs(username: 'privs') result[:success].should be_true params = result[:params] expected = { - :kill_dns => false, :edit_dns => false, :edit_mx => false, :add_pkg => false, - :suspend_acct => false, :add_pkg_shell => false, :viewglobalpackages => false, - :resftp => false, :list_accts => false, :all => true, :passwd => false, :quota => false, - :park_dns => false, :rearrange_accts => false, :allow_addoncreate => false, :demo => false, - :news => false, :edit_account => false, :allow_unlimited_disk_pkgs => false, :allow_parkedcreate => false, - :frontpage => false, :restart => false, :ssl_gencrt => false, :allow_unlimited_pkgs => false, - :add_pkg_ip => false, :disallow_shell => false, :res_cart => false, :ssl_buy => false, :kill_acct => false, - :allow_unlimited_bw_pkgs => false, :create_dns => false, :mailcheck => false, :clustering => false, :ssl => false, - :edit_pkg => false, :locale_edit => false, :show_bandwidth => false, :upgrade_account => false, :thirdparty => false, - :limit_bandwidth => false, :create_acct => false, :demo_setup => false, :stats => false} + kill_dns: false, edit_dns: false, edit_mx: false, add_pkg: false, + suspend_acct: false, add_pkg_shell: false, viewglobalpackages: false, + resftp: false, list_accts: false, all: true, passwd: false, quota: false, + park_dns: false, rearrange_accts: false, allow_addoncreate: false, demo: false, + news: false, edit_account: false, allow_unlimited_disk_pkgs: false, allow_parkedcreate: false, + frontpage: false, restart: false, ssl_gencrt: false, allow_unlimited_pkgs: false, + add_pkg_ip: false, disallow_shell: false, res_cart: false, ssl_buy: false, kill_acct: false, + allow_unlimited_bw_pkgs: false, create_dns: false, mailcheck: false, clustering: false, ssl: false, + edit_pkg: false, locale_edit: false, show_bandwidth: false, upgrade_account: false, thirdparty: false, + limit_bandwidth: false, create_acct: false, demo_setup: false, stats: false} params.should include(expected) end end describe "#domainuserdata" do use_vcr_cassette "whm/account/domainuserdata" it "returns an error for an unknown domain" do - result = @account.domain_user_data(:domain => 'notexists.com') + result = @account.domain_user_data(domain: 'notexists.com') result[:success].should_not be_true result[:message].should match(/Unable to determine account owner for domain\./i) end it "returns the correct data" do - result = @account.domain_user_data(:domain => 'example.com') + result = @account.domain_user_data(domain: 'example.com') result[:success].should be_true result[:params][:documentroot].should == "/home/changeme/public_html" result[:params][:group].should == "changeme" result[:params][:hascgi].should_not be_true result[:params][:homedir].should == "/home/changeme" @@ -343,21 +343,21 @@ describe "#setsiteip" do use_vcr_cassette "whm/account/setsiteip" it "accepts a username for the account to use" do - result = @account.set_site_ip(:ip => '192.1.2.3', :username => 'changeme') + result = @account.set_site_ip(ip: '192.1.2.3', username: 'changeme') result[:success].should be_true end it "accepts a domain for the account to use" do - result = @account.set_site_ip(:ip => '192.1.2.3', :domain => 'example.com') + result = @account.set_site_ip(ip: '192.1.2.3', domain: 'example.com') result[:success].should be_true end it "sets the site ip" do - result = @account.set_site_ip(:ip => '192.1.2.3', :username => 'changeme') + result = @account.set_site_ip(ip: '192.1.2.3', username: 'changeme') result[:success].should be_true result[:message].should match(/OK/i) end end @@ -365,29 +365,29 @@ # 11.27/11.28+ only use_vcr_cassette "whm/account/restoreaccount" it "returns an error if it can't find the backup" do result = @account.restore_account("api.version".to_sym => 1, - :username => 'notexists', - :type => 'daily', - :all => false, - :ip => false, - :mail => false, - :mysql => false, - :subs => false) + username: 'notexists', + type: 'daily', + all: false, + ip: false, + mail: false, + mysql: false, + subs: false) result[:params][:result].to_i.should == 0 result[:params][:reason].should match(/Unable to find archive/i) end it "restores the account" do result = @account.restore_account("api.version".to_sym => 1, - :username => 'changeme', - :type => 'daily', - :all => false, - :ip => false, - :mail => false, - :mysql => false, - :subs => false) + username: 'changeme', + type: 'daily', + all: false, + ip: false, + mail: false, + mysql: false, + subs: false) result[:params][:result].to_i.should == 1 result[:params][:reason].should == "OK" result[:params][:output][:raw].should match(/Account Restore Complete/i) end end