dopis_online_client 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ rdoc/
6
+ coverage/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in dopis_online_client.gemspec
4
+ gemspec
data/README.rdoc CHANGED
@@ -8,8 +8,8 @@ Vice informaci na https://online.postservis.cz/Download/DopisOnline/DopisOnline.
8
8
 
9
9
  require 'lib/dopis_online_client'
10
10
 
11
- DopisOnlineClient::Request.base_uri 'http://localhost:8000'
12
- DopisOnlineClient::Request.auth('jmeno','heslo')
11
+ DopisOnlineClient.base_uri 'https://online.postservis.cz/cmdedopis'
12
+ DopisOnlineClient.auth('jmeno','heslo')
13
13
 
14
14
  DopisOnlineClient::Request.send(
15
15
  :pdf_file_path=>"letter.pdf"
data/Rakefile CHANGED
@@ -1,65 +1,53 @@
1
- require 'rubygems'
2
- require 'rake'
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
3
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "dopis_online_client"
8
- gem.summary = %Q{Dopis Online Client Library}
9
- gem.email = "jiri.kubicek@kraxnet.cz"
10
- gem.homepage = "http://github.com/kraxnet/dopis_online_client"
11
- gem.authors = ["Jiri Kubicek"]
12
- gem.description = "Klientská knihovna pro práci se službou Dopis Online České pošty"
13
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
14
- end
15
-
16
- rescue LoadError
17
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
18
- end
4
+ task :default => :test
19
5
 
20
6
  require 'rake/testtask'
21
7
  Rake::TestTask.new(:test) do |test|
22
8
  test.libs << 'lib' << 'test'
23
- test.pattern = 'test/**/*_test.rb'
9
+ test.test_files = FileList['test/unit/*_test.rb', 'test/integration/*_test.rb']
24
10
  test.verbose = true
11
+ # test.warning = true
25
12
  end
26
13
 
27
- begin
28
- require 'rcov/rcovtask'
29
- Rcov::RcovTask.new do |test|
30
- test.libs << 'test'
31
- test.pattern = 'test/**/*_test.rb'
14
+ namespace :test do
15
+ Rake::TestTask.new(:unit) do |test|
16
+ test.libs << 'lib' << 'test'
17
+ test.pattern = 'test/unit/*_test.rb'
32
18
  test.verbose = true
33
19
  end
34
- rescue LoadError
35
- task :rcov do
36
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
20
+ Rake::TestTask.new(:integration) do |test|
21
+ test.libs << 'lib' << 'test'
22
+ test.pattern = 'test/integration/*_test.rb'
23
+ test.verbose = true
37
24
  end
38
25
  end
39
26
 
27
+ # Generate documentation
40
28
  begin
41
- require 'cucumber/rake/task'
42
- Cucumber::Rake::Task.new(:features)
29
+ require 'sdoc'
43
30
  rescue LoadError
44
- task :features do
45
- abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
46
- end
47
31
  end
48
-
49
- task :default => :test
50
-
51
32
  require 'rake/rdoctask'
52
33
  Rake::RDocTask.new do |rdoc|
53
- if File.exist?('VERSION.yml')
54
- config = YAML.load(File.read('VERSION.yml'))
55
- version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
56
- else
57
- version = ""
58
- end
59
-
60
34
  rdoc.rdoc_dir = 'rdoc'
61
- rdoc.title = "frest_client #{version}"
62
- rdoc.rdoc_files.include('README*')
35
+ rdoc.title = "Tire"
36
+ rdoc.rdoc_files.include('README.rdoc')
63
37
  rdoc.rdoc_files.include('lib/**/*.rb')
64
38
  end
65
39
 
40
+ # Generate coverage reports
41
+ begin
42
+ require 'rcov/rcovtask'
43
+ Rcov::RcovTask.new do |test|
44
+ test.libs << 'test'
45
+ test.rcov_opts = ['--exclude', 'gems/*']
46
+ test.pattern = 'test/**/*_test.rb'
47
+ test.verbose = true
48
+ end
49
+ rescue LoadError
50
+ task :rcov do
51
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install rcov"
52
+ end
53
+ end
@@ -0,0 +1,36 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "dopis_online_client/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "dopis_online_client"
7
+ s.version = DopisOnlineClient::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Jiri Kubicek"]
10
+ s.email = ["jiri.kubicek@kraxnet.cz"]
11
+ s.homepage = "http://github.com/kraxnet/dopis_online_client"
12
+ s.summary = %q{Dopis Online Client Library}
13
+ s.description = %q{Klientská knihovna pro práci se službou Dopis Online České pošty}
14
+
15
+ s.rubyforge_project = "dopis_online_client"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+
22
+ s.extra_rdoc_files = [ "README.rdoc", "LICENSE" ]
23
+ s.rdoc_options = [ "--charset=UTF-8" ]
24
+
25
+ s.required_rubygems_version = ">= 1.3.6"
26
+
27
+ s.add_dependency "rake", "~> 0.8.0"
28
+ s.add_dependency "bundler", "~> 1.0.0"
29
+ s.add_dependency "httmultiparty"
30
+
31
+ s.add_development_dependency "turn"
32
+ s.add_development_dependency "shoulda"
33
+ s.add_development_dependency "sdoc"
34
+ s.add_development_dependency "rcov"
35
+ s.add_development_dependency "fakeweb"
36
+ end
@@ -1,33 +1,30 @@
1
- require 'httpclient'
2
-
3
1
  module DopisOnlineClient
4
2
  class Request
5
-
3
+
4
+ include HTTMultiParty
5
+
6
6
  attr_reader :username, :password, :color, :postage_type, :payment_type, :response_format, :pdf_file
7
7
 
8
8
  def initialize(params)
9
- @username = params[:username]
10
- @password = params[:password]
11
9
  @color = params[:color] || 0 # cernobile
12
10
  @postage_type = params[:postage_type] || 66 # obycejne
13
11
  @payment_type = params[:payment_type] || 0 # fakturou
14
12
  @format = params[:format] || :xml
15
13
  @pdf_file_path = params[:pdf_file_path]
14
+ self.class.base_uri DopisOnlineClient.base_uri
16
15
  end
17
16
 
18
17
  def deliver
19
- client = HTTPClient.new
20
- client.ssl_config.verify_mode=OpenSSL::SSL::VERIFY_NONE
21
- response = client.post @@base_uri, {
22
- :user => @@username,
23
- :passwd => @@password,
18
+ response = self.class.post '/dopisonline.php', :body => {
19
+ :user => DopisOnlineClient.username,
20
+ :passwd => DopisOnlineClient.password,
24
21
  :barvatisku => @color,
25
22
  :typvyplatneho => @postage_type,
26
23
  :typuhrady => @payment_type,
27
24
  :typvystupu => @format.to_s,
28
25
  :soubor => File.new(@pdf_file_path)
29
26
  }
30
- parsed_response = parse_response(response.body.content)
27
+ parsed_response = parse_response(response.body)
31
28
  DopisOnlineClient::Response.new(parsed_response, response.body, response.code)
32
29
  end
33
30
 
@@ -44,15 +41,6 @@ module DopisOnlineClient
44
41
  def self.send(params)
45
42
  @request = new(params).deliver
46
43
  end
47
-
48
- def self.base_uri(uri)
49
- @@base_uri=uri
50
- end
51
-
52
- def self.auth(username, password)
53
- @@username=username
54
- @@password=password
55
- end
56
44
 
57
45
  end
58
46
  end
@@ -13,38 +13,50 @@ module DopisOnlineClient
13
13
  @delegate.send(name, *args, &block)
14
14
  end
15
15
 
16
+ # Byl dopis úspěšně přijat k odeslání?
16
17
  def success?
17
18
  code==200 && !has_key?("chyba") && has_key?("zakazka")
18
19
  end
19
20
 
21
+ # Jméno odeslaného souboru
20
22
  def filename
21
23
  success_result["soubor"]
22
24
  end
23
25
 
26
+ # Počet stránek
24
27
  def pages_count
25
28
  success_result["pocetstranek"].to_i
26
29
  end
27
30
 
31
+ # Kód objednávky
28
32
  def order_code
29
33
  success_result["kodobjednavky"].to_i
30
34
  end
31
35
 
36
+ # Podací číslo
32
37
  def tracking_number
33
38
  success_result["podacicislo"]
34
39
  end
35
40
 
41
+ # Datum podání
36
42
  def posting_date
37
43
  success_result["datumpodani"]
38
44
  end
39
45
 
46
+ # PSČ podací pošty
40
47
  def posting_zip
41
48
  success_result["podaciposta"]
42
49
  end
43
50
 
51
+ # Cena
44
52
  def price
45
53
  success_result["cena"]
46
54
  end
47
55
 
56
+ # Barva tisku
57
+ #
58
+ # * Barevný <tt>true</tt>
59
+ # * černobílý <tt>false</tt>
48
60
  def color
49
61
  success_result["barvatisku"]=="1"
50
62
  end
@@ -53,10 +65,12 @@ module DopisOnlineClient
53
65
  success_result["typvyplatneho"]
54
66
  end
55
67
 
68
+ # Popis chyby
56
69
  def failure_message
57
70
  failure_result["popis"]
58
71
  end
59
72
 
73
+ # Kód chyby
60
74
  def failure_code
61
75
  failure_result["kod"].to_i
62
76
  end
@@ -0,0 +1,27 @@
1
+ module DopisOnlineClient
2
+ class StatusRequest
3
+
4
+ include HTTMultiParty
5
+
6
+ attr_reader :username, :password, :color, :postage_type, :payment_type, :response_format, :pdf_file
7
+
8
+ def initialize(params)
9
+ @format = params[:format] || :xml
10
+ @tracking_number = params[:tracking_number]
11
+ @date = params[:date]
12
+ self.class.base_uri DopisOnlineClient.base_uri
13
+ end
14
+
15
+ def deliver
16
+ response = self.class.post '/eprehledZak.php', :query => {
17
+ :user => DopisOnlineClient.username,
18
+ :passwd => DopisOnlineClient.password,
19
+ :typvystupu => @format,
20
+ :zasilka => @tracking_number,
21
+ :datum => @date
22
+ }
23
+ response.body
24
+ end
25
+
26
+ end
27
+ end
@@ -0,0 +1,3 @@
1
+ module DopisOnlineClient
2
+ VERSION = "0.2.0"
3
+ end
@@ -1,12 +1,27 @@
1
- begin
2
- require 'rubygems'
3
- gem 'crack'
4
- require 'crack'
5
- # raise LoadError, "You must have crack installed"
6
- end
1
+ require 'httmultiparty'
2
+
3
+ require 'dopis_online_client/request'
4
+ require 'dopis_online_client/response'
5
+ require 'dopis_online_client/status_request'
7
6
 
8
7
  module DopisOnlineClient
8
+
9
+ def self.base_uri(path=nil)
10
+ path ? @base_uri = path : @base_uri
11
+ end
12
+
13
+ def self.auth(username, password)
14
+ @username=username
15
+ @password=password
16
+ end
17
+
18
+ def self.username
19
+ @username
20
+ end
21
+
22
+ def self.password
23
+ @password
24
+ end
25
+
9
26
  end
10
27
 
11
- require File.dirname(__FILE__) + '/dopis_online_client/request.rb'
12
- require File.dirname(__FILE__) + '/dopis_online_client/response.rb'
File without changes
@@ -0,0 +1,35 @@
1
+ <dopisonline>
2
+ <zakazka id="20110521067226">
3
+ <podacicislo type="string">neni</podacicislo>
4
+ <pocetstranek type="integer">1</pocetstranek>
5
+ <datumpodani type="datetime">2011-05-21 15:13:57</datumpodani>
6
+ <cena mena="CZK" type="decimal">12.60</cena>
7
+ <barvatisku type="integer">0</barvatisku>
8
+ <platba type="integer">0</platba>
9
+ <typvyplatneho type="integer">66</typvyplatneho>
10
+ <zpracovani type="integer">50</zpracovani>
11
+ <stav type="integer">0</stav>
12
+ </zakazka>
13
+ <zakazka id="20110521067227">
14
+ <podacicislo type="string">neni</podacicislo>
15
+ <pocetstranek type="integer">1</pocetstranek>
16
+ <datumpodani type="datetime">2011-05-21 15:14:25</datumpodani>
17
+ <cena mena="CZK" type="decimal">12.60</cena>
18
+ <barvatisku type="integer">0</barvatisku>
19
+ <platba type="integer">0</platba>
20
+ <typvyplatneho type="integer">66</typvyplatneho>
21
+ <zpracovani type="integer">50</zpracovani>
22
+ <stav type="integer">0</stav>
23
+ </zakazka>
24
+ <zakazka id="20110521067228">
25
+ <podacicislo type="string">neni</podacicislo>
26
+ <pocetstranek type="integer">1</pocetstranek>
27
+ <datumpodani type="datetime">2011-05-21 15:15:41</datumpodani>
28
+ <cena mena="CZK" type="decimal">12.60</cena>
29
+ <barvatisku type="integer">0</barvatisku>
30
+ <platba type="integer">0</platba>
31
+ <typvyplatneho type="integer">66</typvyplatneho>
32
+ <zpracovani type="integer">50</zpracovani>
33
+ <stav type="integer">0</stav>
34
+ </zakazka>
35
+ </dopisonline>
data/test/test_helper.rb CHANGED
@@ -1,11 +1,10 @@
1
1
  require 'rubygems'
2
2
  require 'test/unit'
3
3
  require 'shoulda'
4
- require 'matchy'
4
+ require 'turn' unless ENV["TM_FILEPATH"]
5
5
 
6
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
- $LOAD_PATH.unshift(File.dirname(__FILE__))
8
6
  require 'dopis_online_client'
9
7
 
10
- class Test::Unit::TestCase
11
- end
8
+ require "fakeweb"
9
+
10
+ FakeWeb.allow_net_connect = false
@@ -0,0 +1,26 @@
1
+ require 'test_helper'
2
+
3
+ module DopisOnlineClient
4
+ class DopisOnlineClientTest < Test::Unit::TestCase
5
+
6
+ context "Client" do
7
+ setup do
8
+ DopisOnlineClient.base_uri 'http://mujdopisonline.cz/odeslat'
9
+ DopisOnlineClient.auth("mojejmeno", "mojeheslo")
10
+ end
11
+
12
+ should "have base_url set" do
13
+ assert_equal "http://mujdopisonline.cz/odeslat", DopisOnlineClient.base_uri
14
+ end
15
+
16
+ should "have username set" do
17
+ assert_equal "mojejmeno", DopisOnlineClient.username
18
+ end
19
+
20
+ should "have password set" do
21
+ assert_equal "mojeheslo", DopisOnlineClient.password
22
+ end
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,23 @@
1
+ require 'test_helper'
2
+
3
+ module DopisOnlineClient
4
+ class RequestTest < Test::Unit::TestCase
5
+
6
+ context "Request#deliver" do
7
+
8
+ setup do
9
+ FakeWeb.register_uri(:post, "https://online3.postservis.cz/cmdedopis/dopisonline.php", :body => File.read(File.join(File.dirname(__FILE__),'../fixtures/success.xml')))
10
+
11
+ DopisOnlineClient.base_uri 'https://online3.postservis.cz/cmdedopis'
12
+ DopisOnlineClient.auth('jmeno','heslo')
13
+ @response = DopisOnlineClient::Request.new(:pdf_file_path=>File.join(File.dirname(__FILE__),'../fixtures/letter.pdf')).deliver
14
+ end
15
+
16
+ should "return DopisOnlineClient::Response" do
17
+ assert_equal true, @response.kind_of?(DopisOnlineClient::Response)
18
+ end
19
+
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,41 @@
1
+ require 'test_helper'
2
+
3
+ module DopisOnlineClient
4
+ class ResponseTest < Test::Unit::TestCase
5
+
6
+ should "parse success correctly" do
7
+ response = load_response_from_file("success.xml")
8
+
9
+ assert_equal 200, response.code
10
+ assert_equal true, response.success?
11
+
12
+ assert_equal 0, response.failure_code
13
+ assert_nil response.failure_message
14
+
15
+ assert_equal "testing.pdf", response.filename
16
+ assert_equal 1, response.pages_count
17
+ assert_equal 20090608050001, response.order_code
18
+ assert_equal "", response.tracking_number
19
+ # assert_equal Date.parse("2009-06-08"), response.success_result["datumpodani"]
20
+ assert_not_nil response.price
21
+ assert_equal false, response.color
22
+ assert_equal 67, response.shipping_method
23
+ end
24
+
25
+ should "parse failure correctly" do
26
+ response = load_response_from_file("failure.xml")
27
+
28
+ assert_equal 200, response.code
29
+ assert_equal false, response.success?
30
+ assert_equal 8, response.failure_code
31
+ assert_not_nil response.failure_message
32
+ end
33
+
34
+ def load_response_from_file(filename)
35
+ body = File.read(File.join(File.dirname(__FILE__),'../fixtures',filename))
36
+ parsed_response = Crack::XML.parse(body)
37
+ DopisOnlineClient::Response.new(parsed_response, body, 200)
38
+ end
39
+
40
+ end
41
+ end
@@ -0,0 +1,22 @@
1
+ require 'test_helper'
2
+
3
+ module DopisOnlineClient
4
+ class StatusRequestTest < Test::Unit::TestCase
5
+
6
+ context "Request#deliver" do
7
+
8
+ setup do
9
+ FakeWeb.register_uri(:post, "https://online3.postservis.cz/cmdedopis/eprehledZak.php", :body => File.read(File.join(File.dirname(__FILE__),'../fixtures/status.xml')))
10
+ DopisOnlineClient.base_uri 'https://online3.postservis.cz/cmdedopis'
11
+ DopisOnlineClient.auth('jmeno','heslo')
12
+ @response = DopisOnlineClient::StatusRequest.new(:date=>"20110521").deliver
13
+ end
14
+
15
+ should "return response" do
16
+ assert_not_nil @response
17
+ end
18
+
19
+ end
20
+
21
+ end
22
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dopis_online_client
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 0.1.0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jiri Kubicek
@@ -15,31 +15,156 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2009-09-30 00:00:00 +02:00
18
+ date: 2011-05-21 00:00:00 +02:00
19
19
  default_executable:
20
- dependencies: []
21
-
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rake
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 63
30
+ segments:
31
+ - 0
32
+ - 8
33
+ - 0
34
+ version: 0.8.0
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: bundler
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 23
46
+ segments:
47
+ - 1
48
+ - 0
49
+ - 0
50
+ version: 1.0.0
51
+ type: :runtime
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: httmultiparty
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ hash: 3
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ type: :runtime
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ name: turn
69
+ prerelease: false
70
+ requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ hash: 3
76
+ segments:
77
+ - 0
78
+ version: "0"
79
+ type: :development
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: shoulda
83
+ prerelease: false
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ type: :development
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
96
+ name: sdoc
97
+ prerelease: false
98
+ requirement: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ hash: 3
104
+ segments:
105
+ - 0
106
+ version: "0"
107
+ type: :development
108
+ version_requirements: *id006
109
+ - !ruby/object:Gem::Dependency
110
+ name: rcov
111
+ prerelease: false
112
+ requirement: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 3
118
+ segments:
119
+ - 0
120
+ version: "0"
121
+ type: :development
122
+ version_requirements: *id007
123
+ - !ruby/object:Gem::Dependency
124
+ name: fakeweb
125
+ prerelease: false
126
+ requirement: &id008 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ hash: 3
132
+ segments:
133
+ - 0
134
+ version: "0"
135
+ type: :development
136
+ version_requirements: *id008
22
137
  description: "Klientsk\xC3\xA1 knihovna pro pr\xC3\xA1ci se slu\xC5\xBEbou Dopis Online \xC4\x8Cesk\xC3\xA9 po\xC5\xA1ty"
23
- email: jiri.kubicek@kraxnet.cz
138
+ email:
139
+ - jiri.kubicek@kraxnet.cz
24
140
  executables: []
25
141
 
26
142
  extensions: []
27
143
 
28
144
  extra_rdoc_files:
29
- - LICENSE
30
145
  - README.rdoc
146
+ - LICENSE
31
147
  files:
148
+ - .gitignore
149
+ - Gemfile
32
150
  - LICENSE
33
151
  - README.rdoc
34
152
  - Rakefile
35
- - VERSION
153
+ - dopis_online_client.gemspec
36
154
  - lib/dopis_online_client.rb
37
155
  - lib/dopis_online_client/request.rb
38
156
  - lib/dopis_online_client/response.rb
39
- - test/dopis_online_response_test.rb
157
+ - lib/dopis_online_client/status_request.rb
158
+ - lib/dopis_online_client/version.rb
40
159
  - test/fixtures/failure.xml
160
+ - test/fixtures/letter.pdf
161
+ - test/fixtures/status.xml
41
162
  - test/fixtures/success.xml
42
163
  - test/test_helper.rb
164
+ - test/unit/dopis_online_client_test.rb
165
+ - test/unit/request_test.rb
166
+ - test/unit/response_test.rb
167
+ - test/unit/status_request_test.rb
43
168
  has_rdoc: true
44
169
  homepage: http://github.com/kraxnet/dopis_online_client
45
170
  licenses: []
@@ -63,17 +188,26 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
188
  requirements:
64
189
  - - ">="
65
190
  - !ruby/object:Gem::Version
66
- hash: 3
191
+ hash: 23
67
192
  segments:
68
- - 0
69
- version: "0"
193
+ - 1
194
+ - 3
195
+ - 6
196
+ version: 1.3.6
70
197
  requirements: []
71
198
 
72
- rubyforge_project:
199
+ rubyforge_project: dopis_online_client
73
200
  rubygems_version: 1.6.2
74
201
  signing_key:
75
202
  specification_version: 3
76
203
  summary: Dopis Online Client Library
77
204
  test_files:
78
- - test/dopis_online_response_test.rb
205
+ - test/fixtures/failure.xml
206
+ - test/fixtures/letter.pdf
207
+ - test/fixtures/status.xml
208
+ - test/fixtures/success.xml
79
209
  - test/test_helper.rb
210
+ - test/unit/dopis_online_client_test.rb
211
+ - test/unit/request_test.rb
212
+ - test/unit/response_test.rb
213
+ - test/unit/status_request_test.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.1.0
@@ -1,38 +0,0 @@
1
- require 'test_helper'
2
-
3
- class DopisOnlineResponseTest < Test::Unit::TestCase
4
-
5
- should "parse success correctly" do
6
- response = load_response_from_file("success.xml")
7
-
8
- response.code.should == 200
9
- response.success?.should == true
10
-
11
- response.failure_code.should == 0
12
- response.failure_message.should == nil
13
-
14
- response.filename.should == "testing.pdf"
15
- response.pages_count.should == 1
16
- response.order_code.should == 20090608050001
17
- response.tracking_number.should == ""
18
- response.datumpodani.should == Date.parse("2009-06-08")
19
- response.price.should_not == nil
20
- response.color.should == false
21
- response.shipping_method.should == 67
22
- end
23
-
24
- should "parse failure correctly" do
25
- response = load_response_from_file("failure.xml")
26
-
27
- response.code.should == 200
28
- response.success?.should == false
29
- response.failure_code.should == 8
30
- response.failure_message.should_not == nil
31
- end
32
-
33
- def load_response_from_file(filename)
34
- body = File.read(File.join(File.dirname(__FILE__),'fixtures',filename))
35
- parsed_response = Crack::XML.parse(body)
36
- DopisOnlineClient::Response.new(parsed_response, body, 200)
37
- end
38
- end