rbraspag 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,53 +2,128 @@
2
2
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
3
 
4
4
  describe Braspag::Connection do
5
- let!(:connection) { Braspag::Connection }
6
5
  let!(:merchant_id) { "{12345678-1234-1234-1234-123456789000}" }
6
+ let!(:braspag_url) { "https://homologacao.pagador.com.br" }
7
+ let!(:crypto_key) {"{84BE7E7F-698A-6C74-F820-AE359C2A07C2}"}
8
+ let!(:crypto_url) {"http://localhost:9292"}
7
9
 
8
- it "deve gerar uma exceção quando :merchantId for maior que 38 caracteres" do
9
- merchant_id = (1..100).collect{"A"}.join
10
- expect { connection.new(merchant_id) }.should raise_error(Braspag::Connection::InvalidMerchantId)
10
+ let!(:mock_for_connection) {
11
+ mock = {}
12
+ mock[ENV["RACK_ENV"]] = {
13
+ "merchant_id" => merchant_id,
14
+ "braspag_url" => braspag_url,
15
+ "crypto_key" => crypto_key,
16
+ "crypto_url" => crypto_url
17
+ }
18
+ mock
19
+ }
20
+
21
+ before(:all) do
22
+ @connection = Braspag::Connection.clone
11
23
  end
12
24
 
13
- it "deve gerar uma exceção quando :merchantId for menor que 38 caracteres" do
14
- merchant_id = (1..37).collect{"B"}.join
15
- expect { connection.new(merchant_id) }.should raise_error(Braspag::Connection::InvalidMerchantId)
25
+ it "should read config/braspag.yml when alloc first instance" do
26
+ YAML.should_receive(:load_file).with("config/braspag.yml").and_return(mock_for_connection)
27
+ @connection.instance
16
28
  end
17
29
 
18
- it "deve gerar uma exceção quando :merchantId não seguir o formato {00000000-0000-0000-0000-000000000000}" do
19
- expect { connection.new("0000000-0000-0000-0000-000000000000") }.should raise_error(Braspag::Connection::InvalidMerchantId)
20
- expect { connection.new("{000000000000000000000000000000000000}") }.should raise_error(Braspag::Connection::InvalidMerchantId)
30
+ it "should not read config/braspag.yml when alloc second instance" do
31
+ YAML.should_not_receive(:load_file)
32
+ @connection.instance
33
+ end
21
34
 
22
- expect { connection.new(merchant_id) }.should_not raise_error
35
+ it "should generate exception when RACK_ENV is nil" do
36
+ backup = ENV["RACK_ENV"].clone
37
+ ENV["RACK_ENV"] = nil
38
+ expect {
39
+ other_connection = Braspag::Connection.clone
40
+ other_connection.instance
41
+ }.should raise_error(Braspag::Connection::InvalidEnv)
42
+ ENV["RACK_ENV"] = backup
23
43
  end
24
44
 
25
- it "deve inicializar dado um ambiente e o id da loja" do
26
- expect { connection.new(merchant_id, :test) }.should_not raise_error
45
+ it "should generate exception when RACK_ENV is empty" do
46
+ backup = ENV["RACK_ENV"].clone
47
+ ENV["RACK_ENV"] = ""
48
+ expect {
49
+ other_connection = Braspag::Connection.clone
50
+ other_connection.instance
51
+ }.should raise_error(Braspag::Connection::InvalidEnv)
52
+ ENV["RACK_ENV"] = backup
27
53
  end
28
54
 
29
- it "deve inicializar dado um id da loja" do
30
- expect { connection.new(merchant_id) }.should_not raise_error
55
+
56
+ it "should generate exception when :merchant_id is more than 38 chars" do
57
+ mock_merchant = mock_for_connection
58
+ mock_merchant[ENV["RACK_ENV"]]["merchant_id"] = (1..100).collect{"A"}.join
59
+ YAML.should_receive(:load_file).with("config/braspag.yml").and_return(mock_merchant)
60
+ other_connection = Braspag::Connection.clone
61
+
62
+ expect { other_connection.instance }.should raise_error(Braspag::Connection::InvalidMerchantId)
31
63
  end
