killbill-payment-test 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/.gitignore +23 -0
  2. data/Gemfile +5 -0
  3. data/Jarfile +3 -0
  4. data/README.md +5 -0
  5. data/Rakefile +12 -32
  6. data/VERSION +1 -0
  7. data/killbill-payment-test.gemspec +32 -0
  8. data/killbill.properties +3 -0
  9. data/lib/payment_test/api.rb +92 -0
  10. data/lib/payment_test.rb +1 -23
  11. data/spec/payment_test/base_plugin_spec.rb +30 -0
  12. data/spec/spec_helper.rb +15 -0
  13. metadata +78 -350
  14. checksums.yaml +0 -7
  15. data/MIT-LICENSE +0 -20
  16. data/app/assets/javascripts/application.js +0 -24
  17. data/app/assets/javascripts/payment_test/payment_test.js +0 -7
  18. data/app/assets/stylesheets/application.css +0 -20
  19. data/app/assets/stylesheets/bootstrap_and_overrides.css +0 -17
  20. data/app/assets/stylesheets/payment_test/payment_test.css +0 -6
  21. data/app/controllers/payment_test/engine_controller.rb +0 -29
  22. data/app/controllers/payment_test/payments_controller.rb +0 -66
  23. data/app/helpers/payment_test/application_helper.rb +0 -4
  24. data/app/views/payment_test/layouts/payment_test_application.html.erb +0 -31
  25. data/app/views/payment_test/payments/index.html.erb +0 -45
  26. data/config/routes.rb +0 -12
  27. data/lib/payment_test/client.rb +0 -74
  28. data/lib/payment_test/engine.rb +0 -24
  29. data/lib/payment_test/version.rb +0 -3
  30. data/lib/tasks/payment_test_tasks.rake +0 -4
  31. data/test/dummy/README.rdoc +0 -28
  32. data/test/dummy/Rakefile +0 -6
  33. data/test/dummy/app/controllers/application_controller.rb +0 -5
  34. data/test/dummy/app/helpers/application_helper.rb +0 -2
  35. data/test/dummy/bin/bundle +0 -3
  36. data/test/dummy/bin/rails +0 -4
  37. data/test/dummy/bin/rake +0 -4
  38. data/test/dummy/bin/setup +0 -29
  39. data/test/dummy/config/application.rb +0 -32
  40. data/test/dummy/config/boot.rb +0 -5
  41. data/test/dummy/config/database.yml +0 -23
  42. data/test/dummy/config/environment.rb +0 -5
  43. data/test/dummy/config/environments/development.rb +0 -41
  44. data/test/dummy/config/environments/production.rb +0 -79
  45. data/test/dummy/config/environments/test.rb +0 -42
  46. data/test/dummy/config/initializers/assets.rb +0 -11
  47. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  48. data/test/dummy/config/initializers/cookies_serializer.rb +0 -3
  49. data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  50. data/test/dummy/config/initializers/inflections.rb +0 -16
  51. data/test/dummy/config/initializers/killbill_client.rb +0 -3
  52. data/test/dummy/config/initializers/mime_types.rb +0 -4
  53. data/test/dummy/config/initializers/session_store.rb +0 -3
  54. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  55. data/test/dummy/config/locales/en.yml +0 -23
  56. data/test/dummy/config/routes.rb +0 -4
  57. data/test/dummy/config/secrets.yml +0 -22
  58. data/test/dummy/config.ru +0 -4
  59. data/test/integration/navigation_test.rb +0 -8
  60. data/test/payment_test_test.rb +0 -7
  61. data/test/test_helper.rb +0 -21
