amazon-mws 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
 - data/README.markdown +31 -0
 - data/Rakefile +14 -0
 - data/VERSION +1 -0
 - data/amazon-mws.gemspec +164 -0
 - data/examples/xml/cancel_feed_submissions.xml +16 -0
 - data/examples/xml/cancel_report_requests.xml +18 -0
 - data/examples/xml/error.xml +10 -0
 - data/examples/xml/get_feed_submission_count.xml +10 -0
 - data/examples/xml/get_feed_submission_list.xml +16 -0
 - data/examples/xml/get_feed_submission_list_by_next_token.xml +16 -0
 - data/examples/xml/get_feed_submission_result.xml +30 -0
 - data/examples/xml/get_report_count.xml +9 -0
 - data/examples/xml/get_report_list.xml +17 -0
 - data/examples/xml/get_report_request_count.xml +8 -0
 - data/examples/xml/get_report_request_list.xml +120 -0
 - data/examples/xml/get_report_request_list_by_next_token.xml +20 -0
 - data/examples/xml/get_report_schedule_count.xml +10 -0
 - data/examples/xml/get_report_schedule_list.xml +15 -0
 - data/examples/xml/get_report_schedule_list_by_next_token.xml +15 -0
 - data/examples/xml/manage_report_schedule.xml +14 -0
 - data/examples/xml/request_report.xml +17 -0
 - data/examples/xml/submit_feed.xml +14 -0
 - data/examples/xml/update_report_acknowledgements.xml +18 -0
 - data/examples/xsd/Inventory.xsd +49 -0
 - data/examples/xsd/Item.xsd +285 -0
 - data/examples/xsd/Listings.xsd +32 -0
 - data/examples/xsd/OrderAcknowledgement.xsd +55 -0
 - data/examples/xsd/OrderAdjustment.xsd +94 -0
 - data/examples/xsd/OrderFulfillment.xsd +57 -0
 - data/examples/xsd/Override.xsd +48 -0
 - data/examples/xsd/Price.xsd +59 -0
 - data/examples/xsd/ProcessingReport.xsd +87 -0
 - data/examples/xsd/Product.xsd +220 -0
 - data/examples/xsd/Product/AutoAccessory.xsd +807 -0
 - data/examples/xsd/Product/Beauty.xsd +114 -0
 - data/examples/xsd/Product/CE.xsd +544 -0
 - data/examples/xsd/Product/CameraPhoto.xsd +2410 -0
 - data/examples/xsd/Product/FoodAndBeverages.xsd +270 -0
 - data/examples/xsd/Product/Gourmet.xsd +85 -0
 - data/examples/xsd/Product/Health.xsd +189 -0
 - data/examples/xsd/Product/Home.xsd +654 -0
 - data/examples/xsd/Product/Jewelry.xsd +603 -0
 - data/examples/xsd/Product/Miscellaneous.xsd +157 -0
 - data/examples/xsd/Product/MusicalInstruments.xsd +853 -0
 - data/examples/xsd/Product/Office.xsd +550 -0
 - data/examples/xsd/Product/PetSupplies.xsd +40 -0
 - data/examples/xsd/Product/ProductClothing.xsd +197 -0
 - data/examples/xsd/Product/SWVG.xsd +238 -0
 - data/examples/xsd/Product/Sports.xsd +308 -0
 - data/examples/xsd/Product/TiresAndWheels.xsd +159 -0
 - data/examples/xsd/Product/Tools.xsd +66 -0
 - data/examples/xsd/Product/ToysBaby.xsd +241 -0
 - data/examples/xsd/Product/Wireless.xsd +77 -0
 - data/examples/xsd/ProductImage.xsd +39 -0
 - data/examples/xsd/Relationship.xsd +47 -0
 - data/examples/xsd/SettlementReport.xsd +158 -0
 - data/examples/xsd/amzn-base.xsd +1601 -0
 - data/examples/xsd/amzn-envelope.xsd +98 -0
 - data/examples/xsd/amzn-header.xsd +45 -0
 - data/lib/amazon/mws.rb +86 -0
 - data/lib/amazon/mws/authentication.rb +9 -0
 - data/lib/amazon/mws/authentication/query_string.rb +28 -0
 - data/lib/amazon/mws/authentication/signature.rb +43 -0
 - data/lib/amazon/mws/base.rb +61 -0
 - data/lib/amazon/mws/connection.rb +99 -0
 - data/lib/amazon/mws/connection/management.rb +94 -0
 - data/lib/amazon/mws/connection/request_builder.rb +67 -0
 - data/lib/amazon/mws/exceptions.rb +80 -0
 - data/lib/amazon/mws/feed.rb +223 -0
 - data/lib/amazon/mws/feed_builder.rb +67 -0
 - data/lib/amazon/mws/feed_enumerations.rb +46 -0
 - data/lib/amazon/mws/feed_submission.rb +14 -0
 - data/lib/amazon/mws/lib/extensions.rb +162 -0
 - data/lib/amazon/mws/lib/memoizable.rb +10 -0
 - data/lib/amazon/mws/orders.rb +9 -0
 - data/lib/amazon/mws/report.rb +310 -0
 - data/lib/amazon/mws/report_enumerations.rb +44 -0
 - data/lib/amazon/mws/report_info.rb +16 -0
 - data/lib/amazon/mws/report_request.rb +19 -0
 - data/lib/amazon/mws/report_schedule.rb +13 -0
 - data/lib/amazon/mws/response.rb +32 -0
 - data/lib/amazon/mws/response/cancel_feed_submissions_response.rb +14 -0
 - data/lib/amazon/mws/response/cancel_report_requests_response.rb +14 -0
 - data/lib/amazon/mws/response/get_feed_submission_count_response.rb +13 -0
 - data/lib/amazon/mws/response/get_feed_submission_list_by_next_token_response.rb +15 -0
 - data/lib/amazon/mws/response/get_feed_submission_list_response.rb +15 -0
 - data/lib/amazon/mws/response/get_feed_submission_result_response.rb +54 -0
 - data/lib/amazon/mws/response/get_report_count_response.rb +13 -0
 - data/lib/amazon/mws/response/get_report_list_response.rb +15 -0
 - data/lib/amazon/mws/response/get_report_request_count_response.rb +13 -0
 - data/lib/amazon/mws/response/get_report_request_list_by_next_token_response.rb +15 -0
 - data/lib/amazon/mws/response/get_report_request_list_response.rb +15 -0
 - data/lib/amazon/mws/response/get_report_schedule_count_response.rb +13 -0
 - data/lib/amazon/mws/response/get_report_schedule_list_by_next_token_response.rb +15 -0
 - data/lib/amazon/mws/response/get_report_schedule_list_response.rb +15 -0
 - data/lib/amazon/mws/response/manage_report_schedule_response.rb +14 -0
 - data/lib/amazon/mws/response/request_report_response.rb +14 -0
 - data/lib/amazon/mws/response/response_error.rb +15 -0
 - data/lib/amazon/mws/response/submit_feed_response.rb +13 -0
 - data/lib/amazon/mws/response/update_reports_acknowledgements_response.rb +14 -0
 - data/lib/amazon/mws/version.rb +12 -0
 - data/pkg/amazon-mws-0.1.0.gem +0 -0
 - data/test/authentication_test.rb +15 -0
 - data/test/connection_test.rb +5 -0
 - data/test/feed_builder_test.rb +15 -0
 - data/test/feed_submission_test.rb +32 -0
 - data/test/feed_test.rb +64 -0
 - data/test/query_string_test.rb +21 -0
 - data/test/report_test.rb +29 -0
 - data/test/request_test.rb +18 -0
 - data/test/response_test.rb +197 -0
 - data/test/signature_test.rb +30 -0
 - data/test/test_config.yml +5 -0
 - data/test/test_helper.rb +22 -0
 - metadata +179 -0
 
