diff --git a/lib/oja/cli.rb b/lib/oja/cli.rb index 79e872f..894011a 100644 --- a/lib/oja/cli.rb +++ b/lib/oja/cli.rb @@ -8,13 +8,20 @@ def initialize(argv) end def usage - puts "Usage: #{File.basename($0)} " + puts "Usage: #{File.basename($0)} [options]" + puts "" + puts "Options" + puts " -p, --password " end def receipt_filename @argv[0] end + def password + @options['p'] || @options['password'] + end + def print_receipt_details(receipt_data) receipt_data.each do |key, value| puts "#{key}: #{value}" @@ -22,7 +29,7 @@ def print_receipt_details(receipt_data) end def check_receipt - if response = Oja.verify_filename(receipt_filename) + if response = Oja.verify_filename(:filename => receipt_filename, :password => password) if response.active? puts "[!] Receipt appears to be valid and active" puts diff --git a/spec/cli_spec.rb b/spec/cli_spec.rb index abd5a2f..f92c9e2 100644 --- a/spec/cli_spec.rb +++ b/spec/cli_spec.rb @@ -17,6 +17,11 @@ output.should.include 'product_id' end + it "allows you to pass a password" do + cli = Oja::CLI.new([receipt_filename('receipt'), '--password', 'secret']) + cli.password.should == 'secret' + end + it "shows a message when the receipt is invalid" do Oja::Mock.responses << [200, { status: Oja::Response.status_code(:inactive) }] output = oja(receipt_filename('receipt'))