killbill-notification-test 1.9.1 → 1.9.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 95cd868a5ca6bc75ce0d72d30b05e84fb9864c63
4
- data.tar.gz: 17a2d54a9fbca47c303b4bb76730f2b445305fa5
3
+ metadata.gz: b0db53e3909623cdf3274547e58608289005d1d5
4
+ data.tar.gz: 22b6a208a5a0804e834143c7e455f084d1677fce
5
5
  SHA512:
6
- metadata.gz: 42890700aa8e022138dd3928be0dc6f0af02258d8f7cb9c7705abeb4d86246d9ac85e706272f3e05f209998311967d6853fec7ee521cb1bc9e3255eb64ee56b7
7
- data.tar.gz: 92d7c5baeb5150e70ae4384f844f89177029eb6678359ae2e46133b3d0b8898eeb7ee621a06078565a875acca4c2499966ef883e4f7cff54001d58b1318e63fa
6
+ metadata.gz: c84fe0b6dc580e16b69b765224b5cbcafb687a11c2bc6a0b61cde2c248054bb93b70601681b6ac207c42b91fccc0d6ff30d9b45d129129f564ce5396006cc213
7
+ data.tar.gz: 7d3b00f30338ca4bbd18201f492537563e7dbb5451b26de74822c471008e5dcdc220fa1489b9afe5e0eb4086b4c6648375e1f19ce67dffc6133db35cb8081791
data/Jarfile CHANGED
@@ -1,6 +1,8 @@
1
- jar 'org.kill-bill.billing:killbill-api', '0.9.5'
2
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-notification', '0.7.2'
3
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-payment', '0.7.2'
4
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-currency', '0.7.2'
5
- jar 'org.kill-bill.billing:killbill-util:tests', '0.11.2'
1
+ jar 'org.kill-bill.billing:killbill-api', '0.9.6'
2
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-notification', '0.7.4'
3
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-payment', '0.7.4'
4
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-currency', '0.7.4'
5
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-retry', '0.7.4'
6
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-invoice', '0.7.4'
7
+ jar 'org.kill-bill.billing:killbill-util:tests', '0.11.3'
6
8
  jar 'javax.servlet:javax.servlet-api', '3.0.1'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.9.1
1
+ 1.9.2
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
 
23
23
  s.rdoc_options << '--exclude' << '.'
24
24
 
25
- s.add_dependency 'killbill', '~> 3.1.1'
25
+ s.add_dependency 'killbill', '~> 3.1.4'
26
26
 
27
27
  s.add_development_dependency 'jbundler', '~> 0.4.1'
28
28
  s.add_development_dependency 'rake', '>= 10.0.0'
@@ -1,86 +1,26 @@
1
- require 'date'
2
-
3
- require 'killbill'
4
- require 'killbill/notification'
5
-
6
- =begin
7
- class Killbill::Plugin::Model::ExtBusEvent
8
- def to_s
9
- "type = #{@event_type}, object_type = #{@object_type} : object_id = #{@object_id}, account_id = #{@account_id}, tenant_id = #{@tenant_id}"
10
- end
11
- end
12
- =end
13
-
14
-
15
1
  module NotificationTest
16
2
  class NotificationPlugin < Killbill::Plugin::Notification
17
3
 
18
-
19
- def start_plugin
20
- super
21
- end
22
-
23
- def initialize(*args)
24
- super(*args)
25
- @tag_definition = nil
26
- end
27
-
28
4
  def on_event(event)
29
-
30
- print "ENTER #{event.to_s}, class = #{event.class}"
31
-
32
5
  if event.event_type == :ACCOUNT_CREATION