data/.gitignore ADDED
@@ -0,0 +1,23 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ coverage
6
+ InstalledFiles
7
+ lib/bundler/man
8
+ pkg
9
+ rdoc
10
+ spec/reports
11
+ test/tmp
12
+ test/version_tmp
13
+ tmp
14
+ build
15
+ # YARD artifacts
16
+ .yardoc
17
+ _yardoc
18
+ doc/
19
+
20
+ .jbundler
21
+ Jarfile.lock
22
+ Gemfile.lock
23
+ *.swp
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ #gem 'killbill', :path => '../killbill-plugin-framework-ruby'
data/Jarfile ADDED
@@ -0,0 +1,3 @@
1
+ jar 'com.ning.billing:killbill-api', '0.1.56-SNAPSHOT'
2
+ jar 'com.ning.billing:killbill-util:tests', '0.1.56-SNAPSHOT'
3
+ jar 'javax.servlet:javax.servlet-api', '3.0.1'
data/README.md CHANGED
@@ -0,0 +1,5 @@
1
+ killbill-payment-test-plugin
2
+ ==============================
3
+
4
+ Plugin to use test Killbill PaymentPluginAPI
5
+
data/Rakefile CHANGED
@@ -1,37 +1,17 @@
1
- begin
2
- require 'bundler/setup'
3
- rescue LoadError
4
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
- end
6
-
7
- require 'rdoc/task'
8
-
9
- RDoc::Task.new(:rdoc) do |rdoc|
10
- rdoc.rdoc_dir = 'rdoc'
11
- rdoc.title = 'PaymentTest'
12
- rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.rdoc')
14
- rdoc.rdoc_files.include('lib/**/*.rb')
15
- end
16
-
17
- APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
18
- load 'rails/tasks/engine.rake'
19
-
20
-
21
- load 'rails/tasks/statistics.rake'
22
-
23
-
1
+ #!/usr/bin/env rake
24
2
 
3
+ # Install tasks to build and release the plugin
4
+ require 'bundler/setup'
25
5
  Bundler::GemHelper.install_tasks
26
6
 
27
- require 'rake/testtask'
28
-
29
- Rake::TestTask.new(:test) do |t|
30
- t.libs << 'lib'
31
- t.libs << 'test'
32
- t.pattern = 'test/**/*_test.rb'
33
- t.verbose = false
34
- end
7
+ # Install test tasks
8
+ require 'rspec/core/rake_task'
9
+ desc "Run RSpec"
10
+ RSpec::Core::RakeTask.new
35
11
 
12
+ # Install tasks to package the plugin for Killbill
13
+ require 'killbill/rake_task'
14
+ Killbill::PluginHelper.install_tasks
36
15
 