32
64
 
33
- it "deve entender que o ambiente é produção quando nehum for especificado" do
34
- connection.new(merchant_id).environment.should eql(Braspag::Production)
65
+ it "should generate exception when :merchant_id is less than 38 chars" do
66
+ mock_merchant = mock_for_connection
67
+ mock_merchant[ENV["RACK_ENV"]]["merchant_id"] = (1..37).collect{"B"}.join
68
+ YAML.should_receive(:load_file).with("config/braspag.yml").and_return(mock_merchant)
69
+ other_connection = Braspag::Connection.clone
70
+
71
+ expect { other_connection.instance }.should raise_error(Braspag::Connection::InvalidMerchantId)
35
72
  end
36
73
 
37
- it "deve entender que o ambiente é teste quando for especificado staging" do
38
- connection.new(merchant_id, 'staging').environment.should eql(Braspag::Test)
74
+ context "should generate exception when :merchant_id not follow format {00000000-0000-0000-0000-000000000000}" do
75
+ it "0000000-0000-0000-0000-000000000000" do
76
+ mock_merchant = mock_for_connection
77
+ mock_merchant[ENV["RACK_ENV"]]["merchant_id"] = "0000000-0000-0000-0000-000000000000"
78
+ YAML.should_receive(:load_file).with("config/braspag.yml").and_return(mock_merchant)
79
+ other_connection = Braspag::Connection.clone
80
+ expect { other_connection.instance }.should raise_error(Braspag::Connection::InvalidMerchantId)
81
+ end
82
+
83
+ it "{000000000000000000000000000000000000}" do
84
+ mock_merchant = mock_for_connection
85
+ mock_merchant[ENV["RACK_ENV"]]["merchant_id"] = "{000000000000000000000000000000000000}"
86
+ YAML.should_receive(:load_file).with("config/braspag.yml").and_return(mock_merchant)
87
+ other_connection = Braspag::Connection.clone
88
+ expect { other_connection.instance }.should raise_error(Braspag::Connection::InvalidMerchantId)
89
+ end
39
90
  end
40
91
 
41
- it "deve reconhecer a url do ambiente de teste" do
42
- connection.new(merchant_id, :test).base_url.should eql(Braspag::Test::BASE_URL)
92
+ it "should :merchant_id has correct in instance" do
93
+ new_connection = @connection.instance
94
+ new_connection.merchant_id.should == merchant_id
43
95
  end
44
96
 
45
- it "deve reconhecer a url do ambiente de produção" do
46
- connection.new(merchant_id, :production).base_url.should eql(Braspag::Production::BASE_URL)
97
+ it "should generate exception when :braspag_url is nil" do
98
+ mock_merchant = mock_for_connection
99
+ mock_merchant[ENV["RACK_ENV"]]["braspag_url"] = nil
100
+ YAML.should_receive(:load_file).with("config/braspag.yml").and_return(mock_merchant)
101
+ other_connection = Braspag::Connection.clone
102
+
103
+ expect { other_connection.instance }.should raise_error(Braspag::Connection::InvalidBraspagUrl)
47
104
  end
48
105
 
49
- it "deve devolver o merchant id utilizado na conexão" do
50
- connection.new(merchant_id).merchant_id.should eql(merchant_id)
106
+ it "should generate exception when :braspag_url is empty" do
107
+ mock_merchant = mock_for_connection
108
+ mock_merchant[ENV["RACK_ENV"]]["braspag_url"] = ""
109
+ YAML.should_receive(:load_file).with("config/braspag.yml").and_return(mock_merchant)
110
+ other_connection = Braspag::Connection.clone
111
+
112
+ expect { other_connection.instance }.should raise_error(Braspag::Connection::InvalidBraspagUrl)
113
+ end
114
+
115
+ it "should :braspag_url has correct in instance" do
116
+ new_connection = @connection.instance
117
+ new_connection.braspag_url.should == braspag_url
51
118
  end
52
-
53
119
 
