heirloom 0.11.0 → 0.11.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +4 -1
- data/README.md +9 -0
- data/heirloom.gemspec +8 -2
- data/lib/heirloom.rb +9 -0
- data/lib/heirloom/acl/s3.rb +1 -1
- data/lib/heirloom/aws/simpledb.rb +25 -2
- data/lib/heirloom/catalog.rb +37 -0
- data/lib/heirloom/cli.rb +36 -3
- data/lib/heirloom/cli/authorize.rb +5 -1
- data/lib/heirloom/cli/catalog.rb +5 -1
- data/lib/heirloom/cli/cleanup.rb +74 -0
- data/lib/heirloom/cli/destroy.rb +5 -1
- data/lib/heirloom/cli/download.rb +5 -1
- data/lib/heirloom/cli/list.rb +5 -1
- data/lib/heirloom/cli/rotate.rb +5 -1
- data/lib/heirloom/cli/setup.rb +5 -1
- data/lib/heirloom/cli/show.rb +5 -1
- data/lib/heirloom/cli/tag.rb +5 -1
- data/lib/heirloom/cli/teardown.rb +21 -11
- data/lib/heirloom/cli/upload.rb +5 -1
- data/lib/heirloom/exceptions.rb +3 -0
- data/lib/heirloom/logger.rb +6 -1
- data/lib/heirloom/version.rb +1 -1
- data/spec/acl/s3_spec.rb +3 -2
- data/spec/aws/simpledb_spec.rb +35 -1
- data/spec/catalog_spec.rb +45 -2
- data/spec/cli/teardown_spec.rb +60 -28
- data/spec/cli_spec.rb +12 -0
- data/spec/fixtures/cassettes/Heirloom_AWS_SimpleDB/select/should_be_able_to_offset_results.yml +81 -0
- data/spec/fixtures/cassettes/Heirloom_AWS_SimpleDB/select/should_get_results.yml +34 -0
- data/spec/fixtures/cassettes/Heirloom_AWS_SimpleDB/select/should_yield_when_requested.yml +81 -0
- data/spec/fixtures/create_test_data.sh +28 -0
- data/spec/heirloom_spec.rb +11 -0
- data/spec/integration/authorize_spec.rb +79 -0
- data/spec/integration/cleanup_spec.rb +77 -0
- data/spec/logger_spec.rb +1 -1
- data/spec/spec_helper.rb +89 -5
- data/watchr.rb +101 -0
- metadata +84 -35
- data/.rvmrc +0 -1
data/lib/heirloom/cli/show.rb
CHANGED
@@ -4,6 +4,10 @@ module Heirloom
|
|
4
4
|
|
5
5
|
include Heirloom::CLI::Shared
|
6
6
|
|
7
|
+
def self.command_summary
|
8
|
+
'Show Heirloom'
|
9
|
+
end
|
10
|
+
|
7
11
|
def initialize
|
8
12
|
@opts = read_options
|
9
13
|
@logger = HeirloomLogger.new :log_level => @opts[:level]
|
@@ -47,7 +51,7 @@ module Heirloom
|
|
47
51
|
version Heirloom::VERSION
|
48
52
|
banner <<-EOS
|
49
53
|
|
50
|
-
Show
|
54
|
+
#{Show.command_summary}.
|
51
55
|
|
52
56
|
Usage:
|
53
57
|
|
data/lib/heirloom/cli/tag.rb
CHANGED
@@ -4,6 +4,10 @@ module Heirloom
|
|
4
4
|
|
5
5
|
include Heirloom::CLI::Shared
|
6
6
|
|
7
|
+
def self.command_summary
|
8
|
+
'Tag an Heirloom with an attribute and value'
|
9
|
+
end
|
10
|
+
|
7
11
|
def initialize
|
8
12
|
@opts = read_options
|
9
13
|
@logger = HeirloomLogger.new :log_level => @opts[:level]
|
@@ -40,7 +44,7 @@ module Heirloom
|
|
40
44
|
version Heirloom::VERSION
|
41
45
|
banner <<-EOS
|
42
46
|
|
43
|
-
Tag
|
47
|
+
#{Tag.command_summary}.
|
44
48
|
|
45
49
|
Usage:
|
46
50
|
|
@@ -4,6 +4,10 @@ module Heirloom
|
|
4
4
|
|
5
5
|
include Heirloom::CLI::Shared
|
6
6
|
|
7
|
+
def self.command_summary
|
8
|
+
'Teardown S3 buckets and SimpleDB domain for Heirloom name'
|
9
|
+
end
|
10
|
+
|
7
11
|
def initialize
|
8
12
|
@opts = read_options
|
9
13
|
@logger = HeirloomLogger.new :log_level => @opts[:level]
|
@@ -27,18 +31,23 @@ module Heirloom
|
|
27
31
|
end
|
28
32
|
|
29
33
|
def teardown
|
30
|
-
ensure_domain_exists :name
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
ensure_domain_exists :name => @opts[:name], :config => @config
|
35
|
+
|
36
|
+
if @opts[:force]
|
37
|
+
Heirloom.log.info "Removing any existing archives..."
|
38
|
+
@catalog.cleanup :num_to_keep => 0, :remove_preserved => true
|
39
|
+
else
|
40
|
+
ensure_archive_domain_empty(
|
41
|
+
:archive => @archive,
|
42
|
+
:config => @config
|
43
|
+
)
|
44
|
+
end
|
38
45
|
|
39
46
|
unless @opts[:keep_buckets]
|
40
|
-
@archive.delete_buckets
|
41
|
-
|
47
|
+
@archive.delete_buckets(
|
48
|
+
:regions => @catalog.regions,
|
49
|
+
:bucket_prefix => @catalog.bucket_prefix
|
50
|
+
)
|
42
51
|
end
|
43
52
|
|
44
53
|
@archive.delete_domain
|
@@ -52,7 +61,7 @@ module Heirloom
|
|
52
61
|
version Heirloom::VERSION
|
53
62
|
banner <<-EOS
|
54
63
|
|
55
|
-
Teardown
|
64
|
+
#{Teardown.command_summary}.
|
56
65
|
|
57
66
|
Usage:
|
58
67
|
|
@@ -67,6 +76,7 @@ EOS
|
|
67
76
|
opt :metadata_region, "AWS region to store Heirloom metadata.", :type => :string,
|
68
77
|
:default => 'us-west-1'
|
69
78
|
opt :name, "Name of Heirloom.", :type => :string
|
79
|
+
opt :force, "Forces recursive deletion of existing archives."
|
70
80
|
opt :keep_buckets, "Do not delete S3 buckets."
|
71
81
|
opt :aws_access_key, "AWS Access Key ID", :type => :string,
|
72
82
|
:short => :none
|
data/lib/heirloom/cli/upload.rb
CHANGED
@@ -6,6 +6,10 @@ module Heirloom
|
|
6
6
|
|
7
7
|
include Heirloom::CLI::Shared
|
8
8
|
|
9
|
+
def self.command_summary
|
10
|
+
'Upload a directory to Heirloom'
|
11
|
+
end
|
12
|
+
|
9
13
|
def initialize
|
10
14
|
@opts = read_options
|
11
15
|
@logger = HeirloomLogger.new :log_level => @opts[:level]
|
@@ -75,7 +79,7 @@ module Heirloom
|
|
75
79
|
version Heirloom::VERSION
|
76
80
|
banner <<-EOS
|
77
81
|
|
78
|
-
Upload
|
82
|
+
#{Upload.command_summary}.
|
79
83
|
|
80
84
|
Usage:
|
81
85
|
|
data/lib/heirloom/exceptions.rb
CHANGED
data/lib/heirloom/logger.rb
CHANGED
@@ -14,10 +14,15 @@ module Heirloom
|
|
14
14
|
@logger = args[:logger] ||= new_logger(args)
|
15
15
|
end
|
16
16
|
|
17
|
+
def level=(level_as_string)
|
18
|
+
@log_level = level_as_string
|
19
|
+
@logger.level = logger_level
|
20
|
+
end
|
21
|
+
|
17
22
|
private
|
18
23
|
|
19
24
|
def new_logger(args)
|
20
|
-
Logger.new(
|
25
|
+
Logger.new($stdout).tap do |l|
|
21
26
|
l.datetime_format = '%Y-%m-%dT%H:%M:%S%z'
|
22
27
|
l.formatter = proc do |severity, datetime, progname, msg|
|
23
28
|
"#{datetime} #{severity} : #{msg}\n"
|
data/lib/heirloom/version.rb
CHANGED
data/spec/acl/s3_spec.rb
CHANGED
@@ -22,8 +22,9 @@ describe Heirloom do
|
|
22
22
|
@s3.should_receive(:s3).exactly(2).times.
|
23
23
|
and_return(s3_mock)
|
24
24
|
|
25
|
-
s3_mock.should_receive(:
|
26
|
-
|
25
|
+
s3_mock.should_receive(:get_object_acl).
|
26
|
+
with(:bucket => 'bucket', :object_name => 'key-folder/key.tar.gz').
|
27
|
+
and_return acls
|
27
28
|
|
28
29
|
s3_mock.should_receive(:put_object_acl).
|
29
30
|
with("bucket", "key-folder/key.tar.gz", {"Owner"=>{"DisplayName"=>"Brett", "ID"=>"123"}, "AccessControlList"=>[{"Grantee"=>{"EmailAddress"=>"acct1@test.com"}, "Permission"=>"READ"}, {"Grantee"=>{"EmailAddress"=>"acct2@test.com"}, "Permission"=>"READ"}, {"Grantee"=>{"DisplayName"=>"Brett", "ID"=>"123"}, "Permission"=>"FULL_CONTROL"}]})
|
data/spec/aws/simpledb_spec.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Heirloom do
|
3
|
+
describe Heirloom::AWS::SimpleDB do
|
4
|
+
|
5
|
+
before do
|
6
|
+
@sdb = Heirloom::AWS::SimpleDB.new :config => mock_config
|
7
|
+
end
|
4
8
|
|
5
9
|
context "credential management" do
|
6
10
|
|
@@ -31,6 +35,36 @@ describe Heirloom do
|
|
31
35
|
|
32
36
|
end
|
33
37
|
|
38
|
+
# Data recorded with VCR after running ./spec/fixtures/create_test_data.sh
|
39
|
+
context "select", :vcr => true do
|
40
|
+
|
41
|
+
before do
|
42
|
+
@sdb = Heirloom::AWS::SimpleDB.new :config => integration_or_mock_config
|
43
|
+
@q = "select * from `heirloom_test_data` where built_at > '2000-01-01T00:00:00.000Z' order by built_at desc"
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should get results" do
|
47
|
+
keys = @sdb.select(@q).keys
|
48
|
+
keys.size.should == 10
|
49
|
+
keys.first.should == "v10"
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should be able to offset results" do
|
53
|
+
keys = @sdb.select(@q, :offset => 2).keys
|
54
|
+
keys.size.should == 8
|
55
|
+
keys.first.should == "v8"
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should yield when requested" do
|
59
|
+
num_yields = 0
|
60
|
+
@sdb.select(@q, :offset => 2) do |k, v|
|
61
|
+
num_yields += 1
|
62
|
+
end
|
63
|
+
num_yields.should == 8
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
34
68
|
context "sdb operations" do
|
35
69
|
|
36
70
|
before do
|
data/spec/catalog_spec.rb
CHANGED
@@ -6,8 +6,51 @@ describe Heirloom::Catalog do
|
|
6
6
|
@config_mock = mock 'catalog'
|
7
7
|
@regions = ['us-west-1', 'us-west-2']
|
8
8
|
@bucket_prefix = 'bp'
|
9
|
-
@catalog = Heirloom::Catalog.new :config => @config_mock,
|
10
|
-
|
9
|
+
@catalog = Heirloom::Catalog.new :config => @config_mock, :name => 'new_archive'
|
10
|
+
|
11
|
+
Heirloom.stub :log => mock_log
|
12
|
+
end
|
13
|
+
|
14
|
+
context "cleanup" do
|
15
|
+
before do
|
16
|
+
@sdb = mock 'sdb'
|
17
|
+
@sdb.stub(:select)
|
18
|
+
.and_yield('123', { 'preserve' => ['true'] })
|
19
|
+
.and_yield('abc', { 'preserve' => ['true'] })
|
20
|
+
.and_yield('456', { 'test' => ['banana'] })
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should not destroy archives marked with 'preserve'" do
|
24
|
+
|
25
|
+
archive = mock 'archive', :destroy => true
|
26
|
+
@catalog.stub :sdb => @sdb
|
27
|
+
|
28
|
+
Heirloom::Archive.should_receive(:new)
|
29
|
+
.with(hash_including(:id => '456'))
|
30
|
+
.and_return archive
|
31
|
+
|
32
|
+
@catalog.cleanup :num_to_keep => 10
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should destroy archives when removed_preserved is true" do
|
36
|
+
archive = mock 'archive', :destroy => true
|
37
|
+
@catalog.stub :sdb => @sdb
|
38
|
+
|
39
|
+
Heirloom::Archive.should_receive(:new)
|
40
|
+
.with(hash_including(:id => '123'))
|
41
|
+
.and_return archive
|
42
|
+
|
43
|
+
Heirloom::Archive.should_receive(:new)
|
44
|
+
.with(hash_including(:id => 'abc'))
|
45
|
+
.and_return archive
|
46
|
+
|
47
|
+
Heirloom::Archive.should_receive(:new)
|
48
|
+
.with(hash_including(:id => '456'))
|
49
|
+
.and_return archive
|
50
|
+
|
51
|
+
@catalog.cleanup :num_to_keep => 10, :remove_preserved => true
|
52
|
+
end
|
53
|
+
|
11
54
|
end
|
12
55
|
|
13
56
|
context "testing add" do
|
data/spec/cli/teardown_spec.rb
CHANGED
@@ -1,39 +1,71 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'heirloom/cli'
|
3
3
|
|
4
|
-
describe Heirloom do
|
4
|
+
describe Heirloom::CLI::Teardown do
|
5
|
+
|
6
|
+
def stubbed_teardown
|
7
|
+
teardown = Heirloom::CLI::Teardown.new
|
8
|
+
teardown.stub(
|
9
|
+
:ensure_domain_exists => true,
|
10
|
+
:ensure_archive_domain_empty => true
|
11
|
+
)
|
12
|
+
teardown
|
13
|
+
end
|
5
14
|
|
6
15
|
before do
|
7
|
-
|
8
|
-
|
9
|
-
|
16
|
+
Heirloom.stub :log => mock_log
|
17
|
+
@config_mock = mock_config
|
18
|
+
|
19
|
+
@defaults = {
|
20
|
+
:level => 'info',
|
21
|
+
:name => 'archive_name',
|
22
|
+
:metadata_region => 'us-west-1'
|
23
|
+
}
|
24
|
+
|
10
25
|
|
11
|
-
@logger_stub = stub 'logger', :error => true, :info => true
|
12
|
-
@config_mock = mock_config(:logger => @logger_stub)
|
13
26
|
@archive_mock = mock 'archive'
|
27
|
+
@archive_mock.stub(
|
28
|
+
:delete_buckets => true,
|
29
|
+
:delete_domain => true
|
30
|
+
)
|
31
|
+
|
14
32
|
@catalog_mock = mock 'catalog'
|
15
|
-
@catalog_mock.stub
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
Heirloom::
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
Heirloom::
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
33
|
+
@catalog_mock.stub(
|
34
|
+
:regions => ['us-west-1', 'us-west-2'],
|
35
|
+
:bucket_prefix => 'bp',
|
36
|
+
:catalog_domain_exists? => true,
|
37
|
+
:delete_from_catalog => true,
|
38
|
+
:entry_exists_in_catalog? => true
|
39
|
+
)
|
40
|
+
|
41
|
+
Trollop.stub :options => @defaults
|
42
|
+
Heirloom::HeirloomLogger.stub :new => @logger_stub
|
43
|
+
Heirloom::CLI::Teardown.any_instance.stub(:load_config)
|
44
|
+
.and_return @config_mock
|
45
|
+
Heirloom::Archive.stub :new => @archive_mock
|
46
|
+
Heirloom::Catalog.stub :new => @catalog_mock
|
47
|
+
@teardown = stubbed_teardown
|
48
|
+
end
|
49
|
+
|
50
|
+
context "delete existing archives force option" do
|
51
|
+
|
52
|
+
it "should ask archive to delete when passed the 'force' option" do
|
53
|
+
Trollop.stub :options => @defaults.merge(:force => true)
|
54
|
+
@teardown = stubbed_teardown
|
55
|
+
@catalog_mock.should_receive(:cleanup).with(
|
56
|
+
:num_to_keep => 0,
|
57
|
+
:remove_preserved => true
|
58
|
+
)
|
59
|
+
@teardown.teardown
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should not ask archive to delete when not passed the 'force' option" do
|
63
|
+
Trollop.stub :options => @defaults.merge(:force => nil)
|
64
|
+
@teardown = stubbed_teardown
|
65
|
+
@catalog_mock.should_not_receive(:cleanup)
|
66
|
+
@teardown.teardown
|
67
|
+
end
|
68
|
+
|
37
69
|
end
|
38
70
|
|
39
71
|
it "should delete s3 buckets, catalog and simpledb domain" do
|
data/spec/cli_spec.rb
ADDED
data/spec/fixtures/cassettes/Heirloom_AWS_SimpleDB/select/should_be_able_to_offset_results.yml
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sdb.us-west-1.amazonaws.com/
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: AWSAccessKeyId=<AWSACCESSKEYID>&Action=Select&ConsistentRead=false&SelectExpression=select%20%2A%20from%20%60heirloom_test_data%60%20where%20built_at%20%3E%20%272000-01-01T00%3A00%3A00.000Z%27%20order%20by%20built_at%20desc%20limit%202&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2013-05-24T22%3A59%3A42Z&Version=2009-04-15&Signature=NRJ64s4%2FkkOFNP3gWCxJ5k44MpMmOBjG1OJylVjYfRo%3D
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- fog/1.10.1
|
12
|
+
Content-Type:
|
13
|
+
- application/x-www-form-urlencoded; charset=utf-8
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message:
|
18
|
+
headers:
|
19
|
+
Content-Type:
|
20
|
+
- text/xml
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Date:
|
24
|
+
- Fri, 24 May 2013 22:59:14 GMT
|
25
|
+
Server:
|
26
|
+
- Amazon SimpleDB
|
27
|
+
body:
|
28
|
+
encoding: US-ASCII
|
29
|
+
string: ! '<?xml version="1.0"?>
|
30
|
+
|
31
|
+
<SelectResponse xmlns="http://sdb.amazonaws.com/doc/2009-04-15/"><SelectResult><Item><Name>v10</Name><Attribute><Name>id</Name><Value>v10</Value></Attribute><Attribute><Name>encrypted</Name><Value>false</Value></Attribute><Attribute><Name>built_at</Name><Value>2013-05-24T22:35:06Z</Value></Attribute><Attribute><Name>bucket_prefix</Name><Value>heirloom-integration-tests</Value></Attribute><Attribute><Name>built_by</Name><Value>dvaughn1@sdgl114414452</Value></Attribute><Attribute><Name>us-west-1-s3-url</Name><Value>s3://heirloom-integration-tests-us-west-1/test_data/v10.tar.gz</Value></Attribute><Attribute><Name>us-west-1-http-url</Name><Value>http://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v10.tar.gz</Value></Attribute><Attribute><Name>us-west-1-https-url</Name><Value>https://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v10.tar.gz</Value></Attribute></Item><Item><Name>v9</Name><Attribute><Name>id</Name><Value>v9</Value></Attribute><Attribute><Name>encrypted</Name><Value>false</Value></Attribute><Attribute><Name>built_at</Name><Value>2013-05-24T22:34:59Z</Value></Attribute><Attribute><Name>bucket_prefix</Name><Value>heirloom-integration-tests</Value></Attribute><Attribute><Name>built_by</Name><Value>dvaughn1@sdgl114414452</Value></Attribute><Attribute><Name>us-west-1-s3-url</Name><Value>s3://heirloom-integration-tests-us-west-1/test_data/v9.tar.gz</Value></Attribute><Attribute><Name>us-west-1-http-url</Name><Value>http://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v9.tar.gz</Value></Attribute><Attribute><Name>us-west-1-https-url</Name><Value>https://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v9.tar.gz</Value></Attribute><Attribute><Name>preserve</Name><Value>true</Value></Attribute></Item><NextToken>rO0ABXNyACdjb20uYW1hem9uLnNkcy5RdWVyeVByb2Nlc3Nvci5Nb3JlVG9rZW7racXLnINNqwMA
|
32
|
+
|
33
|
+
C0kAFGluaXRpYWxDb25qdW5jdEluZGV4WgAOaXNQYWdlQm91bmRhcnlKAAxsYXN0RW50aXR5SURa
|
34
|
+
|
35
|
+
AApscnFFbmFibGVkSQAPcXVlcnlDb21wbGV4aXR5SgATcXVlcnlTdHJpbmdDaGVja3N1bUkACnVu
|
36
|
+
|
37
|
+
aW9uSW5kZXhaAA11c2VRdWVyeUluZGV4TAANY29uc2lzdGVudExTTnQAEkxqYXZhL2xhbmcvU3Ry
|
38
|
+
|
39
|
+
aW5nO0wAEmxhc3RBdHRyaWJ1dGVWYWx1ZXEAfgABTAAJc29ydE9yZGVydAAvTGNvbS9hbWF6b24v
|
40
|
+
|
41
|
+
c2RzL1F1ZXJ5UHJvY2Vzc29yL1F1ZXJ5JFNvcnRPcmRlcjt4cAAAAAAAAAAAAAAAAAkAAAAAAQAA
|
42
|
+
|
43
|
+
AABg70EkAAAAAAFwdAAUMjAxMy0wNS0yNFQyMjozNDo1OVp+cgAtY29tLmFtYXpvbi5zZHMuUXVl
|
44
|
+
|
45
|
+
cnlQcm9jZXNzb3IuUXVlcnkkU29ydE9yZGVyAAAAAAAAAAASAAB4cgAOamF2YS5sYW5nLkVudW0A
|
46
|
+
|
47
|
+
AAAAAAAAABIAAHhwdAAKREVTQ0VORElOR3g=</NextToken></SelectResult><ResponseMetadata><RequestId>6807873b-5202-a6ac-d0f5-916fb9d75e83</RequestId><BoxUsage>0.0000320052</BoxUsage></ResponseMetadata></SelectResponse>'
|
48
|
+
http_version:
|
49
|
+
recorded_at: Fri, 24 May 2013 22:59:43 GMT
|
50
|
+
- request:
|
51
|
+
method: post
|
52
|
+
uri: https://sdb.us-west-1.amazonaws.com/
|
53
|
+
body:
|
54
|
+
encoding: US-ASCII
|
55
|
+
string: AWSAccessKeyId=<AWSACCESSKEYID>&Action=Select&ConsistentRead=false&NextToken=rO0ABXNyACdjb20uYW1hem9uLnNkcy5RdWVyeVByb2Nlc3Nvci5Nb3JlVG9rZW7racXLnINNqwMA%0AC0kAFGluaXRpYWxDb25qdW5jdEluZGV4WgAOaXNQYWdlQm91bmRhcnlKAAxsYXN0RW50aXR5SURa%0AAApscnFFbmFibGVkSQAPcXVlcnlDb21wbGV4aXR5SgATcXVlcnlTdHJpbmdDaGVja3N1bUkACnVu%0AaW9uSW5kZXhaAA11c2VRdWVyeUluZGV4TAANY29uc2lzdGVudExTTnQAEkxqYXZhL2xhbmcvU3Ry%0AaW5nO0wAEmxhc3RBdHRyaWJ1dGVWYWx1ZXEAfgABTAAJc29ydE9yZGVydAAvTGNvbS9hbWF6b24v%0Ac2RzL1F1ZXJ5UHJvY2Vzc29yL1F1ZXJ5JFNvcnRPcmRlcjt4cAAAAAAAAAAAAAAAAAkAAAAAAQAA%0AAABg70EkAAAAAAFwdAAUMjAxMy0wNS0yNFQyMjozNDo1OVp%2BcgAtY29tLmFtYXpvbi5zZHMuUXVl%0AcnlQcm9jZXNzb3IuUXVlcnkkU29ydE9yZGVyAAAAAAAAAAASAAB4cgAOamF2YS5sYW5nLkVudW0A%0AAAAAAAAAABIAAHhwdAAKREVTQ0VORElOR3g%3D&SelectExpression=select%20%2A%20from%20%60heirloom_test_data%60%20where%20built_at%20%3E%20%272000-01-01T00%3A00%3A00.000Z%27%20order%20by%20built_at%20desc&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2013-05-24T22%3A59%3A43Z&Version=2009-04-15&Signature=4zMNfubmGc4NXg%2FUJxWUrZcMT%2BRAsdlDz4cUDj01hJw%3D
|
56
|
+
headers:
|
57
|
+
User-Agent:
|
58
|
+
- fog/1.10.1
|
59
|
+
Content-Type:
|
60
|
+
- application/x-www-form-urlencoded; charset=utf-8
|
61
|
+
response:
|
62
|
+
status:
|
63
|
+
code: 200
|
64
|
+
message:
|
65
|
+
headers:
|
66
|
+
Content-Type:
|
67
|
+
- text/xml
|
68
|
+
Transfer-Encoding:
|
69
|
+
- chunked
|
70
|
+
Date:
|
71
|
+
- Fri, 24 May 2013 22:59:15 GMT
|
72
|
+
Server:
|
73
|
+
- Amazon SimpleDB
|
74
|
+
body:
|
75
|
+
encoding: US-ASCII
|
76
|
+
string: ! '<?xml version="1.0"?>
|
77
|
+
|
78
|
+
<SelectResponse xmlns="http://sdb.amazonaws.com/doc/2009-04-15/"><SelectResult><Item><Name>v8</Name><Attribute><Name>id</Name><Value>v8</Value></Attribute><Attribute><Name>encrypted</Name><Value>false</Value></Attribute><Attribute><Name>built_at</Name><Value>2013-05-24T22:34:54Z</Value></Attribute><Attribute><Name>bucket_prefix</Name><Value>heirloom-integration-tests</Value></Attribute><Attribute><Name>built_by</Name><Value>dvaughn1@sdgl114414452</Value></Attribute><Attribute><Name>us-west-1-s3-url</Name><Value>s3://heirloom-integration-tests-us-west-1/test_data/v8.tar.gz</Value></Attribute><Attribute><Name>us-west-1-http-url</Name><Value>http://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v8.tar.gz</Value></Attribute><Attribute><Name>us-west-1-https-url</Name><Value>https://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v8.tar.gz</Value></Attribute></Item><Item><Name>v7</Name><Attribute><Name>id</Name><Value>v7</Value></Attribute><Attribute><Name>encrypted</Name><Value>false</Value></Attribute><Attribute><Name>built_at</Name><Value>2013-05-24T22:34:49Z</Value></Attribute><Attribute><Name>bucket_prefix</Name><Value>heirloom-integration-tests</Value></Attribute><Attribute><Name>built_by</Name><Value>dvaughn1@sdgl114414452</Value></Attribute><Attribute><Name>us-west-1-s3-url</Name><Value>s3://heirloom-integration-tests-us-west-1/test_data/v7.tar.gz</Value></Attribute><Attribute><Name>us-west-1-http-url</Name><Value>http://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v7.tar.gz</Value></Attribute><Attribute><Name>us-west-1-https-url</Name><Value>https://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v7.tar.gz</Value></Attribute></Item><Item><Name>v6</Name><Attribute><Name>id</Name><Value>v6</Value></Attribute><Attribute><Name>encrypted</Name><Value>false</Value></Attribute><Attribute><Name>built_at</Name><Value>2013-05-24T22:34:42Z</Value></Attribute><Attribute><Name>bucket_prefix</Name><Value>heirloom-integration-tests</Value></Attribute><Attribute><Name>built_by</Name><Value>dvaughn1@sdgl114414452</Value></Attribute><Attribute><Name>us-west-1-s3-url</Name><Value>s3://heirloom-integration-tests-us-west-1/test_data/v6.tar.gz</Value></Attribute><Attribute><Name>us-west-1-http-url</Name><Value>http://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v6.tar.gz</Value></Attribute><Attribute><Name>us-west-1-https-url</Name><Value>https://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v6.tar.gz</Value></Attribute><Attribute><Name>preserve</Name><Value>true</Value></Attribute></Item><Item><Name>v5</Name><Attribute><Name>id</Name><Value>v5</Value></Attribute><Attribute><Name>encrypted</Name><Value>false</Value></Attribute><Attribute><Name>built_at</Name><Value>2013-05-24T22:34:37Z</Value></Attribute><Attribute><Name>bucket_prefix</Name><Value>heirloom-integration-tests</Value></Attribute><Attribute><Name>built_by</Name><Value>dvaughn1@sdgl114414452</Value></Attribute><Attribute><Name>us-west-1-s3-url</Name><Value>s3://heirloom-integration-tests-us-west-1/test_data/v5.tar.gz</Value></Attribute><Attribute><Name>us-west-1-http-url</Name><Value>http://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v5.tar.gz</Value></Attribute><Attribute><Name>us-west-1-https-url</Name><Value>https://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v5.tar.gz</Value></Attribute></Item><Item><Name>v4</Name><Attribute><Name>id</Name><Value>v4</Value></Attribute><Attribute><Name>encrypted</Name><Value>false</Value></Attribute><Attribute><Name>built_at</Name><Value>2013-05-24T22:34:31Z</Value></Attribute><Attribute><Name>bucket_prefix</Name><Value>heirloom-integration-tests</Value></Attribute><Attribute><Name>built_by</Name><Value>dvaughn1@sdgl114414452</Value></Attribute><Attribute><Name>us-west-1-s3-url</Name><Value>s3://heirloom-integration-tests-us-west-1/test_data/v4.tar.gz</Value></Attribute><Attribute><Name>us-west-1-http-url</Name><Value>http://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v4.tar.gz</Value></Attribute><Attribute><Name>us-west-1-https-url</Name><Value>https://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v4.tar.gz</Value></Attribute></Item><Item><Name>v3</Name><Attribute><Name>id</Name><Value>v3</Value></Attribute><Attribute><Name>encrypted</Name><Value>false</Value></Attribute><Attribute><Name>built_at</Name><Value>2013-05-24T22:34:23Z</Value></Attribute><Attribute><Name>bucket_prefix</Name><Value>heirloom-integration-tests</Value></Attribute><Attribute><Name>built_by</Name><Value>dvaughn1@sdgl114414452</Value></Attribute><Attribute><Name>us-west-1-s3-url</Name><Value>s3://heirloom-integration-tests-us-west-1/test_data/v3.tar.gz</Value></Attribute><Attribute><Name>us-west-1-http-url</Name><Value>http://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v3.tar.gz</Value></Attribute><Attribute><Name>us-west-1-https-url</Name><Value>https://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v3.tar.gz</Value></Attribute><Attribute><Name>preserve</Name><Value>true</Value></Attribute></Item><Item><Name>v2</Name><Attribute><Name>id</Name><Value>v2</Value></Attribute><Attribute><Name>encrypted</Name><Value>false</Value></Attribute><Attribute><Name>built_at</Name><Value>2013-05-24T22:34:18Z</Value></Attribute><Attribute><Name>bucket_prefix</Name><Value>heirloom-integration-tests</Value></Attribute><Attribute><Name>built_by</Name><Value>dvaughn1@sdgl114414452</Value></Attribute><Attribute><Name>us-west-1-s3-url</Name><Value>s3://heirloom-integration-tests-us-west-1/test_data/v2.tar.gz</Value></Attribute><Attribute><Name>us-west-1-http-url</Name><Value>http://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v2.tar.gz</Value></Attribute><Attribute><Name>us-west-1-https-url</Name><Value>https://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v2.tar.gz</Value></Attribute></Item><Item><Name>v1</Name><Attribute><Name>id</Name><Value>v1</Value></Attribute><Attribute><Name>encrypted</Name><Value>false</Value></Attribute><Attribute><Name>built_at</Name><Value>2013-05-24T22:34:12Z</Value></Attribute><Attribute><Name>bucket_prefix</Name><Value>heirloom-integration-tests</Value></Attribute><Attribute><Name>built_by</Name><Value>dvaughn1@sdgl114414452</Value></Attribute><Attribute><Name>us-west-1-s3-url</Name><Value>s3://heirloom-integration-tests-us-west-1/test_data/v1.tar.gz</Value></Attribute><Attribute><Name>us-west-1-http-url</Name><Value>http://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v1.tar.gz</Value></Attribute><Attribute><Name>us-west-1-https-url</Name><Value>https://s3-us-west-1.amazonaws.com/heirloom-integration-tests-us-west-1/test_data/v1.tar.gz</Value></Attribute></Item></SelectResult><ResponseMetadata><RequestId>0d13cc39-73eb-4b2b-c277-9b73bbcd3471</RequestId><BoxUsage>0.0000868648</BoxUsage></ResponseMetadata></SelectResponse>'
|
79
|
+
http_version:
|
80
|
+
recorded_at: Fri, 24 May 2013 22:59:43 GMT
|
81
|
+
recorded_with: VCR 2.5.0
|