killbill-invoice-test 0.0.1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 82d0509829e577cbfbd6c4401e163dff33bf1e17
4
+ data.tar.gz: b6301771772e158094e2dd8ac59a58c0e962a8ca
5
+ SHA512:
6
+ metadata.gz: b7ab718467e72483c7bfacc4738d8a29b534399145b6deebfe70e5c7909b20869a2e66b983a076241883de7e209dc4978e1605034d7b77cab510a396fbe18990
7
+ data.tar.gz: 082962826a8c3a170ea286bf119dda3c4d06cba43b420a0a18a1cd431e6f132f8943dab2cfa109b42427a24aded00d23dc2b0fb1980947115425cd1b320d128c
@@ -0,0 +1,28 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .idea
6
+ coverage
7
+ InstalledFiles
8
+ lib/bundler/man
9
+ pkg
10
+ rdoc
11
+ spec/reports
12
+ test/tmp
13
+ test/version_tmp
14
+ tmp
15
+ build
16
+ # YARD artifacts
17
+ .yardoc
18
+ _yardoc
19
+ doc/
20
+
21
+ .jbundler
22
+ Jarfile.lock
23
+ Gemfile.lock
24
+ *.swp
25
+ killbill-invoice-test
26
+
27
+ .DS_Store
28
+ pom.xml.asc
@@ -0,0 +1,19 @@
1
+ language: ruby
2
+
3
+ notifications:
4
+ email:
5
+ - kill-bill-commits@googlegroups.com
6
+
7
+ rvm:
8
+ - jruby-19mode
9
+ - jruby-20mode
10
+ - jruby-head
11
+
12
+ jdk:
13
+ - openjdk6
14
+ - openjdk7
15
+ - oraclejdk7
16
+
17
+ matrix:
18
+ allow_failures:
19
+ - rvm: jruby-head
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,8 @@
1
+ jar 'org.kill-bill.billing:killbill-api', '0.10.3'
2
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-notification', '0.8.2'
3
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-payment', '0.8.2'
4
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-currency', '0.8.2'
5
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-retry', '0.8.1'
6
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-invoice', '0.8.2'
7
+ jar 'org.kill-bill.billing:killbill-util:tests', '0.12.1'
8
+ jar 'javax.servlet:javax.servlet-api', '3.0.1'
@@ -0,0 +1,6 @@
1
+ killbill-invoice-test-plugin
2
+ ==============================
3
+
4
+ Plugin to test the Kill Bill InvoicePlugin API.
5
+
6
+ Release builds are available on [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.kill-bill.billing.plugin.ruby%22%20AND%20a%3A%22invoice-test-plugin%22) with coordinates `org.kill-bill.billing.plugin.ruby:invoice-test-plugin`.
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env rake
2
+
3
+ # Install tasks to build and release the plugin
4
+ require 'bundler/setup'
5
+ Bundler::GemHelper.install_tasks
6
+
7
+ # Install test tasks
8
+ require 'rspec/core/rake_task'
9
+ desc "Run RSpec"
10
+ RSpec::Core::RakeTask.new
11
+
12
+ # Install tasks to package the plugin for Killbill
13
+ require 'killbill/rake_task'
14
+ Killbill::PluginHelper.install_tasks
15
+
16
+ # Run tests by default
17
+ task :default => :spec
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1,30 @@
1
+ version = File.read(File.expand_path('../VERSION', __FILE__)).strip
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = 'killbill-invoice-test'
5
+ s.version = version
6
+ s.summary = 'Plugin to test the invoice plugin api.'
7
+ s.description = 'Kill Bill Plugin to test the invoice plugin api.'
8
+
9
+ s.required_ruby_version = '>= 1.9.3'
10
+
11
+ s.license = 'Apache License (2.0)'
12
+
13
+ s.author = 'Kill Bill core team'
14
+ s.email = 'killbilling-users@googlegroups.com'
15
+ s.homepage = 'http://killbill.io'
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', '~> 3.2.2'
26
+
27
+ s.add_development_dependency 'jbundler', '~> 0.4.1'
28
+ s.add_development_dependency 'rake', '>= 10.0.0'
29
+ s.add_development_dependency 'rspec', '~> 2.12.0'
30
+ end
@@ -0,0 +1,3 @@
1
+ mainClass=InvoiceTest::InvoicePlugin
2
+ require=invoice_test
3
+ pluginType=INVOICE
@@ -0,0 +1,2 @@
1
+ require 'killbill'
2
+ require 'invoice_test/api'
@@ -0,0 +1,14 @@
1
+ module InvoiceTest
2
+
3
+ class InvoicePlugin < Killbill::Plugin::Invoice
4
+
5
+ def get_additional_invoice_items(invoice, properties, context)
6
+ additional_items = []
7
+ invoice.invoice_items.each do |original_item|
8
+ additional_items << build_item(original_item, original_item.amount * 7 / 100, 'Tax item', :TAX) unless original_item.amount == 0
9
+ end
10
+
11
+ additional_items
12
+ end
13
+ end
14
+ end
data/pom.xml ADDED
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ ~ Copyright 2010-2013 Ning, Inc.
4
+ ~ Copyright 2014-2015 Groupon, Inc
5
+ ~ Copyright 2014-2015 The Billing Project, LLC
6
+ ~
7
+ ~ The Billing Project licenses this file to you under the Apache License, version 2.0
8
+ ~ (the "License"); you may not use this file except in compliance with the
9
+ ~ License. You may obtain a copy of the License at:
10
+ ~
11
+ ~ http://www.apache.org/licenses/LICENSE-2.0
12
+ ~
13
+ ~ Unless required by applicable law or agreed to in writing, software
14
+ ~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15
+ ~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
16
+ ~ License for the specific language governing permissions and limitations
17
+ ~ under the License.
18
+ -->
19
+
20
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
21
+ <parent>
22
+ <groupId>org.sonatype.oss</groupId>
23
+ <artifactId>oss-parent</artifactId>
24
+ <version>5</version>
25
+ </parent>
26
+ <modelVersion>4.0.0</modelVersion>
27
+ <groupId>org.kill-bill.billing.plugin.ruby</groupId>
28
+ <artifactId>invoice-test-plugin</artifactId>
29
+ <packaging>pom</packaging>
30
+ <version>0.0.1</version>
31
+ <name>invoice-test-plugin</name>
32
+ <description></description>
33
+ <scm>
34
+ <connection>scm:git:git://github.com/killbill/killbill-invoice-test-plugin.git</connection>
35
+ <url>https://github.com/killbill/killbill-invoice-test-plugin/</url>
36
+ <developerConnection>scm:git:git@github.com:killbill/killbill-invoice-test-plugin.git</developerConnection>
37
+ </scm>
38
+ </project>
@@ -0,0 +1,41 @@
1
+ set -e
2
+
3
+ if [ "GNU" != "$(tar --help | grep GNU | head -1 | awk '{print $1}')" ]; then
4
+ echo "Unable to release: make sure to use GNU tar"
5
+ exit 1
6
+ fi
7
+
8
+ if $(ruby -e'require "java"'); then
9
+ # Good
10
+ echo "Detected JRuby"
11
+ else
12
+ echo "Unable to release: make sure to use JRuby"
13
+ exit 1
14
+ fi
15
+
16
+ VERSION=`grep -E '<version>([0-9]+\.[0-9]+\.[0-9]+)</version>' pom.xml | sed 's/[\t \n]*<version>\(.*\)<\/version>[\t \n]*/\1/'`
17
+ if [ "$VERSION" != "$(cat $PWD/VERSION)" ]; then
18
+ echo "Unable to release: make sure the versions in pom.xml and VERSION match"
19
+ exit 1
20
+ fi
21
+
22
+ echo "Cleaning up"
23
+ rake killbill:clean ; rake build
24
+
25
+ echo "Pushing the gem to Rubygems"
26
+ rake release
27
+
28
+ echo "Building artifact"
29
+ rake killbill:package
30
+
31
+ ARTIFACT="$PWD/pkg/killbill-invoice-test-$VERSION.tar.gz"
32
+ echo "Pushing $ARTIFACT to Maven Central"
33
+ mvn gpg:sign-and-deploy-file \
34
+ -DgroupId=org.kill-bill.billing.plugin.ruby \
35
+ -DartifactId=invoice-test-plugin \
36
+ -Dversion=$VERSION \
37
+ -Dpackaging=tar.gz \
38
+ -DrepositoryId=ossrh-releases \
39
+ -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ \
40
+ -Dfile=$ARTIFACT \
41
+ -DpomFile=pom.xml
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+ require 'logger'
3
+
4
+ describe InvoiceTest::InvoicePlugin do
5
+ before(:each) do
6
+
7
+ kb_apis = Killbill::Plugin::KillbillApi.new('killbill-invoice-test', {})
8
+ @plugin = InvoiceTest::InvoicePlugin.new
9
+ @plugin.logger = Logger.new(STDOUT)
10
+ @plugin.kb_apis = kb_apis
11
+
12
+ @properties = []
13
+ @call_context = nil
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 add additional item' do
22
+ item = Killbill::Plugin::Model::InvoiceItem.new
23
+ item.id = SecureRandom.uuid
24
+ item.amount = 100
25
+
26
+ invoice = Killbill::Plugin::Model::Invoice.new
27
+ invoice.id = SecureRandom.uuid
28
+ invoice.invoice_items = [item]
29
+
30
+ new_items = @plugin.get_additional_invoice_items(invoice, @properties, @call_context)
31
+ new_items.size.should == 1
32
+
33
+ new_item = new_items.first
34
+ new_item.should be_an_instance_of Killbill::Plugin::Model::InvoiceItem
35
+ new_item.amount.should == 7
36
+ new_item.invoice_item_type.should == :TAX
37
+ new_item.linked_item_id.should == item.id
38
+ end
39
+ end
@@ -0,0 +1,10 @@
1
+ require 'bundler'
2
+ require 'rspec'
3
+
4
+ require 'invoice_test'
5
+
6
+ RSpec.configure do |config|
7
+ config.color_enabled = true
8
+ config.tty = true
9
+ config.formatter = 'documentation'
10
+ end
metadata ADDED
@@ -0,0 +1,118 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: killbill-invoice-test
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Kill Bill core team
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: killbill
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.2
20
+ requirement: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ~>
23
+ - !ruby/object:Gem::Version
24
+ version: 3.2.2
25
+ prerelease: false
26
+ type: :runtime
27
+ - !ruby/object:Gem::Dependency
28
+ name: jbundler
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.4.1
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: 0.4.1
39
+ prerelease: false
40
+ type: :development
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 10.0.0
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - '>='
51
+ - !ruby/object:Gem::Version
52
+ version: 10.0.0
53
+ prerelease: false
54
+ type: :development
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 2.12.0
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: 2.12.0
67
+ prerelease: false
68
+ type: :development
69
+ description: Kill Bill Plugin to test the invoice plugin api.
70
+ email: killbilling-users@googlegroups.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - .gitignore
76
+ - .travis.yml
77
+ - Gemfile
78
+ - Jarfile
79
+ - README.md
80
+ - Rakefile
81
+ - VERSION
82
+ - killbill-invoice-test.gemspec
83
+ - killbill.properties
84
+ - lib/invoice_test.rb
85
+ - lib/invoice_test/api.rb
86
+ - pom.xml
87
+ - release.sh
88
+ - spec/invoice_test/base_plugin_spec.rb
89
+ - spec/spec_helper.rb
90
+ homepage: http://killbill.io
91
+ licenses:
92
+ - Apache License (2.0)
93
+ metadata: {}
94
+ post_install_message:
95
+ rdoc_options:
96
+ - --exclude
97
+ - .
98
+ require_paths:
99
+ - lib
100
+ required_ruby_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - '>='
103
+ - !ruby/object:Gem::Version
104
+ version: 1.9.3
105
+ required_rubygems_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ requirements: []
111
+ rubyforge_project:
112
+ rubygems_version: 2.2.2
113
+ signing_key:
114
+ specification_version: 4
115
+ summary: Plugin to test the invoice plugin api.
116
+ test_files:
117
+ - spec/invoice_test/base_plugin_spec.rb
118
+ - spec/spec_helper.rb