120
+ it "should :crypto_url has correct in instance" do
121
+ new_connection = @connection.instance
122
+ new_connection.crypto_url.should == crypto_url
123
+ end
124
+
125
+ it "should :crypto_key has correct in instance" do
126
+ new_connection = @connection.instance
127
+ new_connection.crypto_key.should == crypto_key
128
+ end
54
129
  end
@@ -2,25 +2,12 @@
2
2
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
3
 
4
4
  describe Braspag::CreditCard do
5
-
6
- let!(:merchant_id) { "{84BE7E7F-698A-6C74-F820-AE359C2A07C2}" }
7
- let!(:connection) { Braspag::Connection.new(merchant_id, :test) }
8
-
9
- describe ".new" do
10
-
11
- it "should raise an error when no connection is given" do
12
- expect {
13
- Braspag::CreditCard.new(Object.new)
14
- }.to raise_error(Braspag::InvalidConnection)
15
- end
16
-
17
- end
5
+ let!(:braspag_url) { "https://homologacao.pagador.com.br" }
18
6
 
19
7
  describe ".authorize" do
20
-
21
8
  it "should raise an error when :order_id is not present" do
22
9
  expect {
23
- Braspag::CreditCard.new(connection).authorize({
10
+ Braspag::CreditCard.authorize({
24
11
  :customer_name => "W" * 21,
25
12
  :amount => "100.00",
26
13
  :payment_method => :redecard,
@@ -36,7 +23,7 @@ describe Braspag::CreditCard do
36
23
 
37
24
  it "should raise an error when :customer_name is not present" do
38
25
  expect {
39
- Braspag::CreditCard.new(connection).authorize({
26
+ Braspag::CreditCard.authorize({
40
27
  :order_id => "1" * 5,
41
28
  :amount => "100.00",
42
29
  :payment_method => :redecard,
@@ -52,7 +39,7 @@ describe Braspag::CreditCard do
52
39
 
53
40
  it "should raise an error when :amount is not present" do
54
41
  expect {
55
- Braspag::CreditCard.new(connection).authorize({
42
+ Braspag::CreditCard.authorize({
56
43
  :order_id => "1" * 5,
57
44
  :customer_name => "",
58
45
  :payment_method => :redecard,
@@ -68,7 +55,7 @@ describe Braspag::CreditCard do
68
55
 
69
56
  it "should raise an error when :payment_method is not present" do
70
57
  expect {
71
- Braspag::CreditCard.new(connection).authorize({
58
+ Braspag::CreditCard.authorize({
72
59
  :order_id => "1" * 5,
73
60
  :customer_name => "",
74
61
  :amount => "100.00",
@@ -84,7 +71,7 @@ describe Braspag::CreditCard do
84
71
 
85
72
  it "should raise an error when :holder is not present" do
86
73
  expect {
87
- Braspag::CreditCard.new(connection).authorize({
74
+ Braspag::CreditCard.authorize({
88
75
  :order_id => "1" * 5,
89
76
  :customer_name => "",
90
77
  :payment_method => :redecard,
@@ -100,7 +87,7 @@ describe Braspag::CreditCard do
100
87
 
101
88
  it "should raise an error when :card_number is not present" do
102
89
  expect {
103
- Braspag::CreditCard.new(connection).authorize({
90
+ Braspag::CreditCard.authorize({
104
91
  :order_id => "1" * 5,
105
92
  :customer_name => "",
106
93
  :payment_method => :redecard,
@@ -116,7 +103,7 @@ describe Braspag::CreditCard do
116
103
 
117
104
  it "should raise an error when :expiration is not present" do
118
105
  expect {
119
- Braspag::CreditCard.new(connection).authorize({
106
+ Braspag::CreditCard.authorize({
120
107
  :order_id => "1" * 5,
121
108
  :customer_name => "",
122
109
  :payment_method => :redecard,
@@ -132,7 +119,7 @@ describe Braspag::CreditCard do
132
119
 
133
120
  it "should raise an error when :security_code is not present" do
134
121
  expect {
135
- Braspag::CreditCard.new(connection).authorize({
122
+ Braspag::CreditCard.authorize({
136
123
  :order_id => "1" * 5,
137
124
  :customer_name => "AAAAAAAA",
138
125
  :payment_method => :redecard,
@@ -148,7 +135,7 @@ describe Braspag::CreditCard do
148
135
 
149
136
  it "should raise an error when :number_payments is not present" do
150
137
  expect {
151
- Braspag::CreditCard.new(connection).authorize({
138
+ Braspag::CreditCard.authorize({
152
139
  :order_id => "1" * 5,
153
140
  :customer_name => "AAAAAAAA",
154
141
  :payment_method => :redecard,
@@ -163,7 +150,7 @@ describe Braspag::CreditCard do
163
150
 
164
151
  it "should raise an error when :type is not present" do
165
152
  expect {
166
- Braspag::CreditCard.new(connection).authorize({
153
+ Braspag::CreditCard.authorize({
167
154
  :order_id => "1" * 5,
168
155
  :customer_name => "AAAAAAAA",
169
156
  :payment_method => :redecard,
@@ -195,7 +182,7 @@ describe Braspag::CreditCard do
195
182
  expect {
196
183
  params = valid_params
197
184
  params[:order_id] = "A" * 21
198
- Braspag::CreditCard.new(connection).authorize(params)
185
+ Braspag::CreditCard.authorize(params)
199
186
  }.to raise_error(Braspag::InvalidOrderId)
200
187
  end
201
188
 
@@ -203,7 +190,7 @@ describe Braspag::CreditCard do
203
190
  expect {
204
191
  params = valid_params
205
192
  params[:customer_name] = "B" * 101
206
- Braspag::CreditCard.new(connection).authorize(params)
193
+ Braspag::CreditCard.authorize(params)
207
194
  }.to raise_error(Braspag::InvalidCustomerName)
208
195
  end
209
196
 
@@ -211,7 +198,7 @@ describe Braspag::CreditCard do
211
198
  expect {
212
199
  params = valid_params
213
200
  params[:amount] = "1234567890,00"
214
- Braspag::CreditCard.new(connection).authorize(params)
201
+ Braspag::CreditCard.authorize(params)
215
202
  }.to raise_error(Braspag::InvalidAmount)
216
203
  end
217
204
 
@@ -219,7 +206,7 @@ describe Braspag::CreditCard do
219
206
  expect {
220
207
  params = valid_params
221
208
  params[:holder] = "E" * 101
222
- Braspag::CreditCard.new(connection).authorize(params)
209
+ Braspag::CreditCard.authorize(params)
223
210
  }.to raise_error(Braspag::InvalidHolder)
224
211
  end
225
212
 
@@ -227,7 +214,7 @@ describe Braspag::CreditCard do
227
214
  expect {
228
215
  params = valid_params
229
216
  params[:expiration] = "7" * 8
230
- Braspag::CreditCard.new(connection).authorize(params)
217
+ Braspag::CreditCard.authorize(params)
231
218
  }.to raise_error(Braspag::InvalidExpirationDate)
232
219
  end
233
220
 
@@ -235,7 +222,7 @@ describe Braspag::CreditCard do
235
222
  expect {
236
223
  params = valid_params
237
224
  params[:security_code] = "9" * 5
238
- Braspag::CreditCard.new(connection).authorize(params)
225
+ Braspag::CreditCard.authorize(params)
239
226
  }.to raise_error(Braspag::InvalidSecurityCode)
240
227
  end
241
228
 
@@ -243,7 +230,7 @@ describe Braspag::CreditCard do
243
230
  expect {
244
231
  params = valid_params
245
232
  params[:number_payments] = "123"
246
- Braspag::CreditCard.new(connection).authorize(params)
233
+ Braspag::CreditCard.authorize(params)
247
234
  }.to raise_error(Braspag::InvalidNumberPayments)
248
235
  end
249
236
 
@@ -251,7 +238,7 @@ describe Braspag::CreditCard do
251
238
  expect {
252
239
  params = valid_params
253
240
  params[:type] = "123"
254
- Braspag::CreditCard.new(connection).authorize(params)
241
+ Braspag::CreditCard.authorize(params)
255
242
  }.to raise_error(Braspag::InvalidType)
256
243
  end
257
244
 
@@ -287,9 +274,9 @@ describe Braspag::CreditCard do
287
274
  </PagadorReturn>
288
275
  EOXML
289
276
 
290
- FakeWeb.register_uri(:post, "#{Braspag::Test::BASE_URL}/webservices/pagador/Pagador.asmx/Authorize", :body => xml)
277
+ FakeWeb.register_uri(:post, "#{braspag_url}/webservices/pagador/Pagador.asmx/Authorize", :body => xml)
291
278
 
292
- result = Braspag::CreditCard.new(connection).authorize(params)
279
+ result = Braspag::CreditCard.authorize(params)
293
280
  result[:status].should == "1"
294
281
 
295
282
  FakeWeb.clean_registry
@@ -315,9 +302,9 @@ describe Braspag::CreditCard do
315
302
  </PagadorReturn>
316
303
  EOXML
317
304
 
318
- FakeWeb.register_uri(:post, "#{Braspag::Test::BASE_URL}/webservices/pagador/Pagador.asmx/Authorize", :body => xml)
305
+ FakeWeb.register_uri(:post, "#{braspag_url}/webservices/pagador/Pagador.asmx/Authorize", :body => xml)
319
306
 
320
- result = Braspag::CreditCard.new(connection).authorize(invalid_params)
307
+ result = Braspag::CreditCard.authorize(invalid_params)
321
308
  result[:status].should == "2"
322
309
 
323
310
  FakeWeb.clean_registry
@@ -344,9 +331,9 @@ describe Braspag::CreditCard do
344
331
  </PagadorReturn>
345
332
  EOXML
346
333
 
347
- FakeWeb.register_uri(:post, "#{Braspag::Test::BASE_URL}/webservices/pagador/Pagador.asmx/Authorize", :body => xml)
334
+ FakeWeb.register_uri(:post, "#{braspag_url}/webservices/pagador/Pagador.asmx/Authorize", :body => xml)
348
335
 
349
- result = Braspag::CreditCard.new(connection).authorize(invalid_params)
336
+ result = Braspag::CreditCard.authorize(invalid_params)
350
337
  result[:status].should == "null"
351
338
 
352
339
  FakeWeb.clean_registry
@@ -360,7 +347,7 @@ describe Braspag::CreditCard do
360
347
 
361
348
  it "should raise an error when :order_id is more than 20 characters" do
362
349
  expect {
363
- Braspag::CreditCard.new(connection).capture(("A" * 21))
350
+ Braspag::CreditCard.capture(("A" * 21))
364
351
  }.to raise_error(Braspag::InvalidOrderId)
365
352
  end
366
353
 
@@ -377,9 +364,9 @@ describe Braspag::CreditCard do
377
364
  </PagadorReturn>
378
365
  EOXML
379
366
 
380
- FakeWeb.register_uri(:post, "#{Braspag::Test::BASE_URL}/webservices/pagador/Pagador.asmx/Capture", :body => xml)
367
+ FakeWeb.register_uri(:post, "#{braspag_url}/webservices/pagador/Pagador.asmx/Capture", :body => xml)
381
368
 
382
- result = Braspag::CreditCard.new(connection).capture('123456')
369
+ result = Braspag::CreditCard.capture('123456')
383
370
 
384
371
  result[:amount].should_not be_nil
385
372
  result[:message].should_not be_nil
@@ -404,9 +391,9 @@ describe Braspag::CreditCard do
404
391
  </PagadorReturn>
405
392
  EOXML
406
393
 
407
- FakeWeb.register_uri(:post, "#{Braspag::Test::BASE_URL}/webservices/pagador/Pagador.asmx/Capture", :body => xml)
394
+ FakeWeb.register_uri(:post, "#{braspag_url}/webservices/pagador/Pagador.asmx/Capture", :body => xml)
408
395
 
409
- result = Braspag::CreditCard.new(connection).capture('123456')
396
+ result = Braspag::CreditCard.capture('123456')
410
397
  result[:status].should == "0"
411
398
 
412
399
  FakeWeb.clean_registry
@@ -429,9 +416,9 @@ describe Braspag::CreditCard do
429
416
  </PagadorReturn>
430
417
  EOXML
431
418
 
432
- FakeWeb.register_uri(:post, "#{Braspag::Test::BASE_URL}/webservices/pagador/Pagador.asmx/Capture", :body => xml)
419
+ FakeWeb.register_uri(:post, "#{braspag_url}/webservices/pagador/Pagador.asmx/Capture", :body => xml)
433
420
 
434
- result = Braspag::CreditCard.new(connection).capture("1")
421
+ result = Braspag::CreditCard.capture("1")
435
422
  result[:status].should == "2"
436
423
 
437
424
  FakeWeb.clean_registry
@@ -454,9 +441,9 @@ describe Braspag::CreditCard do
454
441
  </PagadorReturn>
455
442
  EOXML
456
443
 
457
- FakeWeb.register_uri(:post, "#{Braspag::Test::BASE_URL}/webservices/pagador/Pagador.asmx/Capture", :body => xml)
444
+ FakeWeb.register_uri(:post, "#{braspag_url}/webservices/pagador/Pagador.asmx/Capture", :body => xml)
458
445
 
459
- result = Braspag::CreditCard.new(connection).capture("1234")
446
+ result = Braspag::CreditCard.capture("1234")
460
447
  result[:status].should == "null"
461
448
 
462
449
  FakeWeb.clean_registry
@@ -471,7 +458,89 @@ describe Braspag::CreditCard do
471
458
  end
472
459
  end
473
460
 
461
+
462
+ describe "#status" do
463
+ it "should raise an error when no order_id is given" do
464
+ expect {
465
+ Braspag::CreditCard.info(nil)
466
+ }.to raise_error(Braspag::InvalidOrderId)
467
+ end
468
+
469
+ it "should raise an error when order_id is empty" do
470
+ expect {
471
+ Braspag::CreditCard.info("")
472
+ }.to raise_error(Braspag::InvalidOrderId)
473
+ end
474
+
475
+ it "should raise an error when order_id is more than 50 characters" do
476
+ expect {
477
+ Braspag::CreditCard.info("1" * 51)
478
+ }.to raise_error(Braspag::InvalidOrderId)
479
+ end
480
+
481
+ it "should raise an error for incorrect data" do
482
+ xml = <<-EOXML
483
+ <?xml version="1.0" encoding="utf-8"?>
484
+ <DadosCartao xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
485
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
486
+ xsi:nil="true"
487
+ xmlns="http://www.pagador.com.br/" />
488
+ EOXML
489
+
490
+ FakeWeb.register_uri(:post, "#{braspag_url}/pagador/webservice/pedido.asmx/GetDadosCartao",
491
+ :body => xml)
492
+
493
+ expect {
494
+ Braspag::CreditCard.info("sadpoakjspodqdouq09wduwq")
495
+ }.to raise_error(Braspag::UnknownError)
496
+
497
+
498
+ expect {
499
+ Braspag::CreditCard.info("asdnasdniousa")
500
+ }.to raise_error(Braspag::UnknownError)
501
+
502
+ FakeWeb.clean_registry
503
+ end
504
+
505
+ context "with correct data" do
506
+
507
+ let(:order_info) {
508
+ xml = <<-EOXML
509
+ <DadosCartao xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.pagador.com.br/">
510
+ <NumeroComprovante>225296</NumeroComprovante>
511
+ <Autenticada>false</Autenticada>
512
+ <NumeroAutorizacao>557593</NumeroAutorizacao>
513
+ <NumeroCartao>345678*****0007</NumeroCartao>
514
+ <NumeroTransacao>101001225645</NumeroTransacao>
515
+ </DadosCartao>
516
+ EOXML
517
+
518
+ FakeWeb.register_uri(:post, "#{braspag_url}/pagador/webservice/pedido.asmx/GetDadosCartao",
519
+ :body => xml)
520
+ order_info = Braspag::CreditCard.info("12345")
521
+ FakeWeb.clean_registry
522
+ order_info
523
+ }
524
+
525
+ it "should return a Hash" do
526
+ order_info.should be_kind_of Hash
527
+ end
528
+
529
+ {
530
+ :checking_number => "225296",
531
+ :certified => "false",
532
+ :autorization_number => "557593",
533
+ :card_number => "345678*****0007",
534
+ :transaction_number => "101001225645"
535
+ }.each do |key, value|
536
+
537
+ it "should return a Hash with :#{key.to_s} key" do
538
+ order_info[key].should == value
539
+ end
540
+ end
541
+ end
474
542
  end
475
543
 
476
- end
477
544
 
545
+ end
546
+ end
@@ -2,10 +2,7 @@
2
2
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
3
3
 
4
4
  describe Braspag::Crypto::JarWebservice do
5
- let!(:crypto_key) {"{84BE7E7F-698A-6C74-F820-AE359C2A07C2}"}
6
- let!(:uri) {"http://localhost:9292"}
7
- let!(:crypt) {Braspag::Crypto::JarWebservice.new(crypto_key, uri)}
8
- let!(:crypt_invalid) {Braspag::Crypto::JarWebservice.new("00000", uri)}
5
+ let!(:crypt) {Braspag::Crypto::JarWebservice}
9
6
  let! (:key) {"5u0ZN5qk8eQNuuGPHrcsk0rfi7YclF6s+ZXCE+G4uG4ztfRJrrOALlf81ra7k7p7"}
10
7
 
11
8
  after (:each) do
@@ -90,7 +87,7 @@ INVALIDO
90
87
  )
91
88
 
92
89
  expect {
93
- crypt_invalid.encrypt(:venda => "value")
90
+ crypt.encrypt(:venda => "value")
94
91
  }.to raise_error(Braspag::InvalidCryptKey)
95
92
  end
96
93
 
@@ -182,7 +179,7 @@ INVALIDO
182
179
  )
183
180
 
184
181
  expect {
185
- crypt_invalid.decrypt(key, [:nome, :sobrenome])
182
+ crypt.decrypt(key, [:nome, :sobrenome])
186
183
  }.to raise_error(Braspag::InvalidCryptKey)
187
184
  end
188
185
 
@@ -2,11 +2,6 @@
2
2
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
3
3
 
4
4
  describe Braspag::Crypto::Webservice do
5
- let!(:merchant_id) {"{84BE7E7F-698A-6C74-F820-AE359C2A07C2}"}
6
- let!(:connection) {Braspag::Connection.new(merchant_id, :test)}
7
- let!(:connection_invalid) {Braspag::Connection.new("{83BE7E7F-698A-6C74-F820-AE359C2A07A1}", :test)}
8
- let!(:crypt) {Braspag::Crypto::Webservice.new(connection)}
9
- let!(:crypt_invalid) {Braspag::Crypto::Webservice.new(connection_invalid)}
10
5
 
11
6
  context "encrypt" do
12
7
  let!(:key) {"XXXXX"}
@@ -14,7 +9,7 @@ describe Braspag::Crypto::Webservice do
14
9
  context "consistencies" do
15
10
  it "should return error with invalid data" do
16
11
  expect {
17
- crypt.encrypt("INVALID DATA")
12
+ Braspag::Crypto::Webservice.encrypt("INVALID DATA")
18
13
  }.to raise_error(Braspag::IncompleteParams)
19
14
  end
20
15
 
@@ -26,7 +21,7 @@ EOXML
26
21
  "https://homologacao.pagador.com.br/BraspagGeneralService/BraspagGeneralService.asmx",
27
22
  :body => body_invalid )
28
23
  expect {
29
- crypt.encrypt(:key => "INVALID DATA")
24
+ Braspag::Crypto::Webservice.encrypt(:key => "INVALID DATA")
30
25
  }.to raise_error(Braspag::UnknownError)
31
26
  FakeWeb.clean_registry
32
27
  end
@@ -43,7 +38,7 @@ EOXML
43
38
  "https://homologacao.pagador.com.br/BraspagGeneralService/BraspagGeneralService.asmx",
44
39
  :body => body_invalid )
45
40
  expect {
46
- crypt.encrypt(:key => "value")
41
+ Braspag::Crypto::Webservice.encrypt(:key => "value")
47
42
  }.to raise_error(Braspag::InvalidMerchantId)
48
43
  FakeWeb.clean_registry
49
44
  end
@@ -60,7 +55,7 @@ EOXML
60
55
  "https://homologacao.pagador.com.br/BraspagGeneralService/BraspagGeneralService.asmx",
61
56
  :body => body_invalid )
62
57
  expect {
63
- crypt.encrypt(:key => "value")
58
+ Braspag::Crypto::Webservice.encrypt(:key => "value")
64
59
  }.to raise_error(Braspag::InvalidIP)
65
60
  FakeWeb.clean_registry
66
61
  end
@@ -79,7 +74,7 @@ EOXML
79
74
  </soap:Body></soap:Envelope>
80
75
  EOXML
81
76
  )
82
- crypt.encrypt(:key => "value").should == key
77
+ Braspag::Crypto::Webservice.encrypt(:key => "value").should == key
83
78
  FakeWeb.clean_registry
84
79
  end
85
80
  end
@@ -89,7 +84,7 @@ EOXML
89
84
  context "consistencies" do
90
85
  it "should return error with invalid data" do
91
86
  expect {
92
- crypt.decrypt(1213123)
87
+ Braspag::Crypto::Webservice.decrypt(1213123)
93
88
  }.to raise_error(Braspag::IncompleteParams)
94
89
  end
95
90
 
@@ -101,28 +96,11 @@ EOXML
101
96
  "https://homologacao.pagador.com.br/BraspagGeneralService/BraspagGeneralService.asmx",
102
97
  :body => body_invalid )
103
98
  expect {
104
- crypt.decrypt("{sdfsdf34543534}")
99
+ Braspag::Crypto::Webservice.decrypt("{sdfsdf34543534}")
105
100
  }.to raise_error(Braspag::UnknownError)
106
101
  FakeWeb.clean_registry
107
102
  end
108
103
 
109
- it "should return error with invalid merchant_id" do
110
- body_invalid = <<-EOXML
111
- <?xml version="1.0" encoding="utf-8"?>
112
- <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
113
- <soap:Body><DecryptRequestResponse xmlns="https://www.pagador.com.br/webservice/BraspagGeneralService">
114
- <DecryptRequestResult><string>Erro BP 011</string></DecryptRequestResult>
115
- </DecryptRequestResponse></soap:Body></soap:Envelope>
116
- EOXML
117
- FakeWeb.register_uri(:post,
118
- "https://homologacao.pagador.com.br/BraspagGeneralService/BraspagGeneralService.asmx",
119
- :body => body_invalid )
120
- expect {
121
- crypt_invalid.decrypt("{sdfsdf34543534}")
122
- }.to raise_error(Braspag::InvalidMerchantId)
123
- FakeWeb.clean_registry
124
- end
125
-
126
104
  it "should return error with invalid ip" do
127
105
  body_invalid = <<-EOXML
128
106
  <?xml version="1.0" encoding="utf-8"?>
@@ -135,7 +113,7 @@ EOXML
135
113
  "https://homologacao.pagador.com.br/BraspagGeneralService/BraspagGeneralService.asmx",
136
114
  :body => body_invalid )
137
115
  expect {
138
- crypt.decrypt("{sdfsdf34543534}")
116
+ Braspag::Crypto::Webservice.decrypt("{sdfsdf34543534}")
139
117
  }.to raise_error(Braspag::InvalidIP)
140
118
  FakeWeb.clean_registry
141
119
  end
@@ -157,7 +135,7 @@ EOXML
157
135
  </soap:Body></soap:Envelope>
158
136
  EOXML
159
137
  )
160
- crypt.decrypt("{sdfsdf34543534}")[:parcelas].should eql("1")
138
+ Braspag::Crypto::Webservice.decrypt("{sdfsdf34543534}")[:parcelas].should eql("1")
161
139
  FakeWeb.clean_registry
162
140
  end
163
141