| 
         @@ -0,0 +1,14 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Amazon
         
     | 
| 
      
 2 
     | 
    
         
            +
              module MWS
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
                class UpdateReportAcknowledgementsResponse < Response
         
     | 
| 
      
 5 
     | 
    
         
            +
                  xml_name "UpdateReportAcknowledgementsResponse"
         
     | 
| 
      
 6 
     | 
    
         
            +
                  result = "UpdateReportAcknowledgementsResult"
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                  xml_reader :count, :as => Integer, :in => result
         
     | 
| 
      
 9 
     | 
    
         
            +
                  xml_reader :reports, :as => [ReportInfo], :in => result
         
     | 
| 
      
 10 
     | 
    
         
            +
                  xml_reader :request_id, :in => "ResponseMetadata"
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
      
 12 
     | 
    
         
            +
                
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
            end
         
     | 
| 
         Binary file 
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), 'test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class AuthenticationTest < Test::Unit::TestCase
         
     | 
| 
      
 4 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 5 
     | 
    
         
            +
                @request       = Net::HTTP::Get.new("https://mws.amazonaws.com")
         
     | 
| 
      
 6 
     | 
    
         
            +
                @access_key_id = "yyy"
         
     | 
| 
      
 7 
     | 
    
         
            +
                @secret_access_key = "xxx"
         
     | 
| 
      
 8 
     | 
    
         
            +
                @merchant_id = 0
         
     | 
| 
      
 9 
     | 
    
         
            +
                @marketplace_id = 0
         
     | 
| 
      
 10 
     | 
    
         
            +
              end
         
     | 
| 
      
 11 
     | 
    
         
            +
              
         
     | 
| 
      
 12 
     | 
    
         
            +
              def test_first
         
     | 
| 
      
 13 
     | 
    
         
            +
                puts Amazon::MWS::Authentication::QueryString.new(@request, @access_key_id, @secret_access_key, @merchant_id, @marketplace_id)
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), 'test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class FeedTest < Test::Unit::TestCase
         
     | 
| 
      
 4 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 5 
     | 
    
         
            +
              end
         
     | 
| 
      
 6 
     | 
    
         
            +
              
         
     | 
| 
      
 7 
     | 
    
         
            +
              def test_nothing
         
     | 
| 
      
 8 
     | 
    
         
            +
                puts AWS::MWS::FeedBuilder.new(:product, {
         
     | 
| 
      
 9 
     | 
    
         
            +
                  "Product" => "somethinglame", 
         
     | 
| 
      
 10 
     | 
    
         
            +
                  "NestedHash" => {"hash"=> 7},
         
     | 
| 
      
 11 
     | 
    
         
            +
                  "NestedArray" => [{"NA1"=> 1}, {"NA2"=> 2}]
         
     | 
| 
      
 12 
     | 
    
         
            +
                  }).render
         
     | 
| 
      
 13 
     | 
    
         
            +
                # puts feed.xml
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,32 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), 'test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'yaml'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            class FeedSubmissionTest < Test::Unit::TestCase
         
     | 
| 
      
 5 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 6 
     | 
    
         
            +
                config = YAML.load_file( File.join(File.dirname(__FILE__), '../lib/amazon/mws.yml') )
         
     | 
| 
      
 7 
     | 
    
         
            +
                
         
     | 
| 
      
 8 
     | 
    
         
            +
                AWS::MWS::Base.establish_connection!(
         
     | 
| 
      
 9 
     | 
    
         
            +
                  config['production']
         
     | 
| 
      
 10 
     | 
    
         
            +
                )
         
     | 
| 
      
 11 
     | 
    
         
            +
              end
         
     | 
| 
      
 12 
     | 
    
         
            +
              
         
     | 