33
- #
34
- # Retrieve account and update email
35
- #
36
- print "before get_account_by_id..."
37
- account = @kb_apis.account_user_api.get_account_by_id(event.object_id, @kb_apis.create_context)
38
-
39
- print "before update account..."
40
- updated_account = Killbill::Plugin::Model::Account.new
41
- updated_account.id=account.id
42
- updated_account.email="plugintest@plugin.com"
43
- @kb_apis.account_user_api.update_account(updated_account, @kb_apis.create_context)
44
-
45
- print "before tag definition creation..."
46
- @tag_definition = @kb_apis.tag_user_api.create_tag_definition("NotificationPlugin", "Tag for test NotificationTest", @kb_apis.create_context)
47
-
48
- print "before tag creation... #{@tag_definition.inspect}"
49
- @kb_apis.tag_user_api.add_tag(event.account_id, :ACCOUNT, @tag_definition.id, @kb_apis.create_context)
50
-
6
+ write_event :TAG_CREATION, :ACCOUNT, event.object_id, event.account_id, event.tenant_id
51
7
  elsif event.event_type == :ACCOUNT_CHANGE
52
-
53
- #
54
- # Verify new email
55
- #
56
- print "before get_account_by_id..."
57
- account = @kb_apis.account_user_api.get_account_by_id(event.object_id, @kb_apis.create_context)
58
- validate(account.email, "plugintest@plugin.com")
59
-
60
-
61
- elsif event.event_type == :SUBSCRIPTION_CREATION
62
- elsif event.event_type == :INVOICE_CREATION
63
- elsif event.event_type == :SUBSCRIPTION_CANCEL
64
- elsif event.event_type == :PAYMENT_SUCCESS
65
- elsif event.event_type == :TAG_CREATION
66
-
67
- print "before getTagsForAccount.."
68
- tags = @kb_apis.tag_user_api.get_tags_for_account(event.account_id, @kb_apis.create_context)
69
- validate(tags.size, 1)
70
- validate(tags.get(0).tag_definition_id, @tag_definition)
8
+ write_event :TAG_DELETION, :ACCOUNT, event.object_id, event.account_id, event.tenant_id
9
+ else
10
+ @logger.warn "Unexpected event type #{event.event_type} for object #{event.object_type}"
11
+ # Error: unexpected event. Notify the test by sending a bogus event
12
+ write_event :SUBSCRIPTION_UNCANCEL, :SUBSCRIPTION, 'f2e50cd0-faec-11e3-a3ac-0800200c9a66', 'f2e50cd0-faec-11e3-a3ac-0800200c9a66', 'f2e50cd0-faec-11e3-a3ac-0800200c9a66'
71
13
  end
72
-
73
- print "EXIT #{event.to_s}"
74
-
75
14
  end
76
15
 
77
- def validate(value, expected)
78
- print "VALIDATION Got #{value} : expected #{expected}"
79
- end
16
+ private
17
+
18
+ def write_event(event_type, object_type, object_id, account_id, tenant_id)
19
+ file_name = "/var/tmp/killbill-notification-test.txt"
20
+ content = "#{event_type}-#{object_type}-#{object_id}-#{account_id}-#{tenant_id}"
80
21
 
81
- def print(msg)
82
- puts "******************************************* NotificationTestPlugin #{msg}"
83
- $stdout.flush
22
+ # Append the content to make sure we fail in case we receive multiple events
23
+ File.open(file_name, 'a') { |f| f.puts content }
84
24
  end
85
25
  end
86
26
  end
@@ -1,2 +1,2 @@
1
-
1
+ require 'killbill'
2
2
  require 'notification_test/api'
data/pom.xml CHANGED
@@ -1,6 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!--
3
3
  ~ Copyright 2010-2013 Ning, Inc.
4
+ ~ Copyright 2014 Groupon, Inc
5
+ ~ Copyright 2014 The Billing Project, LLC
4
6
  ~
5
7
  ~ Ning licenses this file to you under the Apache License, version 2.0
6
8
  ~ (the "License"); you may not use this file except in compliance with the
@@ -25,7 +27,7 @@
25
27
  <groupId>org.kill-bill.billing.plugin.ruby</groupId>
26
28
  <artifactId>notification-test-plugin</artifactId>
27
29
  <packaging>pom</packaging>
28
- <version>1.9.1</version>
30
+ <version>1.9.2</version>
29
31
  <name>notification-test-plugin</name>
30
32
  <description></description>
31
33
  <scm>
@@ -1,56 +1,23 @@
1
1
  require 'spec_helper'
2
2
  require 'logger'
3
- require 'tempfile'
4
3
 
5
4
  require 'notification_test'