37
- task default: :test
16
+ # Run tests by default
17
+ task :default => :spec
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -0,0 +1,32 @@
1
+ version = File.read(File.expand_path('../VERSION', __FILE__)).strip
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = 'killbill-payment-test'
5
+ s.version = version
6
+ s.summary = 'Plugin to test payment plugin api'
7
+ s.description = 'Killbill Plugin to test payment plugin api'
8
+
9
+ s.required_ruby_version = '>= 1.9.3'
10
+
11
+ s.license = 'Apache License (2.0)'
12
+
13
+ s.author = 'Killbill core team'
14
+ s.email = 'killbilling-users@googlegroups.com'
15
+ s.homepage = 'http://www.killbilling.org'
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.bindir = 'bin'
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ s.require_paths = ["lib"]
22
+
23
+ s.rdoc_options << '--exclude' << '.'
24
+
25
+ s.add_dependency 'killbill', '~> 1.0.1'
26
+ s.add_dependency 'activemerchant', '~> 1.29.3'
27
+ s.add_dependency 'sinatra', '~> 1.3.4'
28
+
29
+ s.add_development_dependency 'jbundler', '~> 0.4.1'
30
+ s.add_development_dependency 'rake', '>= 10.0.0'
31
+ s.add_development_dependency 'rspec', '~> 2.12.0'
32
+ end
@@ -0,0 +1,3 @@
1
+ mainClass=PaymentTest::PaymentPlugin
2
+ require=payment_test
3
+ pluginType=PAYMENT
@@ -0,0 +1,92 @@
1
+ require 'date'
2
+
3
+ require 'killbill/payment'
4
+
5
+ module PaymentTest
6
+ class PaymentPlugin < Killbill::Plugin::Payment
7
+
8
+ def start_plugin
9
+ super
10
+ end
11
+
12
+ def initialize(*args)
13
+ @raise_exception = false
14
+ end
15
+
16
+ def get_name
17
+ end
18
+
19
+ def charge(kb_payment_id, kb_payment_method_id, amount_in_cents, options = {})
20
+ if @raise_exception
21
+ raise StandardError.new("Test exception")
22
+ else
23
+ Killbill::Plugin::PaymentResponse.new(amount_in_cents, DateTime.now, DateTime.now, Killbill::Plugin::PaymentStatus::SUCCESS, "gateway_error", "gateway_error_code")
24
+ end
25
+ end
26
+
27
+ def get_payment_info(kb_payment_id, options = {})
28
+ if @raise_exception
29
+ raise StandardError.new("Test exception")
30
+ else
31
+ Killbill::Plugin::PaymentResponse.new(0, DateTime.now, DateTime.now, Killbill::Plugin::PaymentStatus::SUCCESS, "gateway_error", "gateway_error_code")
32
+ end
33
+ end
34
+
35
+ def refund(kb_payment_id, amount_in_cents, options = {})
36
+ if @raise_exception
37
+ raise StandardError.new("Test exception")
38
+ else
39
+ Killbill::Plugin::RefundResponse.new(amount_in_cents, DateTime.now, DateTime.now, Killbill::Plugin::PaymentStatus::SUCCESS, "gateway_error", "gateway_error_code")
40
+ end
41
+ end
42
+
43
+ def add_payment_method(kb_account_id, kb_payment_method_id, payment_method_props, set_default, options = {})
44
+ if @raise_exception
45
+ raise StandardError.new("Test exception")
46
+ end
47
+ end
48
+
49
+ def delete_payment_method(kb_payment_method_id, options = {})
50
+ if @raise_exception
51
+ raise StandardError.new("Test exception")
52
+ end
53
+ end
54
+
55
+ def get_payment_method_detail(kb_account_id, kb_payment_method_id, options = {})
56
+ if @raise_exception
57
+ raise StandardError.new("Test exception")
58
+ else
59
+ Killbill::Plugin::PaymentMethodResponse.new("foo", true, [])
60
+ end
61
+ end
62
+
63
+ def set_default_payment_method(kb_payment_method_id, options = {})
64
+ if @raise_exception
65
+ raise StandardError.new("Test exception")
66
+ end
67
+ end
68
+
69
+ def get_payment_methods(kb_account_id, options = {})
70
+ if @raise_exception
71
+ raise StandardError.new("Test exception")
72
+ else
73
+ [Killbill::Plugin::PaymentMethodResponseInternal.new(kb_account_id, kb_account_id, true, "external_payment_method_id")]
74
+ end
75
+ end
76
+
77
+ def reset_payment_methods(payment_methods)
78
+ if @raise_exception
79
+ raise StandardError.new("Test exception")
80
+ end
81
+ end
82
+
83
+ def raise_exception_on_next_calls
84
+ @raise_exception = true
85
+ end
86
+
87
+ def clear_exception_on_next_calls
88
+ @raise_exception = false
89
+ end
90
+
91
+ end
92
+ end
data/lib/payment_test.rb CHANGED
@@ -1,23 +1 @@
1
- require "payment_test/engine"
2
-
3
- module PaymentTest
4
-
5
- mattr_accessor :current_tenant_user
6
- mattr_accessor :layout
7
-
8
- self.current_tenant_user = lambda { |session, user|
9
- {
10
- :username => 'admin',
11
- :password => 'password',
12
- :session_id => nil,
13
- :api_key => KillBillClient.api_key,
14
- :api_secret => KillBillClient.api_secret
15
- }
16
- }
17
-
18
- def self.config(&block)
19
- {
20
- :layout => layout || 'payment_test/layouts/payment_test_application',
21
- }
22
- end
23
- end
1
+ require 'payment_test/api'
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+ require 'logger'
3
+ require 'tempfile'
4
+
5
+ require 'payment_test'
6
+
7
+ describe PaymentTest::PaymentPlugin do
8
+ before(:each) do
9
+ @plugin = PaymentTest::PaymentPlugin.new
10
+ @plugin.logger = Logger.new(STDOUT)
11
+ @kb_payment_id = "9f73c8e9-188a-4603-a3ba-2ce684411fb9"
12
+ @kb_payment_method_id = "b1396a76-b210-4690-a61e-e94c911a2a09"
13
+ @amount_in_cents = 100
14
+ end
15
+
16
+ it "should start and stop correctly" do
17
+ @plugin.start_plugin
18
+ @plugin.stop_plugin
19
+ end
20
+
21
+ it "should should test charge " do
22
+
23
+ output = @plugin.charge(@kb_payment_id, @kb_payment_method_id, @amount_in_cents)
24
+
25
+ output.should be_an_instance_of Killbill::Plugin::PaymentResponse
26
+ output.amount_in_cents.should == @amount_in_cents
27
+ output.status.should == Killbill::Plugin::PaymentStatus::SUCCESS
28
+ end
29
+
30
+ end
@@ -0,0 +1,15 @@
1
+ require 'bundler'
2
+
3
+ require 'rspec'
4
+
5
+ RSpec.configure do |config|
6
+ config.color_enabled = true
7
+ config.tty = true
8
+ config.formatter = 'documentation'
9
+ end
10
+
11
+ class Object
12
+ def blank?
13
+ respond_to?(:empty?) ? empty? : !self
14
+ end
15
+ end