Sha256: 7ec2e7658c76981d08532b8b47cdd65244b842ee7ee45ac0c7a7cefdf82a9a7e

Contents?: true

Size: 1.74 KB

Versions: 3

Compression:

Stored size: 1.74 KB

Contents

require File.dirname(__FILE__) + '/../spec_helper'

module Sappy
  describe Account do
    describe "with incorrect credentials" do
      it "raises an error" do
        lambda { Account.login("invalid@email.com", "password") }.
          should raise_error(Responses::Auth::LoginFailed, 'Wrong email or password')
      end
    end

    describe "with correct credentials" do
      before do
        @account = Account.login(USERNAME, PASSWORD)

        @account.monitors.each do |m|
          m.destroy
        end
      end

      it "should obtain an auth key" do
        if ENV['LIVE_SPECS']
          @account.authkey.should be_a_kind_of(String)
        else
          @account.authkey.should == "b7kks5mh1l300v5segaksm8gh3"
        end
      end

      describe "with no monitors" do
        it "has available monitors" do
          @account.available_monitors.should > 0
        end

        it "has no monitors" do
          @account.setup_monitors.should == 0
        end

        it "has no SMS alerts" do
          @account.sms_alerts.should == 0
        end

        it "can create a new monitor" do
          monitor = @account.add_monitor({:name => "New Monitor", :service => "http", :location => "sf", :host => "engineyard.com", :period => "60"})
          monitor.id.should_not be_nil
          unless mocked?
            @account.available_monitors.should == MONITOR_LIMIT
          else
            FakeWeb.register_uri(:get, "https://siteuptime.com/api/rest/?AuthKey=b7kks5mh1l300v5segaksm8gh3&method=siteuptime.monitors", :response => cached_page("monitors_#{MONITOR_LIMIT}"))
          end
          monitors = @account.monitors
          monitors.size.should == 1
          monitors.first.name.should == "New Monitor"
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sappy-0.1.7 spec/sappy/account_spec.rb
sappy-0.1.6 spec/sappy/account_spec.rb
sappy-0.1.5 spec/sappy/account_spec.rb