| 
      
 13 
     | 
    
         
            +
              def test_get_feed_submission_list
         
     | 
| 
      
 14 
     | 
    
         
            +
                # Amazon::MWS::API.submit_feed(:product_data, :product, @product)
         
     | 
| 
      
 15 
     | 
    
         
            +
                # response = Amazon::MWS::API.get_feed_submission_list
         
     | 
| 
      
 16 
     | 
    
         
            +
                
         
     | 
| 
      
 17 
     | 
    
         
            +
                #response = Amazon::MWS::API.request_report(:flat_file_orders)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                #report_id = response["RequestReportResponse"]["RequestReportResult"]["ReportRequestInfo"]["ReportRequestId"]
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                response = Amazon::MWS::API.get_report_list
         
     | 
| 
      
 23 
     | 
    
         
            +
                
         
     | 
| 
      
 24 
     | 
    
         
            +
                report_id = response["GetReportListResult"]["ReportInfo"]["ReportId"]
         
     | 
| 
      
 25 
     | 
    
         
            +
                
         
     | 
| 
      
 26 
     | 
    
         
            +
                response = Amazon::MWS::API.get_report(report_id)    
         
     | 
| 
      
 27 
     | 
    
         
            +
                #response = Amazon::MWS::API.get_report_request_list
         
     | 
| 
      
 28 
     | 
    
         
            +
                
         
     | 
| 
      
 29 
     | 
    
         
            +
                #response = Amazon::MWS::API.get_report_request_count
         
     | 
| 
      
 30 
     | 
    
         
            +
                puts response.inspect
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
    
        data/test/feed_test.rb
    ADDED
    
    | 
         @@ -0,0 +1,64 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), 'test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
            # flatten the namespace
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'mocha'
         
     | 
| 
      
 4 
     | 
    
         
            +
            include AWS::MWS
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            AWS::MWS::Base.debug = true
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            class FeedTest < Test::Unit::TestCase 
         
     | 
| 
      
 9 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 10 
     | 
    
         
            +
                config = YAML.load_file( File.join(File.dirname(__FILE__), 'test_config.yml') )
         
     | 
| 
      
 11 
     | 
    
         
            +
                @marketplace = AWS::MWS::Base.new(config)
         
     | 
| 
      
 12 
     | 
    
         
            +
              end
         
     | 
| 
      
 13 
     | 
    
         
            +
              
         
     | 
| 
      
 14 
     | 
    
         
            +
              #def test_submit_feed
         
     | 
| 
      
 15 
     | 
    
         
            +
                #response = Feed.submit
         
     | 
| 
      
 16 
     | 
    
         
            +
                #response = Feed.submit_feed
         
     | 
| 
      
 17 
     | 
    
         
            +
              #end
         
     | 
| 
      
 18 
     | 
    
         
            +
                  
         
     | 
| 
      
 19 
     | 
    
         
            +
              def test_get_feed_submission_list_failure
         
     | 
| 
      
 20 
     | 
    
         
            +
                @marketplace.stubs(:get).returns(
         
     | 
| 
      
 21 
     | 
    
         
            +
                  mock_response(401, :body => File.read(xml_for('error')), :content_type => "text/xml")
         
     | 
| 
      
 22 
     | 
    
         
            +
                )
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                response = @marketplace.submission_list
         
     | 
| 
      
 25 
     | 
    
         
            +
                assert_kind_of(ResponseError, response)
         
     | 
| 
      
 26 
     | 
    
         
            +
              end    
         
     | 
| 
      
 27 
     | 
    
         
            +
              
         
     | 
| 
      
 28 
     | 
    
         
            +
              def test_get_feed_submission_list_success
         
     | 
| 
      
 29 
     | 
    
         
            +
                @marketplace.stubs(:get).returns(
         
     | 
| 
      
 30 
     | 
    
         
            +
                  mock_response(200, :body => File.read(xml_for('get_feed_submission_list')), :content_type => "text/xml")
         
     | 
| 
      
 31 
     | 
    
         
            +
                )
         
     | 
| 
      
 32 
     | 
    
         
            +
                
         
     | 
| 
      
 33 
     | 
    
         
            +
                response = @marketplace.submission_list
         
     | 
| 
      
 34 
     | 
    
         
            +
                assert_kind_of(GetFeedSubmissionListResponse, response)
         
     | 
| 
      
 35 
     | 
    
         
            +
              end
         
     | 
| 
      
 36 
     | 
    
         
            +
              
         
     | 
| 
      
 37 
     | 
    
         
            +
            =begin    
         
     | 
| 
      
 38 
     | 
    
         
            +
              def test_get_feed_submission_list_by_next_token
         
     | 
| 
      
 39 
     | 
    
         
            +
                #response = Feed.submission_list_by_next_token
         
     | 
| 
      
 40 
     | 
    
         
            +
                #response = Feed.get_feed_submission_list_by_next_token
         
     | 
| 
      
 41 
     | 
    
         
            +
              end
         
     | 
| 
      
 42 
     | 
    
         
            +
              
         
     | 
| 
      
 43 
     | 
    
         
            +
              def test_get_feed_submission_list_by_next_token
         
     | 
| 
      
 44 
     | 
    
         
            +
                #response = Feed.submission_list_by_next_token
         
     | 
| 
      
 45 
     | 
    
         
            +
                #response = Feed.get_feed_submission_list_by_next_token
         
     | 
| 
      
 46 
     | 
    
         
            +
              end
         
     | 
| 
      
 47 
     | 
    
         
            +
              
         
     | 
| 
      
 48 
     | 
    
         
            +
              def test_get_feed_submission_count
         
     | 
| 
      
 49 
     | 
    
         
            +
                #response = Feed.submission_count
         
     | 
| 
      
 50 
     | 
    
         
            +
                #response = Feed.get_feed_submission_count
         
     | 
