Sha256: a87c8792419a31c405b1287fea6a12b4477e223f1094e596b98f922de8a2dd02

Contents?: true

Size: 1.29 KB

Versions: 12

Compression:

Stored size: 1.29 KB

Contents

# encoding: utf-8
require 'spec_helper'


describe "API Access" do

  it "Create" do
    data = {
      'apiid' => '1',
      'name' => 'Name',
      'permissions' => {'permission' => '100'},
    }
    api_access = Osm::ApiAccess.new(data)

    api_access.id.should == 1
    api_access.name.should == 'Name'
    api_access.permissions.should == {:permission => 100}
  end


  it "Allows interegation of the permissions hash" do
    api_access = Osm::ApiAccess.new({
      'apiid' => '1',
      'name' => 'Name',
      'permissions' => {
        'read_only' => 10,
        'read_write' => 20,
      },
    })

    api_access.can_read?(:read_only).should == true
    api_access.can_read?(:read_write).should == true

    api_access.can_write?(:read_only).should == false
    api_access.can_write?(:read_write).should == true

    api_access.can_read?(:non_existant).should == false
    api_access.can_write?(:non_existant).should == false
  end


  it "Tells us if it's the our api" do
    Osm::Api.stub(:api_id) { '1' }

    apis = {
      :ours => Osm::ApiAccess.new({'apiid' => '1', 'name' => 'Name', 'permissions' => {}}),
      :not_ours => Osm::ApiAccess.new({'apiid' => '2', 'name' => 'Name', 'permissions' => {}}),
    }

    apis[:ours].our_api?.should == true
    apis[:not_ours].our_api?.should == false
  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
osm-0.0.11 spec/osm/api_access_spec.rb
osm-0.0.10 spec/osm/api_access_spec.rb
osm-0.0.9 spec/osm/api_access_spec.rb
osm-0.0.8 spec/osm/api_access_spec.rb
osm-0.0.7 spec/osm/api_access_spec.rb
osm-0.0.6 spec/osm/api_access_spec.rb
osm-0.0.5 spec/osm/api_access_spec.rb
osm-0.0.4 spec/osm/api_access_spec.rb
osm-0.0.3 spec/osm/api_access_spec.rb
osm-0.0.2 spec/osm/api_access_spec.rb
osm-0.0.1 spec/osm/api_access_spec.rb
osm-0.0.1.alpha spec/osm/api_access_spec.rb