test/logging_test.rb in aws-s3-0.2.1 vs test/logging_test.rb in aws-s3-0.3.0

- old
+ new

@@ -25,12 +25,65 @@ Logging::Status.new(Parsing::XmlParser.new(Fixtures::Logging[fixture.to_s])) end end class LoggingStatusWritingTest < LoggingStatusReadingTest - def setup super @disabled = Logging::Status.new(Parsing::XmlParser.new(@disabled.to_xml)) @enabled = Logging::Status.new(Parsing::XmlParser.new(@enabled.to_xml)) + end +end + +class LogTest < Test::Unit::TestCase + def test_value_converted_to_log_lines + log_object = S3Object.new + log_object.value = Fixtures::Logs.simple_log.join + log = Logging::Log.new(log_object) + assert_nothing_raised do + log.lines + end + + assert_equal 2, log.lines.size + assert_kind_of Logging::Log::Line, log.lines.first + assert_equal 'marcel', log.lines.first.bucket + end +end + +class LogLineTest < Test::Unit::TestCase + def setup + @line = Logging::Log::Line.new(Fixtures::Loglines.bucket_get) + end + + def test_field_accessors + expected_results = { + :owner => Owner.new('id' => 'bb2041a25975c3d4ce9775fe9e93e5b77a6a9fad97dc7e00686191f3790b13f1'), + :bucket => 'marcel', + :time => Time.parse('11/14/2006 06:36:48 +0000'), + :remote_ip => '67.165.183.125', + :request_id => '8B5297D428A05432', + :requestor => Owner.new('id' => 'bb2041a25975c3d4ce9775fe9e93e5b77a6a9fad97dc7e00686191f3790b13f1'), + :operation => 'REST.GET.BUCKET', + :key => nil, + :request_uri => 'GET /marcel HTTP/1.1', + :http_status => 200, + :error_code => nil, + :bytes_sent => 4534, + :object_size => nil, + :total_time => 398, + :turn_around_time => 395, + :referrer => nil, + :user_agent => nil + } + + expected_results.each do |field, expected| + assert_equal expected, @line.send(field) + end + + assert_equal expected_results, @line.attributes + end + + def test_user_agent + line = Logging::Log::Line.new(Fixtures::Loglines.browser_get) + assert_equal 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0', line.user_agent end end \ No newline at end of file