| 
      
 51 
     | 
    
         
            +
              end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
              
         
     | 
| 
      
 54 
     | 
    
         
            +
              def test_cancel_feed_submissions
         
     | 
| 
      
 55 
     | 
    
         
            +
                #response = Feed.cancel_submissions
         
     | 
| 
      
 56 
     | 
    
         
            +
                #response = Feed.cancel_feed_submissions
         
     | 
| 
      
 57 
     | 
    
         
            +
              end
         
     | 
| 
      
 58 
     | 
    
         
            +
              
         
     | 
| 
      
 59 
     | 
    
         
            +
              def test_get_feed_submission_result
         
     | 
| 
      
 60 
     | 
    
         
            +
                #response = Feed.submission_result
         
     | 
| 
      
 61 
     | 
    
         
            +
                #response = Feed.get_feed_submission_result
         
     | 
| 
      
 62 
     | 
    
         
            +
              end
         
     | 
| 
      
 63 
     | 
    
         
            +
            =end
         
     | 
| 
      
 64 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), 'test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class MockSignature
         
     | 
| 
      
 4 
     | 
    
         
            +
            end
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            class QueryStringTest < Test::Unit::TestCase
         
     | 
| 
      
 7 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 8 
     | 
    
         
            +
                # need a stub for Signature!
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
              
         
     | 
| 
      
 11 
     | 
    
         
            +
              def test_expected_string
         
     | 
| 
      
 12 
     | 
    
         
            +
                string = AWS::MWS::Authentication::QueryString.new(
         
     | 
| 
      
 13 
     | 
    
         
            +
                  :access_key => 'opensesame',
         
     | 
| 
      
 14 
     | 
    
         
            +
                  :marketplace_id => '9876',
         
     | 
| 
      
 15 
     | 
    
         
            +
                  :merchant_id => '12345',
         
     | 
| 
      
 16 
     | 
    
         
            +
                  :uri => URI.parse('/')
         
     | 
| 
      
 17 
     | 
    
         
            +
                )
         
     | 
| 
      
 18 
     | 
    
         
            +
                
         
     | 
| 
      
 19 
     | 
    
         
            +
                assert_kind_of(String, string)
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     | 
    
        data/test/report_test.rb
    ADDED
    
    | 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), 'test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'yaml'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            # import the namespace
         
     | 
| 
      
 6 
     | 
    
         
            +
            include Amazon::MWS
         
     | 
| 
      
 7 
     | 
    
         
            +
              
         
     | 
| 
      
 8 
     | 
    
         
            +
            class FeedTest < Test::Unit::TestCase
         
     | 
| 
      
 9 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 10 
     | 
    
         
            +
                config = YAML.load_file( File.join(File.dirname(__FILE__), '../lib/amazon/mws.yml') )
         
     | 
| 
      
 11 
     | 
    
         
            +
                
         
     | 
| 
      
 12 
     | 
    
         
            +
                AWS::MWS::Base.establish_connection!(
         
     | 
| 
      
 13 
     | 
    
         
            +
                  config['production']
         
     | 
| 
      
 14 
     | 
    
         
            +
                )
         
     | 
| 
      
 15 
     | 
    
         
            +
                AWS::MWS::Base.debug = true
         
     | 
| 
      
 16 
     | 
    
         
            +
              end
         
     | 
| 
      
 17 
     | 
    
         
            +
              
         
     | 
| 
      
 18 
     | 
    
         
            +
              def test_request
         
     | 
| 
      
 19 
     | 
    
         
            +
                #response = Report.request(:flat_file_orders)
         
     | 
| 
      
 20 
     | 
    
         
            +
                
         
     | 
| 
      
 21 
     | 
    
         
            +
                #result = Report.request(:flat_file_orders, :start_date => Time.now, :end_date => Time.now.iso8601)
         
     | 
| 
      
 22 
     | 
    
         
            +
                
         
     | 
| 
      
 23 
     | 
    
         
            +
                result = Report.request_list
         
     | 
| 
      
 24 
     | 
    
         
            +
                
         
     | 
| 
      
 25 
     | 
    
         
            +
                puts result.inspect
         
     | 
| 
      
 26 
     | 
    
         
            +
              end
         
     | 
| 
      
 27 
     | 
    
         
            +
              
         
     | 
| 
      
 28 
     | 
    
         
            +
              
         
     | 
| 
      
 29 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,18 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), 'test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'yaml'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            AWS::MWS::Base.debug = true
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            class RequestTest < Test::Unit::TestCase
         
     | 
| 
      
 7 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 8 
     | 
    
         
            +
                config = YAML.load_file( File.join(File.dirname(__FILE__), '../lib/amazon/mws.yml') )
         
     | 
| 
      
 9 
     | 
    
         
            +
                
         
     | 
| 
      
 10 
     | 
    
         
            +
                @marketplace = AWS::MWS::Base.new(config['production'])
         
     | 
| 
      
 11 
     | 
    
         
            +
              end
         
     | 
| 
      
 12 
     | 
    
         
            +
              
         
     | 
| 
      
 13 
     | 
    
         
            +
              def test_first
         
     | 
| 
      
 14 
     | 
    
         
            +
                response = @marketplace.request_report(:converged_flat_file_order_report)
         
     | 
| 
      
 15 
     | 
    
         
            +
                response = @marketplace.get_report_request_list('MaxCount' => 100)
         
     | 
| 
      
 16 
     | 
    
         
            +
              end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,197 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), 'test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            include Amazon::MWS
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            class ResponseTest < Test::Unit::TestCase
         
     | 
| 
      
 6 
     | 
    
         
            +
              
         
     | 
| 
      
 7 
     | 
    
         
            +
              def test_submit_feed_response
         
     | 
| 
      
 8 
     | 
    
         
            +
                response = SubmitFeedResponse.format(xml_for('submit_feed'))
         
     | 