6
5
 
7
- class FakeJavaUserAccountApi
8
- # Returns an account where we specify the currency for the report group
9
- def get_account_by_id(id, context)
10
- account = Killbill::Plugin::Model::Account.new
11
- account.id=id
12
- account
13
- end
14
-
15
- def update_account(updated_account, context)
16
- end
17
- end
18
-
19
- class FakeTagUserApi
20
- def add_tag(account_id, object_type, tag_definition_id, context)
21
- end
22
-
23
- def create_tag_definition(type, desc, context)
24
- end
25
-
26
- def get_tags_for_account(account_id, context)
27
- end
28
-
29
- end
30
-
31
-
32
6
  describe NotificationTest::NotificationPlugin do
33
- before(:each) do
34
7
 
35
- svcs = {:account_user_api => FakeJavaUserAccountApi.new,
36
- :tag_user_api => FakeTagUserApi.new }
37
-
38
- kb_apis = Killbill::Plugin::KillbillApi.new("foo", svcs)
8
+ before(:each) do
9
+ kb_apis = Killbill::Plugin::KillbillApi.new("killbill-notification-test", {})
39
10
 
40
- @plugin = NotificationTest::NotificationPlugin.new
41
- @plugin.logger = Logger.new(STDOUT)
11
+ @plugin = NotificationTest::NotificationPlugin.new
12
+ @plugin.logger = Logger.new(STDOUT)
42
13
  @plugin.kb_apis = kb_apis
43
14
 
44
- account_id = "a86ed6d4-c0bd-4a44-b49a-5ec29c3b314a"
45
- object_id = "9f73c8e9-188a-4603-a3ba-2ce684411fb9"
46
- event_type = "INVOICE_CREATION"
47
- object_type = "INVOICE"
48
- tenant_id = "b86fd6d4-c0bd-4a44-b49a-5ec29c3b3765"
49
- @kb_event = Killbill::Plugin::Model::ExtBusEvent.new
50
- @kb_event.event_type=event_type
51
- @kb_event.object_type=object_type
52
- @kb_event.account_id=account_id
53
- @kb_event.tenant_id=tenant_id
15
+ @kb_event = Killbill::Plugin::Model::ExtBusEvent.new
16
+ @kb_event.event_type = :INVOICE_CREATION
17
+ @kb_event.object_type = :INVOICE
18
+ @kb_event.object_id = "9f73c8e9-188a-4603-a3ba-2ce684411fb9"
19
+ @kb_event.account_id = "a86ed6d4-c0bd-4a44-b49a-5ec29c3b314a"
20
+ @kb_event.tenant_id = "b86fd6d4-c0bd-4a44-b49a-5ec29c3b3765"
54
21
  end
55
22
 
56
23
  it "should start and stop correctly" do
@@ -58,8 +25,13 @@ describe NotificationTest::NotificationPlugin do
58
25
  @plugin.stop_plugin
59
26
  end
60
27
 
61
- it "should should test charge" do
28
+ it "should should test receiving an event" do
29
+ file_name = '/var/tmp/killbill-notification-test.txt'
30
+
62
31
  output = @plugin.on_event(@kb_event)
63
- end
32
+ output.should be_nil
64
33
 
34
+ File.file?(file_name).should be_true
35
+ File.delete file_name
36
+ end
65
37
  end
data/spec/spec_helper.rb CHANGED
@@ -8,9 +8,3 @@ RSpec.configure do |config|
8
8
  config.tty = true
9
9
  config.formatter = 'documentation'
10
10
  end
11
-
12
- class Object
13
- def blank?
14
- respond_to?(:empty?) ? empty? : !self
15
- end
16
- end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: killbill-notification-test
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.1
4
+ version: 1.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Killbill core team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-28 00:00:00.000000000 Z
11
+ date: 2014-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: killbill
@@ -16,12 +16,12 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 3.1.1
19
+ version: 3.1.4
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - ~>
23
23
  - !ruby/object:Gem::Version
24
- version: 3.1.1
24
+ version: 3.1.4
25
25
  prerelease: false
26
26
  type: :runtime
27
27
  - !ruby/object:Gem::Dependency