spec/archive/authorizer_spec.rb in heirloom-0.10.1 vs spec/archive/authorizer_spec.rb in heirloom-0.11.0.beta.1

- old
+ new

@@ -10,18 +10,18 @@ @authorizer = Heirloom::Authorizer.new :config => @config_mock, :name => 'tim', :id => '123.tar.gz' end - it "should authorize access to an archive in all regions" do + it "should authorize access to an archive in all regions for email or longid" do s3_acl_mock = mock 's3 acl' reader_mock = mock 'reader mock' reader_mock.stub :key_name => '123.tar.gz' reader_mock.should_receive(:get_bucket).exactly(2).times. and_return('the-bucket') - accounts = [ "test@a.com", "a@test.com", "test@test.co", "test@test.co.uk" ] + accounts = [ "test@a.com", "a@test.com", "test@test.co", "test@test.co.uk","08b21b085ca99e70859487d685191f40d951daa0fbcb5bec51bf5ea6023e445d" ] Heirloom::Reader.should_receive(:new). with(:config => @config_mock, :name => 'tim', :id => '123.tar.gz'). @@ -43,14 +43,34 @@ @authorizer.authorize(:accounts => accounts, :regions => ['us-west-1', 'us-west-2']). should be_true end - it "should exit when an account is not an email" do + it "should exit when an account is a shortid" do @logger_mock.should_receive(:error) - @authorizer.authorize(:accounts => ['good@good.com', 'bad@blah'], + @authorizer.authorize(:accounts => [ '123456789_1234', 'good@good.com'], :regions => ['us-west-1', 'us-west-2']). should be_false end + it "should exit when a bad email is given" do + @logger_mock.should_receive(:error) + @authorizer.authorize(:accounts => ['bad@bad', 'good@good.com'], + :regions => ['us-west-1', 'us-west-2']). + should be_false + end + it "should exit when an id which is not long(64) or short(16)" do + @logger_mock.should_receive(:error) + @authorizer.authorize(:accounts => ['123456789_123456789_1', 'good@good.com'], + :regions => ['us-west-1', 'us-west-2']). + should be_false + end + + it "should exit even when the first value is valid" do + @logger_mock.should_receive(:error) + @authorizer.authorize(:accounts => ['good@good.com', '123456789_123456789_1'], + :regions => ['us-west-1', 'us-west-2']). + should be_false + end + end