| 
      
 9 
     | 
    
         
            +
                
         
     | 
| 
      
 10 
     | 
    
         
            +
                assert_equal(response.feed_submission.id, 2291326430)
         
     | 
| 
      
 11 
     | 
    
         
            +
                assert_equal(response.feed_submission.feed_type, '_POST_PRODUCT_DATA_')
         
     | 
| 
      
 12 
     | 
    
         
            +
                assert_equal(response.request_id, '75424a38-f333-4105-98f0-2aa9592d665c')
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              def test_feed_submission_list_response
         
     | 
| 
      
 16 
     | 
    
         
            +
                response = GetFeedSubmissionListResponse.format(xml_for('get_feed_submission_list'))
         
     | 
| 
      
 17 
     | 
    
         
            +
                
         
     | 
| 
      
 18 
     | 
    
         
            +
                assert_equal("1105b931-6f1c-4480-8e97-f3b467840a9e", response.request_id)
         
     | 
| 
      
 19 
     | 
    
         
            +
                assert(response.has_next?)
         
     | 
| 
      
 20 
     | 
    
         
            +
                assert_equal(response.next_token, "2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=")
         
     | 
| 
      
 21 
     | 
    
         
            +
                assert_equal(response.feed_submissions.size, 1)
         
     | 
| 
      
 22 
     | 
    
         
            +
                assert_equal(response.feed_submissions.first.id, 2291326430)
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
              
         
     | 
| 
      
 25 
     | 
    
         
            +
              def test_get_feed_submission_list_by_next_token
         
     | 
| 
      
 26 
     | 
    
         
            +
                response = GetFeedSubmissionListByNextTokenResponse.format(xml_for('get_feed_submission_list_by_next_token'))
         
     | 
| 
      
 27 
     | 
    
         
            +
                
         
     | 
| 
      
 28 
     | 
    
         
            +
                assert_equal("1105b931-6f1c-4480-8e97-f3b467840a9e", response.request_id)
         
     | 
| 
      
 29 
     | 
    
         
            +
                assert_equal(false, response.has_next?) # same as false ???
         
     | 
| 
      
 30 
     | 
    
         
            +
                assert_equal('none', response.next_token)
         
     | 
| 
      
 31 
     | 
    
         
            +
                assert_equal(response.feed_submissions.size, 1)
         
     | 
| 
      
 32 
     | 
    
         
            +
                assert_equal(response.feed_submissions.first.id, 2291326430)
         
     | 
| 
      
 33 
     | 
    
         
            +
                assert_equal('1105b931-6f1c-4480-8e97-f3b467840a9e', response.request_id)
         
     | 
| 
      
 34 
     | 
    
         
            +
              end
         
     | 
| 
      
 35 
     | 
    
         
            +
              
         
     | 
| 
      
 36 
     | 
    
         
            +
              def test_get_feed_submission_count
         
     | 
| 
      
 37 
     | 
    
         
            +
                response = GetFeedSubmissionCountResponse.format(xml_for('get_feed_submission_count'))
         
     | 
| 
      
 38 
     | 
    
         
            +
              
         
     | 
| 
      
 39 
     | 
    
         
            +
                assert_equal(463, response.count)
         
     | 
| 
      
 40 
     | 
    
         
            +
                assert_equal('21e482a8-15c7-4da3-91a4-424995ed0756', response.request_id)
         
     | 
| 
      
 41 
     | 
    
         
            +
              end
         
     | 
| 
      
 42 
     | 
    
         
            +
              
         
     | 
| 
      
 43 
     | 
    
         
            +
              def test_cancel_feed_submissions
         
     | 
| 
      
 44 
     | 
    
         
            +
                response = CancelFeedSubmissionsResponse.format(xml_for('cancel_feed_submissions'))
         
     | 
| 
      
 45 
     | 
    
         
            +
              
         
     | 
| 
      
 46 
     | 
    
         
            +
                assert_equal(1, response.count)
         
     | 
| 
      
 47 
     | 
    
         
            +
                assert_equal(1, response.feed_submissions.size)
         
     | 
| 
      
 48 
     | 
    
         
            +
                assert_equal('18e78983-bbf9-43aa-a661-ae7696cb49d4', response.request_id)
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
                
         
     | 
| 
      
 51 
     | 
    
         
            +
              def test_get_feed_submission_result
         
     | 
| 
      
 52 
     | 
    
         
            +
                response = GetFeedSubmissionResultResponse.format(xml_for('get_feed_submission_result'))
         
     | 
| 
      
 53 
     | 
    
         
            +
                assert_equal(1.02, response.document_version)
         
     | 
| 
      
 54 
     | 
    
         
            +
                assert_equal('M_EXAMPLE_9876543210', response.merchant_id)
         
     | 
| 
      
 55 
     | 
    
         
            +
                
         
     | 
| 
      
 56 
     | 
    
         
            +
                assert_equal('ProcessingReport', response.message_type)
         
     | 
| 
      
 57 
     | 
    
         
            +
                
         
     | 
| 
      
 58 
     | 
    
         
            +
                assert_equal(1, response.message.id)
         
     | 
| 
      
 59 
     | 
    
         
            +
                assert_equal(2060950676, response.message.document_transaction_id)
         
     | 
| 
      
 60 
     | 
    
         
            +
                assert_equal("Complete", response.message.status_code)
         
     | 
| 
      
 61 
     | 
    
         
            +
                
         
     | 
| 
      
 62 
     | 
    
         
            +
                assert_equal(0, response.message.processing_summary.messages_processed)   
         
     | 
| 
      
 63 
     | 
    
         
            +
                assert_equal(0, response.message.processing_summary.messages_successful)    
         
     | 
| 
      
 64 
     | 
    
         
            +
                assert_equal(1, response.message.processing_summary.messages_with_error)    
         
     | 
| 
      
 65 
     | 
    
         
            +
                assert_equal(0, response.message.processing_summary.messages_with_warning)
         
     | 
| 
      
 66 
     | 
    
         
            +
                
         
     | 
| 
      
 67 
     | 
    
         
            +
                assert_equal(0, response.message.result.message_id)
         
     | 
| 
      
 68 
     | 
    
         
            +
                assert_equal('Error', response.message.result.result_code)
         
     | 
| 
      
 69 
     | 
    
         
            +
                assert_equal(6001, response.message.result.message_code)
         
     | 
| 
      
 70 
     | 
    
         
            +
                assert_equal('XML parsing fatal error at line 1, column 1: Invalid document structure', response.message.result.description)
         
     | 
| 
      
 71 
     | 
    
         
            +
                assert_equal(0, response.message.result.sku)
         
     | 
| 
      
 72 
     | 
    
         
            +
              end
         
     | 
| 
      
 73 
     | 
    
         
            +
                
         
     | 
| 
      
 74 
     | 
    
         
            +
              def test_request_report
         
     | 
| 
      
 75 
     | 
    
         
            +
                response = RequestReportResponse.format(xml_for('request_report'))
         
     | 
| 
      
 76 
     | 
    
         
            +
                
         
     | 
| 
      
 77 
     | 
    
         
            +
                assert_equal("88faca76-b600-46d2-b53c-0c8c4533e43a", response.request_id)
         
     | 
| 
      
 78 
     | 
    
         
            +
                
         
     | 
| 
      
 79 
     | 
    
         
            +
                assert(response.report_request)
         
     | 
| 
      
 80 
     | 
    
         
            +
                assert_equal(response.report_request.report_type, "_GET_MERCHANT_LISTINGS_DATA_")
         
     | 
| 
      
 81 
     | 
    
         
            +
                assert_equal(response.report_request.scheduled?, false)
         
     | 
| 
      
 82 
     | 
    
         
            +
                assert_equal(response.report_request.report_processing_status, "_SUBMITTED_")
         
     | 
| 
      
 83 
     | 
    
         
            +
              end
         
     | 
| 
      
 84 
     | 
    
         
            +
              
         
     | 
| 
      
 85 
     | 
    
         
            +
              def test_get_report_request_list
         
     | 
| 
      
 86 
     | 
    
         
            +
                response = GetReportRequestListResponse.format(xml_for('get_report_request_list'))
         
     | 
| 
      
 87 
     | 
    
         
            +
                
         
     | 
| 
      
 88 
     | 
    
         
            +
                assert_equal(response.request_id, "1e1d7b22-004e-4333-a881-1f20b671097f")
         
     | 
| 
      
 89 
     | 
    
         
            +
                assert(response.has_next?)
         
     | 
| 
      
 90 
     | 
    
         
            +
                assert_equal(response.next_token, "gTw92cRxgz0D2s1QD6a1Fdz+0b6t4r6aM48r5nOh7ZQ2cKWBkRSk57AfQiDLYYb/tts/YTgAGXw7u4xT348+ZoSJ8NeAlfpOrrBJpKO2HAHCv/LqsB0EzxybTwcKfw+6oQjX0m4upU+Q1A2v3FCYQ1eWYigAJMzhvZSqczZdpQRFrR1eNdlVGQ==")
         
     | 
| 
      
 91 
     | 
    
         
            +
                assert_equal(response.report_requests.size, 10)
         
     | 
| 
      
 92 
     | 
    
         
            +
              end
         
     | 
| 
      
 93 
     | 
    
         
            +
              
         
     | 
| 
      
 94 
     | 
    
         
            +
              def test_get_report_request_list_by_next_token
         
     | 
| 
      
 95 
     | 
    
         
            +
                response = GetReportRequestListByNextTokenResponse.format(xml_for('get_report_request_list_by_next_token'))
         
     | 
| 
      
 96 
     | 
    
         
            +
                
         
     | 
| 
      
 97 
     | 
    
         
            +
                assert_equal("732480cb-84a8-4c15-9084-a46bd9a0889b", response.request_id)
         
     | 
| 
      
 98 
     | 
    
         
            +
                assert_equal('none', response.next_token)
         
     | 
| 
      
 99 
     | 
    
         
            +
                assert_equal(false, response.has_next?) # same as false ???
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
                assert_equal(1, response.report_requests.size)
         
     | 
| 
      
 102 
     | 
    
         
            +
                assert_equal(2291326454, response.report_requests.first.id)
         
     | 
| 
      
 103 
     | 
    
         
            +
                assert_equal('732480cb-84a8-4c15-9084-a46bd9a0889b', response.request_id)
         
     | 
| 
      
 104 
     | 
    
         
            +
              end
         
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
      
 106 
     | 
    
         
            +
              def test_get_report_request_count
         
     | 
| 
      
 107 
     | 
    
         
            +
                response = GetReportRequestCountResponse.format(xml_for('get_report_request_count'))
         
     | 
| 
      
 108 
     | 
    
         
            +
              
         
     | 
| 
      
 109 
     | 
    
         
            +
                assert_equal(1276, response.count)
         
     | 
| 
      
 110 
     | 
    
         
            +
                assert_equal('7e155027-3741-4422-95a7-1de12703c13e', response.request_id)
         
     | 
| 
      
 111 
     | 
    
         
            +
              end
         
     | 
| 
      
 112 
     | 
    
         
            +
              
         
     | 
| 
      
 113 
     | 
    
         
            +
              def test_cancel_report_requests
         
     | 
| 
      
 114 
     | 
    
         
            +
                response = CancelReportRequestsResponse.format(xml_for('cancel_report_requests'))
         
     | 
| 
      
 115 
     | 
    
         
            +
              
         
     | 
| 
      
 116 
     | 
    
         
            +
                assert_equal(10, response.count)
         
     | 
| 
      
 117 
     | 
    
         
            +
                assert_equal(1, response.report_requests.size)
         
     | 
| 
      
 118 
     | 
    
         
            +
                assert_equal('a720f9d6-83e9-4684-bc35-065b41ed5ca4', response.request_id)
         
     | 
| 
      
 119 
     | 
    
         
            +
              end
         
     | 
| 
      
 120 
     | 
    
         
            +
              
         
     | 
| 
      
 121 
     | 
    
         
            +
              def test_get_report_list_response
         
     | 
| 
      
 122 
     | 
    
         
            +
                response = GetReportListResponse.format(xml_for('get_report_list'))
         
     | 
| 
      
 123 
     | 
    
         
            +
                
         
     | 
| 
      
 124 
     | 
    
         
            +
                assert_equal("fbf677c1-dcee-4110-bc88-2ba3702e331b", response.request_id)
         
     | 
| 
      
 125 
     | 
    
         
            +
                assert(response.has_next?)
         
     | 
| 
      
 126 
     | 
    
         
            +
                #assert_equal(response.next_token, "2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=")
         
     | 
| 
      
 127 
     | 
    
         
            +
                assert_equal(response.reports.size, 1)
         
     | 
| 
      
 128 
     | 
    
         
            +
                
         
     | 
| 
      
 129 
     | 
    
         
            +
                assert_equal(898899473, response.reports.first.id)
         
     | 
| 
      
 130 
     | 
    
         
            +
                assert_equal('_GET_MERCHANT_LISTINGS_DATA_', response.reports.first.type)
         
     | 
| 
      
 131 
     | 
    
         
            +
                assert_equal(2278662938, response.reports.first.report_request_id)
         
     | 
| 
      
 132 
     | 
    
         
            +
                assert_equal(Time.parse('Tue Feb 10 04:22:33 -0500 2009'), response.reports.first.available_date)
         
     | 
| 
      
 133 
     | 
    
         
            +
                assert_equal(response.reports.first.acknowledged?, false)
         
     | 
| 
      
 134 
     | 
    
         
            +
              end
         
     | 
| 
      
 135 
     | 
    
         
            +
              
         
     | 
| 
      
 136 
     | 
    
         
            +
              def test_get_report_count
         
     | 
| 
      
 137 
     | 
    
         
            +
                response = GetReportCountResponse.format(xml_for('get_report_count'))
         
     | 
| 
      
 138 
     | 
    
         
            +
              
         
     | 
| 
      
 139 
     | 
    
         
            +
                assert_equal(166, response.count)
         
     | 
| 
      
 140 
     | 
    
         
            +
                assert_equal('a497aadb-5ea1-49bf-aa14-dabe914465e3', response.request_id)
         
     | 
| 
      
 141 
     | 
    
         
            +
              end
         
     | 
| 
      
 142 
     | 
    
         
            +
              
         
     | 
| 
      
 143 
     | 
    
         
            +
              def test_manage_report_schedule
         
     | 
| 
      
 144 
     | 
    
         
            +
                response = ManageReportScheduleResponse.format(xml_for('manage_report_schedule'))
         
     | 
| 
      
 145 
     | 
    
         
            +
              
         
     | 
| 
      
 146 
     | 
    
         
            +
                assert_equal(1, response.count)
         
     | 
| 
      
 147 
     | 
    
         
            +
                assert_equal('7ee1bc50-5a13-4db1-afd7-1386e481984e', response.request_id)
         
     | 
| 
      
 148 
     | 
    
         
            +
             
     | 
| 
      
 149 
     | 
    
         
            +
                assert(response.report_schedule)
         
     | 
| 
      
 150 
     | 
    
         
            +
                assert_equal('_GET_ORDERS_DATA_', response.report_schedule.report_type)
         
     | 
| 
      
 151 
     | 
    
         
            +
                assert_equal('_30_DAYS_', response.report_schedule.schedule) 
         
     | 
| 
      
 152 
     | 
    
         
            +
                assert_equal(Time.parse('2009-02-20T02:10:42+00:00'), response.report_schedule.scheduled_date)
         
     | 
| 
      
 153 
     | 
    
         
            +
              end
         
     | 
| 
      
 154 
     | 
    
         
            +
              
         
     | 
| 
      
 155 
     | 
    
         
            +
              def test_get_report_schedule_list_response
         
     | 
| 
      
 156 
     | 
    
         
            +
                response = GetReportScheduleListResponse.format(xml_for('get_report_schedule_list'))
         
     | 
| 
      
 157 
     | 
    
         
            +
                
         
     | 
| 
      
 158 
     | 
    
         
            +
                assert_equal("c0464157-b74f-4e52-bd1a-4ebf4bc7e5aa", response.request_id)
         
     | 
| 
      
 159 
     | 
    
         
            +
                assert(response.has_next?)
         
     | 
| 
      
 160 
     | 
    
         
            +
                assert_equal("4XgYW55IPQhcm5hbCBwbGVhc3VyZS4=", response.next_token)
         
     | 
| 
      
 161 
     | 
    
         
            +
                
         
     | 
| 
      
 162 
     | 
    
         
            +
                assert_equal(response.report_schedules.size, 1)
         
     | 
| 
      
 163 
     | 
    
         
            +
                
         
     | 
| 
      
 164 
     | 
    
         
            +
                assert_equal('_GET_ORDERS_DATA_', response.report_schedules[0].report_type)
         
     | 
| 
      
 165 
     | 
    
         
            +
                assert_equal('_30_DAYS_', response.report_schedules[0].schedule) 
         
     | 
| 
      
 166 
     | 
    
         
            +
                assert_equal(Time.parse('2009-02-20T02:10:42+00:00'), response.report_schedules[0].scheduled_date)
         
     | 
| 
      
 167 
     | 
    
         
            +
              end
         
     | 
| 
      
 168 
     | 
    
         
            +
              
         
     | 
| 
      
 169 
     | 
    
         
            +
              def test_get_report_schedule_list_by_next_token
         
     | 
| 
      
 170 
     | 
    
         
            +
                response = GetReportScheduleListByNextTokenResponse.format(xml_for('get_report_schedule_list_by_next_token'))
         
     | 
| 
      
 171 
     | 
    
         
            +
                
         
     | 
| 
      
 172 
     | 
    
         
            +
                assert_equal("c0464157-b74f-4e52-bd1a-4ebf4bc7e5aa", response.request_id)
         
     | 
| 
      
 173 
     | 
    
         
            +
                assert_equal('none', response.next_token)
         
     | 
| 
      
 174 
     | 
    
         
            +
                assert_equal(false, response.has_next?) # same as false ???
         
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
      
 176 
     | 
    
         
            +
                assert_equal(1, response.report_schedules.size)
         
     | 
| 
      
 177 
     | 
    
         
            +
                # assert_equal(13050620, response.report_schedules[0].id)
         
     | 
| 
      
 178 
     | 
    
         
            +
                assert_equal('c0464157-b74f-4e52-bd1a-4ebf4bc7e5aa', response.request_id)
         
     | 
| 
      
 179 
     | 
    
         
            +
              end
         
     | 
| 
      
 180 
     | 
    
         
            +
              
         
     | 
| 
      
 181 
     | 
    
         
            +
              def test_get_report_schedule_count
         
     | 
| 
      
 182 
     | 
    
         
            +
                response = GetReportScheduleCountResponse.format(xml_for('get_report_schedule_count'))
         
     | 
| 
      
 183 
     | 
    
         
            +
              
         
     | 
| 
      
 184 
     | 
    
         
            +
                assert_equal(18, response.count)
         
     | 
| 
      
 185 
     | 
    
         
            +
                assert_equal('21e482a8-15c7-4da3-91a4-424995ed0756', response.request_id)
         
     | 
| 
      
 186 
     | 
    
         
            +
              end
         
     | 
| 
      
 187 
     | 
    
         
            +
              
         
     | 
| 
      
 188 
     | 
    
         
            +
              def test_update_report_acknowledgements
         
     | 
| 
      
 189 
     | 
    
         
            +
                response = UpdateReportAcknowledgementsResponse.format(xml_for('update_report_acknowledgements'))
         
     | 
| 
      
 190 
     | 
    
         
            +
              
         
     | 
| 
      
 191 
     | 
    
         
            +
                assert_equal(1, response.count)
         
     | 
| 
      
 192 
     | 
    
         
            +
                assert_equal('42a578a7-ed92-486b-ac67-5de7464fcdfa', response.request_id)
         
     | 
| 
      
 193 
     | 
    
         
            +
                assert(response.reports)
         
     | 
| 
      
 194 
     | 
    
         
            +
              end
         
     | 
| 
      
 195 
     | 
    
         
            +
              
         
     | 
| 
      
 196 
     | 
    
         
            +
            end
         
     | 
| 
      
 197 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,30 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), 'test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class SignatureTest < Test::Unit::TestCase
         
     | 
| 
      
 4 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 5 
     | 
    
         
            +
                @expected_base64 = "F8zvW31wDYENPZrwkVYaPOLHh2R+goZncb0SlwTwyes="
         
     | 
| 
      
 6 
     | 
    
         
            +
                @expected_digest = "\027\314\357[}p\r\201\r=\232\360\221V\032<\342\307\207d~\202\206gq\275\022\227\004\360\311\353"
         
     | 
| 
      
 7 
     | 
    
         
            +
              end
         
     | 
| 
      
 8 
     | 
    
         
            +
              
         
     | 
| 
      
 9 
     | 
    
         
            +
              def test_sign_with_string_keys
         
     | 
| 
      
 10 
     | 
    
         
            +
                signature = Amazon::MWS::Authentication::Signature.new(
         
     | 
| 
      
 11 
     | 
    
         
            +
                  {"devil" => "666"}, 
         
     | 
| 
      
 12 
     | 
    
         
            +
                  {:verb => :get, :secret_access_key => "beelzebub"}
         
     | 
| 
      
 13 
     | 
    
         
            +
                )
         
     | 
| 
      
 14 
     | 
    
         
            +
                
         
     | 
| 
      
 15 
     | 
    
         
            +
                # Not sure if this really helps, just locks it down
         
     | 
| 
      
 16 
     | 
    
         
            +
                assert_equal(@expected_base64, signature)
         
     | 
| 
      
 17 
     | 
    
         
            +
                assert_equal(@expected_digest, Base64.decode64(signature))
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
              
         
     | 
| 
      
 20 
     | 
    
         
            +
              def test_sign_with_symbol_keys
         
     | 
| 
      
 21 
     | 
    
         
            +
                signature = Amazon::MWS::Authentication::Signature.new(
         
     | 
| 
      
 22 
     | 
    
         
            +
                  {:devil => "666"}, 
         
     | 
| 
      
 23 
     | 
    
         
            +
                  {:verb => :get, :secret_access_key => "beelzebub"}
         
     | 
| 
      
 24 
     | 
    
         
            +
                )
         
     | 
| 
      
 25 
     | 
    
         
            +
                
         
     | 
| 
      
 26 
     | 
    
         
            +
                # Not sure if this really helps, just locks it down
         
     | 
| 
      
 27 
     | 
    
         
            +
                assert_equal(@expected_base64, signature)
         
     | 
| 
      
 28 
     | 
    
         
            +
                assert_equal(@expected_digest, Base64.decode64(signature))
         
     | 
| 
      
 29 
     | 
    
         
            +
              end  
         
     | 
| 
      
 30 
     | 
    
         
            +
            end
         
     |